Tree


.envcommits | blame
LICENSE.txtcommits | blame
README.mdcommits | blame
t_done.sh*commits | blame

README.md

# t_done

The simplest CLI todo list manager ever.

- Reads and prints todos to the command line from any [GFM][] /
  [Org Mode][] checklist.
- Search todos by regular expression.
- Optionally include completed todos.
- Automatically orders todos with dates at top.
- Displays past-due todos with \*\*asterisks\*\*
- Mark todos done.
- 100% Bash.

This README file is a todo list.

[gfm]: https://help.github.com/articles/writing-on-github/
[org mode]: http://orgmode.org

## Usage

The todo list is set by the environment variable `TODO_FILE`. The
following assumes you've symlinked `t_done.sh` to `t` somewhere in your
`$PATH`.

command                 | result
------------------------|-----------------------------------------------
`t buy milk`            | add todo "buy milk"
`t`                     | print incomplete todos
`t -a`                  | print all todos
`t -D`                  | print all done todos
`t -s call`             | print all todos matching "call"
`t /call`               | same as above
`t -s "call|email"`     | print all todos matching "call" or "email"
`t -D -s read`          | print all done todos matching "read"
`t -d 12`               | mark todo item 12 as done
`t -s read -d 3`        | mark todo item 3 within todos matching "read" as done
`t -d burn`             | mark all todo items matching "burn" as done
`t -s burn -d .`        | same as above
`t -e`                  | edit `$TODO_FILE` in `$EDITOR`
`t -t +1w buy racecar`  | add todo "buy racecar" due a week from today
`t -T sell horse`       | add todo "sell horse" due today

## Todo

- [X] store $query for every flag
- [X] add -D flag for only show done
- [X] order due dates first
- [X] add regex group 3 (text after date)
- [X] add case sensitivity
- [X] add date options
- [X] add ** for due/overdue todos
- [X] allow marking done by regex
- [X] print long output with $PAGER
- [ ] print to $PAGER without mktemp
- [ ] add --long-flags
- [ ] allow $TODO_FILE or $HOME/.t_donerc
- [X] conform to quoting conventions
- [ ] implement backburner function
- [ ] implement delete (kill) function
- [ ] implement multi parameter regexp query