diff options
Diffstat (limited to 'todolist/app.go')
| -rw-r--r-- | todolist/app.go | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/todolist/app.go b/todolist/app.go index 79e3aad..92ee64d 100644 --- a/todolist/app.go +++ b/todolist/app.go @@ -137,23 +137,33 @@ func (a *App) ExpandTodo(input string) { fmt.Println("Todo expanded.") } -func (a *App) ManipulateNotes(input string) { +func (a *App) HandleNotes(input string) { a.Load() id := a.getId(input) - parser := &Parser{} + if id == -1 { + return + } todo := a.TodoList.FindById(id) if todo == nil { fmt.Println("No such id.") return } + parser := &Parser{} - retStr := parser.ParseNotes(todo, input) - if retStr != "" { - a.Save() - if retStr != "list" { - fmt.Println("Notes " + retStr + "ed.") - } + if parser.ParseAddNote(todo, input) { + fmt.Println("Note added.") + } else if parser.ParseDeleteNote(todo, input) { + fmt.Println("Note deleted.") + } else if parser.ParseEditNote(todo, input) { + fmt.Println("Note edited.") + } else if parser.ParseShowNote(todo, input) { + groups := map[string][]*Todo{} + groups[""] = append(groups[""], todo) + formatter := NewFormatter(&GroupedTodos{Groups: groups}) + formatter.Print(true) + return } + a.Save() } func (a *App) ArchiveCompleted() { |
