package menu import "strings" // splitTags splits a comma-separated tag string, trimming blanks; nil if empty. func splitTags(s string) []string { var out []string for _, p := range strings.Split(s, ",") { if p = strings.TrimSpace(p); p != "" { out = append(out, p) } } return out } func startArgs(project, desc string, tags []string, note string) []string { a := []string{"start", "-p", project} if desc != "" { a = append(a, "-d", desc) } if note != "" { a = append(a, "--note", note) } for _, t := range tags { a = append(a, "--tag", t) } return a } func stopArgs(note string) []string { a := []string{"stop"} if note != "" { a = append(a, "--note", note) } return a } func noteArgs(text string) []string { return []string{"note", text} } func tagArgs(tags []string) []string { return append([]string{"tag"}, tags...) } func continueArgs(num string) []string { a := []string{"continue"} if num != "" { a = append(a, num) } return a } func reportArgs(period, date string) []string { switch period { case "today": return []string{"report", "--today"} case "yesterday": return []string{"report", "--yesterday"} case "date": return []string{"report", "--date", date} default: // "all" return []string{"report"} } }