aboutsummaryrefslogtreecommitdiff
path: root/workstack.go
diff options
context:
space:
mode:
Diffstat (limited to 'workstack.go')
-rw-r--r--workstack.go42
1 files changed, 30 insertions, 12 deletions
diff --git a/workstack.go b/workstack.go
index 45b5d67..bfff166 100644
--- a/workstack.go
+++ b/workstack.go
@@ -8,6 +8,7 @@ package workstack
import (
"fmt"
"os"
+ "strings"
"time"
)
@@ -19,30 +20,47 @@ type TaskDone struct {
type Tag string
type Task struct {
- Text string
- Tag Tag
+ Text string
+ Description string
+ Tag Tag
}
+var (
+ DateLayout string = "15:04:05 02/01/2006"
+)
+
+const (
+ TASK_LIST_COUNT = 5
+ GOBDATA_FILENAME = "tasks.gob"
+)
+
+// For formatting
+const (
+ RESET = "\033[0m"
+ CYAN = "\033[36m"
+ DESCRIPTION_PAD = " "
+)
+
func (t TaskDone) String() string {
return fmt.Sprintf("(%s) %s", t.Date.Format(DateLayout), t.Task)
}
func (t Task) String() string {
+ var s string
+
if t.Tag != "" {
- return fmt.Sprintf("{%s} %s", t.Tag, t.Text)
+ s = fmt.Sprintf("{%s} %s", t.Tag, t.Text)
} else {
- return fmt.Sprintf("%s", t.Text)
+ s = fmt.Sprintf("%s", t.Text)
}
-}
-var (
- DateLayout string = "15:04:05 02/01/2006"
-)
+ if t.Description != "" {
+ s += "\n" + DESCRIPTION_PAD +
+ CYAN + strings.ReplaceAll(t.Description, "\n", "\n"+DESCRIPTION_PAD) + RESET
+ }
-const (
- TASK_LIST_COUNT = 5
- GOBDATA_FILENAME = "workstack.gob"
-)
+ return s
+}
func GetGobdataPath() string {
p := os.Getenv("HOME")