Skip to content

xvxx/ldpl-todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ldpl todo

dirt simple todos cli.

usage:

$ todo -list             # list todos
$ todo -add "Call Bob"   # add todo
$ todo -edit             # open todo file in $EDITOR
$ todo -check 2          # check off one or more todos
$ todo -clear            # remove checked todos

all commands have single letter versions:

-add is -a, -edit is -e, etc. check is -c. clear is -d.

example:

$ todo -list
-> no todos in ~/.todo

$ todo -add Show example usage
-> added "Show example usage"

$ todo -add Eat a Pop Tart
-> added "Eat a Pop Tart"

$ todo -list
  1. Show example usage
  2. Eat a Pop Tart

$ todo -add Write a poem about dinosaurs
-> added "Write a poem about dinosaurs"

$ todo -check 2
  1. Show example usage
X 2. Eat a Pop Tart
  3. Write a poem about dinosaurs

$ todo -clear
  1. Show example usage
  2. Write a poem about dinosaurs

$ todo -check 1 2
X 1. Show example usage
X 2. Write a poem about dinosaurs

install:

requires ldpl 4.3:

lpm install std-list
ldpl todo.ldpl -o=todo
cp todo ~/bin

todo.txt:

this tool stores todos in ~/.todo by default.

to use a different todo file, set the env variable TODO:

env TODO=~/work/todo.txt todo -list

in either case, the todo db is a plain text file with one todo per line.

lines that begin with "X " (X and space) are treated as checked.

lines that begin with "#" are treated as headers.

for example:

$ cat ~/.todo
#ldpl-todo
finish README
X write up an example
take screenshots?
#ldpl
upgrade servers at work to 4.3
X test time travel feature
#lute
test ncurses on mac
add sound

becomes:

      #ldpl-todo
   2. finish README
X  3. write up an example
   4. take screenshots?

      #ldpl
   6. upgrade servers at work to 4.3
X  7. test time travel feature

      #lute
   9. test ncurses on mac
  10. add sound

wrapper:

i use a tiny fish wrapper with this program, t.fish:

$ t                # todo -list
$ t "Call Terry"   # todo -add "Call Terry"
$ t 2              # todo -check 2
$ t -d             # todo -d