~em-dash/todo

ref: e7b9740883e253c71c3d03a88c307e2481e4e4fb todo/README.md -rw-r--r-- 1.8 KiB
e7b97408Emily Ellis rm stray newline in readme a month ago

This is a todo list manager with support for tasks that depend on each other.

All usage is through the command line.

Some commands open $EDITOR to edit an item. In these files, the first line is the task title, and the rest is the task description. No other parsing is done; you can format this in any format you want.

Some commands take tasks as arguments. A full task ID may be provided, or a unique suffix of an ID, or a unique substring of the title.

All other words used in commands can be similarly abbreviated: todo l a v is equivalent to todo ls all verbose.

Adding items:

# only title, no description:
$ todo add buy ingredients for muffins
$ todo add bake muffins
$ todo add eat muffins

# or to open $EDITOR on a new item:
$ todo add

Editing existing items:

$ todo edit buy

Adding dependencies:

# 'a after b' is equivalent to 'b before a'
$ todo dep add buy before bake
$ todo dep add eat after bake

Listing items:

# items that can be done right now (no dependencies)
$ todo ls
t20220220165525 buy ingredients for muffins

# show all items
$ todo ls all
t20220220165525 buy ingredients for muffins
t20220220165535 bake muffins
t20220220165542 eat muffins

# include task descriptions
$ todo ls verbose
t20220220165525 buy ingredients for muffins
  flour, sugar, butter, eggs, milk

# they can be combined:
$ todo ls all verbose
t20220220165525 buy ingredients for muffins
  flour, sugar, butter, eggs, milk
t20220220165535 bake muffins
  (depends on t20220220165525 buy ingredients for muffins)
t20220220165542 eat muffins
  (depends on t20220220165535 bake muffins)

Completing/removing items (there is no separate 'completed' state, items just go away when they no longer need to be done):

$ todo rm buy

$ todo ls
t20220220165535 bake muffins