todod 0.1.0

A minimal D todo list.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


Todod is a command line based todo list manager. It supports tagging todos and setting due dates. You can filter on certain tags etc. What makes this todo list manager unique is that it will always at most displays five (random) todos.

My problem with todo lists is always that they become to large and mentally intimidating. By limiting the visible todos to at most 5 we keep the lists clear and clean. This method was partly inspired by:


For command line Tab completion Todod depends on linenoise: You need to create a static library as follows:

gcc -c -o linenoise.o linenoise.c
ar rcs liblinenoise.a linenoise.o

and move the resulting static library to somewhere D can find it (e.g. /usr/lib/).

Other than that you need dub and dmd installed. Then execute:

dub -c shell -b release

to create an executable: bin/todod. You can copy this to anywhere in your path.


Start the command line interface by running todod. This will open a shell that allows you to work with your todo list.

The todod manager allows you to keep track of large amounts of todos. Todos can be tagged and/or given due dates. A feature specific to this todo manager is that it will show at most 5 todos at a time. Todos that are due or are old have a higher probability of being shown. Limiting the view to the more important todos allows you to focus on high priority todos first.

add - Add a new todo with provided title. One can respectively add tags with +tag and a due date with DYYYY-MM-DD

del - Usage del todo_id. Deletes Todo specified by id.

done - Usage done todo_id. Marks Todo specified by id as done.

progress - Usage: progress TARGETS. Marks that you have made progress on the provided TARGETS. This will lower the weight of this todo and therefore lower the likelihood of it appearing in the randomly shown subset of todos. Targets can either be a list of numbers (2,3,4) or all for all shown Todos.

search - Usage search +tag1 -tag2. Activates only the todos that have the specified todos. Search is incremental, i.e. search +tag1 activates all todos with tag1, then search -tag2 will deactivate the Todos with tag2 from the list of Todos with tag1. Search without any further parameters resets the search (activates all Todos).

reroll - Reroll the Todos that are active. I.e. chooses up to five Todos from all the active Todos to show

tag - Usage: tag +tagtoadd -tagtoremove [TARGETS]. Adds or removes given tags for the provided targets. Targets can either be a list of numbers (2,3,4) or all for all shown Todos

due - Usage: due YYYY-MM-DD [TARGETS]. Sets the given due date for the provided targets. Targets can either be a list of numbers (2,3,4) or all for all shown Todos

show - Show a (random) subset of Todos. Subject to filters added throught the search command. Shows a list of tags present in the filtered list of Todos at the top of the output.

clear - Clear the screen.

help - Print this help message

quit - Quit todod and save the todos

  • Edwin van Leeuwen
stochastic, tested, linenoise
2.0.0-alpha 2017-Mar-10
1.0.4 2015-May-05
1.0.3 2015-Apr-28
1.0.2 2015-Apr-28
1.0.1 2014-Nov-26
Show all 16 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 435 downloads total

Short URL: