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
520 downloads per month
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:
- I get distracted by the list of tasks.
- I can't be bothered to learn the various command line arguments to filter out the output
- 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