diff options
| author | Grant Ammons <gammons@gmail.com> | 2016-05-04 14:34:48 -0400 |
|---|---|---|
| committer | Grant Ammons <gammons@gmail.com> | 2016-05-04 14:34:48 -0400 |
| commit | d3b6d589c088ad173c6298c8e6a344d7bc0573b2 (patch) | |
| tree | 9001b1095758b92334606a0a4190b51a5a8745e1 | |
| parent | 86be4b4dec5c920f227ef487a19b3472981ffcac (diff) | |
alpha-sort groups
| -rw-r--r-- | todolist/formatter.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/todolist/formatter.go b/todolist/formatter.go index 294b883..5378c16 100644 --- a/todolist/formatter.go +++ b/todolist/formatter.go @@ -4,6 +4,7 @@ import ( "fmt" "os" "regexp" + "sort" "strconv" "strings" "text/tabwriter" @@ -27,12 +28,17 @@ func NewFormatter(todos *GroupedTodos) *Formatter { func (f *Formatter) Print() { cyan := color.New(color.FgCyan).SprintFunc() - for key, todos := range f.GroupedTodos.Groups { + var keys []string + for key, _ := range f.GroupedTodos.Groups { + keys = append(keys, key) + } + sort.Strings(keys) + + for _, key := range keys { fmt.Fprintf(f.Writer, "\n \t%s\n", cyan(key)) - for _, todo := range todos { + for _, todo := range f.GroupedTodos.Groups[key] { f.printTodo(todo) } - } f.Writer.Flush() } |
