todotxt
Yet another a Go library for Gina Trapani's todo.txt files. ✅
Features
Based on go-todotxt from Fabio Berchtold with:
- [x] Go mod support
- [x] Segments for task string
- [x] Task due today is not overdue
- [x] Negative
Due()for overdue tasks - [x] Support multiple options for sorting and filtering
- [x] More sorting options: by ID, text, context, project
- [x] Preset filters
Usage
A quick start example:
import (
todo "github.com/1set/todotxt"
)
// ...
if tasklist, err := todo.LoadFromPath("todo.txt"); err != nil {
log.Fatal(err)
} else {
tasks := tasklist.Filter(todo.FilterNotCompleted).Filter(todo.FilterDueToday, todo.FilterHasPriority)
_ = tasks.Sort(todo.SortPriorityAsc, todo.SortProjectAsc)
for i, t := range tasks {
fmt.Println(t.Todo)
// oh really?
tasks[i].Complete()
}
if err = tasks.WriteToPath("today-todo.txt"); err != nil {
log.Fatal(err)
}
}
For more examples and details, please check the Go Doc.
Credits
- Original go-todotxt authored by Fabio Berchtold
- Cool idea about todo.txt from Gina Trapani