package main import ( "fmt" "flag" _ "log" //"bufio" "os" //"strings" _ "os/exec" //"github.com/fatih/color" ) //var svar string var starttime,stoptime string var projectid, edittaskid, editprojectid int var newproject, newtask, stoptask, allproj, runinter bool //var red, green, yellow, cyan color //var boldRed, boldGreen color func init() { //red := color.New(color.FgRed).SprintFunc //green := color.New(color.FgGreen) //yellow := color.New(color.FgYellow) //use of package color without selectorcyan := color.New(color.FgCyan) //boldGreen := color.New(color.FgGreen, color.Bold) //boldRed := color.New(color.FgRed, color.Bold) flag.BoolVar(&allproj, "all", false, "Show all Projects") flag.BoolVar(&runinter, "run", false, "Run in Interactive mode") flag.BoolVar(&newtask, "startnow", false, "Start a new Task in current project") flag.IntVar(&edittaskid, "edittask", 0, "Specify which Task to edit") flag.IntVar(&editprojectid, "editproject", 0, "Specify which project to edit") flag.IntVar(&projectid, "project", 0, "Specify which project to track") flag.BoolVar(&stoptask, "stopnow", false, "Stop the currently open task") flag.StringVar(&starttime, "start", "now", "Start a new Task in current project\nFormat: 'YYYY-MM-DD HH:MM' or 'HH:MM'") flag.StringVar(&stoptime, "stop", "now", "Stop to Track the current Task\nFormat: 'YYYY-MM-DD HH:MM' or 'HH:MM'") flag.BoolVar(&newproject, "new", false, "Create a new project") //flag.StringVar(&svar, "svar", "bar", "A String Var") flag.Parse() } func stdOut() { showLastProject() getClosedTasks(0) showOpenTask() } func main() { if len(flag.Args())>0 { fmt.Println("Unknown Commands: ",flag.Args()) } fmt.Println("Laboravi Started") initDB("./.mytimes.db") getLastProject() //getProjects() getOpenTask() if allproj { allProjects() } if runinter { interact() } if newproject { newProject() os.Exit(0) } else if newtask { newTask(projectid) stdOut() //showLastProject() //getClosedTasks(0) //showOpenTask() //os.Exit(0) } else if stoptask { closeTask() stdOut() //showLastProject() //getClosedTasks(0) //showOpenTask() } else if (starttime != "now") { newTaskTime(projectid,starttime) os.Exit(0) } else if (stoptime != "now") { closeTaskTime(stoptime) stdOut() //showLastProject() //getClosedTasks(0) //showOpenTask() } else if (edittaskid>0) { editTask(edittaskid) } else if (editprojectid>0) { editProject(editprojectid) } else if (projectid>0) { setProject(projectid) stdOut() //showLastProject() //getClosedTasks(0) //showOpenTask() } else { //showLastProject() //getClosedTasks(0) //showOpenTask() stdOut() } //fmt.Println("Start Act:",actstart) //fmt.Println("Stop Act:",actstop) //fmt.Println("Project:",projectid) //fmt.Println("New Project:",newproject) //fmt.Println("svar:",svar) //fmt.Println("Unknown Commands: ",flag.Args()) }