• Stars
    star
    20
  • Rank 1,084,457 (Top 22 %)
  • Language
    Go
  • License
    MIT License
  • Created over 3 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Parser for todo.txt files in Go ✅

todotxt

Yet another a Go library for Gina Trapani's todo.txt files. ✅

PkgGoDev License GitHub Action Workflow Go Report Card Codacy Badge Codecov

Features

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

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