diff options
| author | Quey-Liang Kao <s101062801@m101.nthu.edu.tw> | 2017-01-17 03:18:14 +0800 |
|---|---|---|
| committer | Quey-Liang Kao <s101062801@m101.nthu.edu.tw> | 2017-01-17 03:18:14 +0800 |
| commit | c54a184a24f76eda473f585314716bd567dc14bf (patch) | |
| tree | 0fa8333469faf10e50a740516081690d0fff953a | |
| parent | 3813ef4378d25ade98a693bf3eef959754e8af20 (diff) | |
| parent | 05b64e4315ba17960f5bb2119e79eec2476459b2 (diff) | |
Merge github.com:NonerKao/todolist
| -rw-r--r-- | todolist/app.go | 4 | ||||
| -rw-r--r-- | todolist/parser.go | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/todolist/app.go b/todolist/app.go index 44d97f5..7644d46 100644 --- a/todolist/app.go +++ b/todolist/app.go @@ -25,6 +25,10 @@ func (a *App) AddTodo(input string) { a.Load() parser := &Parser{} todo := parser.ParseNewTodo(input) + if todo == nil { + fmt.Println("What to do?") + return + } a.TodoList.Add(todo) a.Save() diff --git a/todolist/parser.go b/todolist/parser.go index 433cfc6..6919bd7 100644 --- a/todolist/parser.go +++ b/todolist/parser.go @@ -13,6 +13,12 @@ import ( type Parser struct{} func (p *Parser) ParseNewTodo(input string) *Todo { + r, _ := regexp.Compile(`^(add|a)(\\ |)`) + input = r.ReplaceAllString(input, "") + if input == "" { + return nil + } + todo := NewTodo() todo.Subject = p.Subject(input) todo.Projects = p.Projects(input) @@ -24,8 +30,6 @@ func (p *Parser) ParseNewTodo(input string) *Todo { } func (p *Parser) Subject(input string) string { - r, _ := regexp.Compile(`^(add|a) `) - input = r.ReplaceAllString(input, "") if strings.Contains(input, " due") { index := strings.LastIndex(input, " due") return input[0:index] |
