# A command-line todo list manager written in Haskell

Posted on 30/12/2013

# th

th is a command-line todo list manager in the style of t written in Haskell.

th shares with t the same features:

• It’s simple.
• It just uses a human readable plain file.
• It works nicely with Dropbox, control version systems and shell scripts.

## Installing th

th requires Haskell Platform and a UNIX-like shell (I use zsh). It may work on Linux, OS X and Windows (using Cygwin).

Once you have installed Haskell Platform, you have to download the latest version or clone the repository using git, git clone https://github.com/damianfral/th.git.

Having the repository downloaded/clone, you just need to execute cabal install. You may set up your path to be able to access ~/.cabal/bin/ without the absolute path.

## Using th

You can execute th -h to show the usage information:

> th -h

Usage: th [OPTION...]
-v, -V       --version          Show the version of th
-h, -H       --help             Show help for th
-l FILENAME  --list=FILENAME    Use this file as the task list

By default, if you don’t specify a file with --list, th will use todo.txt.

Each task can be in one of these 3 states: not done, started, finish.

> th -c "Release version v1.6"

1 - [ ] Release version v1.6

> th -c "Review open issues"

1 - [ ] Release version v1.6
2 - [ ] Review open issues

> th -s 1

1 - [-] Release version v1.6
2 - [ ] Review open issues

> th -f 1

1 - [x] Release version v1.6
2 - [ ] Review open issues

> th -d 1
1 - [ ] Review open issues
> th
1 - [ ] Review open issues