5 releases

new 0.2.2 Dec 19, 2024
0.2.1 Dec 17, 2024
0.2.0 Dec 13, 2024
0.1.1 Dec 8, 2024
0.1.0 Dec 2, 2024

#1573 in Command line utilities

Download history 117/week @ 2024-11-28 145/week @ 2024-12-05 258/week @ 2024-12-12

520 downloads per month

GPL-3.0-or-later

28KB
471 lines

toddi

Want to get things done? Pick a task, do it, and move on to the next one.

toddi will tell you exactly what to focus on, per project, based on your todo.txt tasks.

Why?

Why not?

I've been using todo.txt regularly for a few months, and I noticed that:

  1. I get distracted by the list of tasks.
  2. I can't be bothered to learn the various command line arguments to filter out the output
  3. I needed a way to focus on one task (the most important)

Hence, toddi. I'm building it to fit my purpose.

Which also turned out to be a good excuse to practice some Rust.

Requirements

At this stage, toddi is meant to be used with todo.txt, unless you are willing to spend time manually moving TODOs to done.txt with the correct formatting.

By default, the program assumes the default todo.txt paths in the absence of the relevant optional input:

  • ~/.todo-txt/todo.txt
  • ~/.todo-txt/done.txt

Task line format specification

The format for a task line should conform to todo.txt documentation.

E.g.:

(PRIO) Task's short description +project @context

The priority (PRIO) field is a single capital letter enclosed within parenthesis. Only one is allowed.

The task description field is a contiguous alphanumerical space-separated multiple-word sentence. It tolerates the following special non-alphanumerical characters: . _ - ' (i.e. dot, underscore, dash and apostrophe). Any other will invalidate the line.

The project field is an alphanumerical single word preceded by a + (plus) sign. Only one is allowed.

The context field is an alphanumerical single word preceded by a @ (at) sign. Only one is allowed.

The context and project fields can switch place between each other.

The format for a done line looks like this:

Done line format specification

x YYYY-MM-DD Task's short description +project @context

Note the x on the left.

Usage

If you trust your planning and just need a way to focus on the next task, use:

$ toddi

Display next todo.txt task for project myproject (i.e. +myproject on the task line) and a progress bar indicating the project's level of completion.

$ toddi focus myproject

Use --help for more information:

$ toddi --help

Configuration

A TOML configuration file is expected at the standard XDG_CONFIG_HOME location: $HOME/.config/toddi/config.toml

If not present, it will be automatically created and populated with mandatory default values on first use.

todo_file = "/home/user/.todo-txt/todo.txt"
done_file = "/home/user/.todo-txt/done.txt"

License

source : GPL-3.0-or-later

Dependencies

~6–15MB
~183K SLoC