Skip to content
This repository has been archived by the owner on Nov 8, 2017. It is now read-only.
Bram Schoenmakers edited this page Jun 5, 2014 · 15 revisions

todo.txt tools documentation

This repository contains a few scripts for extending the todo.txt CLI. Additional functionality for tags, dependencies and recurring tasks have been added.

The scripts operate on todo.txt files following the standard format. While todo.txt is pretty free-format, the following assumptions are made within the scripts in this repository.

  • Due dates are indicated by due:YYYY-MM-DD
  • Start dates are indicated by t:YYYY-MM-DD
  • 'Starring' a task is done by star:1

Content

Actions####

Actions are additional or overriding subcommands of the todo.txt CLI. You can achieve this by adding some or all of these commands to ~/.todo.actions.d. You can also specify a folder in todo.cfg.

  • add Overrides the add command.
    • Automatically adds the creation date to a date, in case it's been forgotten.
    • Turns relative dates into absolute ones.
    • In case you write the priority indicator at an arbitrary place, it will reposition it at the start.
  • dep Manage dependencies between tasks.
    • Add or remove dependencies between tasks
    • List dependencies
    • Print dot output of dependencies.
  • do Overriding the do command
    • Gives the choice to mark subtasks as done.
    • Takes care of recurring tasks by submitting a new task.
    • Allows you to identify a task with a uniquely matching regexp in the description, rather than the task number.
  • postpone Postpone a task by the given number of days, weeks, months or years.
  • tag Add, edit and remove tags from tasks.

Filters

Filters can be run stand-alone or as part of the final filter stage in todo.sh. It can read from standard input or from a filename:

cat todo.txt | ./filter-relevance.pl
./filter-relevance.pl ./todo.txt

If you wish to apply a certain filter as part of todo.sh, adjust todo.cfg:

export TODOTXT_FINAL_FILTER='/path/to/filter-relevance.pl'

This repository contains the following filters:

Sorting

Sort commands can be run stand-alone or as part of todo.sh. It can read from standard input or from a filename:

./sort.pl ./todo.txt
cat todo.txt | ./filter-relevance.pl | ./sort.pl -s desc:due

To apply a certain ordering to todo.sh, use the following line in todo.cfg:

export TODOTXT_SORT_COMMAND='/path/to/sort.pl -s desc:due,desc:priority'
  • sort.pl Sort your todo.txt any way you want.

Misc

Clone this wiki locally