package workstack // Workstack or ws for short is a program that manages To-Do's in a stack-based fashion. It tries // to guide your focus to your three most important tasks such that you do not get distracted by // other tasks. // Task have a Do state where they are on the stack and a Done state when they are archived. import ( "fmt" "os" "time" ) type TaskDone struct { Task Task Date time.Time } type Tag string type Task struct { Text string Tag Tag } func (t TaskDone) String() string { return fmt.Sprintf("(%s) %s", t.Date.Format(DateLayout), t.Task) } func (t Task) String() string { if t.Tag != "" { return fmt.Sprintf("{%s} %s", t.Tag, t.Text) } else { return fmt.Sprintf("%s", t.Text) } } var ( DateLayout string = "15:04:05 02/01/2006" ) const ( TASK_LIST_COUNT = 5 GOBDATA_FILENAME = "workstack.gob" ) func GetGobdataPath() string { p := os.Getenv("HOME") if p == "" { panic("HOME var not set.") } return p + "/sync/share/" + GOBDATA_FILENAME }