https://github.com/alecthomas/devtodo2
DevTodo the Second
https://github.com/alecthomas/devtodo2
Last synced: over 1 year ago
JSON representation
DevTodo the Second
- Host: GitHub
- URL: https://github.com/alecthomas/devtodo2
- Owner: alecthomas
- Created: 2011-05-26T04:10:33.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2025-03-05T03:04:08.000Z (over 1 year ago)
- Last Synced: 2025-03-29T15:08:35.201Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 70.3 KB
- Stars: 102
- Watchers: 16
- Forks: 17
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
DevTodo2
========
DevTodo2 is a command-line task management utility. Tasks are hierarchically
organised, have priorities, and track creation and completion time.
Task lists are stored in the current directory as the file ``.todo2``.
For much more complete information please refer to the man page (todo2(1)).
Installing
----------
DevTodo2 is written in `Go `_. To install, you will
need Go 1 or a release candidate.
Once you have Go installed and your ``GOPATH`` set, do the following::
$ go get github.com/alecthomas/kingpin/v2
$ git clone git://github.com/alecthomas/devtodo2.git
$ cd devtodo2
$ make
$ [sudo] make install
This will install to ``/usr/local`` by default, but that can be overridden by
passing ``prefix=`` to ``make``. The installation directories can be
further customized by setting ``bindir=``, ``mandir=`` and
``man1dir=`` which default to ``$(prefix)/bin``, ``$(prefix)/share/man``
and ``$(mandir)/man1``, respectively.
**NOTE:** You can also install with::
$ go get github.com/alecthomas/devtodo2
But the binary will be named ``devtodo2`` and the man page will not be
installed.
Uninstalling
----------
If you want to uninstall, do the following::
$ cd devtodo2
$ [sudo] make uninstall
Examples
--------
==================================== ==============================
Task Command
==================================== ==============================
Add a new task ``todo2 -a Shopping list``
Add a new sub-task below task 1 ``todo2 -ag 1 Buy soap``
Add a new sub-task below subtask 1.1 ``todo2 -ag 1.1 Go to store``
Remove a sub-task below subtask 1 ``todo2 --remove 1.1``
List outstanding tasks ``todo2``
List *all* tasks ``todo2 -A``
==================================== ==============================
DevTodo1?
---------
Yes, this is version 2. `Version 1 `_ was written in
C++ in 2004, and has been due for a rewrite for a *very* long time.
Differences between version 1 and 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New features:
- Task lists are now stored as JSON.
- Everything is a *lot* faster.
- Much less code.
Not currently supported:
- Readline-based editing of task text and priority.
- Filters. Completed tasks are hidden by default, but may be displayed with ``-A``.
- Linked files.
- ``~/.todorc`` configuration file.
- Colour customisation.
- Custom task formatting.
How do I import my version 1 task lists?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DevTodo2 will load your old ``.todo`` files automatically. If you modify the
task list with DevTodo2 it will transparently migrate the file to ``.todo2`` in
the new format.
You can specify the version 1 filename to load with
``--legacy-file=``, and the version 2 filename with
``--file=``.