Yet another a Go library for Gina Trapani's todo.txt files. ✅
Based on go-todotxt from Fabio Berchtold with:
- Go mod support
- Segments for task string
- Task due today is not overdue
- Negative
Due()
for overdue tasks - Support multiple options for sorting and filtering
- More sorting options: by ID, text, context, project
- Preset filters
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.
- Original go-todotxt authored by Fabio Berchtold
- Cool idea about todo.txt from Gina Trapani