From aa5050461a30d36a384edd45d20585a89d3da344 Mon Sep 17 00:00:00 2001 From: Michael Strùˆder Date: Sat, 29 Apr 2017 16:19:24 +0200 Subject: extract subcommand, id, and input string in Parser --- todolist/app.go | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'todolist/app.go') diff --git a/todolist/app.go b/todolist/app.go index 880390e..24ebe4d 100644 --- a/todolist/app.go +++ b/todolist/app.go @@ -3,7 +3,6 @@ package todolist import ( "fmt" "regexp" - "strconv" "strings" "time" ) @@ -174,19 +173,13 @@ func (a *App) UnprioritizeTodo(input string) { } func (a *App) getId(input string) (int, *Todo) { - re, _ := regexp.Compile("\\d+") - if re.MatchString(input) { - id, _ := strconv.Atoi(re.FindString(input)) - todo := a.TodoList.FindById(id) - if todo == nil { - fmt.Println("No such id.") - return -1, nil - } - return id, todo - } else { - fmt.Println("Invalid id.") + _, id, _ := Parser{input}.Parse() + todo := a.TodoList.FindById(id) + if todo == nil { + fmt.Println("No such id.") return -1, nil } + return id, todo } func (a *App) getGroups(input string, todos []*Todo) *GroupedTodos { -- cgit v1.3