BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

TODO-Listen über die Kommandozeile verwalten

Mit Hilfe von devtodo lassen sich auf der Kommandozeile pro Verzeichnis eine TODO-Liste führen. Im FreeBSD Portbaum findet man devtodo unter devel/devtodo:

# cd /usr/ports/devel/devtodo && make install clean

Nun kann ein neuer Eintrag der TODO-Liste hinzugefügt werden. Dabei muss ein Text und die Priorität angegeben werden:

# tda
text> task1
1. veryhigh   2. high   3. medium   4. low   5. verylow
Enter a priority from those listed above.
priority> medium
Index of new item is 1

Ist noch keine TODO-Liste im Verzeichnis vorhanden, wird automatisch eine neue angelegt:

# ls -l .todo
-rw-r--r--  1 beat  users  235 26 Sep 14:48 .todo

Vorhanden Einträge können mit todo angeschaut werden:

# todo
  1.task1

Auch kann der Text und/oder die Priorität eines neuen Eintrags direkt dem tda Befehl mitgegeben werden:

# tda "task2 und freunde"
1. veryhigh   2. high   3. medium   4. low   5. verylow
Enter a priority from those listed above.
priority> medium
Index of new item is 2
todo: warning, created database (.todo) has group or world permissions

# tda -p high "task3 und so weiter"
Index of new item is 1

Einträge mit höherer Priorität werden automatisch am Anfang der Liste einsortiert:

# todo
  1.task3 und so weiter
  2.task1
  3.task2 und freunde

Einträge können mit Hilfe des tdr Befehls aus der Liste entfernt werden:

# tdr 2
# todo
  1.task3 und so weiter
  2.task2 und freunde

Auch können Einträge der Liste auf erledigt gesetzt werden:

# tdd 1
comment> alles tiptop
# todo
  2.task2 und freunde

Mit Hilfe der all Option können erledigte Einträge weiterhin angezeigt werden. Mit Hilfe von --purge werden alle erledigten Einträge aus der Liste entfernt:

# todo all
- 1.task3 und so weiter
  2.task2 und freunde
# todo --purge
0 < 1222433003
# todo all
  1.task2 und freunde

Auch können einem Eintrag weitere Subtasks hinzugefügt werden. Diese lassen sich mit --all anzeigen:

# tda -p medium -g 1 "Subtask 1 Task 2"
Index of new item is 1.1
# todo
+ 1.task2 und freunde
# todo --all
  1.task2 und freunde
      1.Subtask 1 Task 2

Die TODO-Listen aus verschiedenen Verzeichnissen lassen sich nun mit Hilfe der -l Option miteinander verlinken und gemeinsam anzeigen:

# tda -p medium "Task 1 Hauptordner"
Index of new item is 1
# mkdir Ordner1 Ordner2
# cd Ordner1/
Ordner1# tda -p medium "Task 1 Ordner 1"
Index of new item is 1
Ordner1# tda -p medium "Task 2 Ordner 1"
Index of new item is 2
Ordner1# cd ../Ordner2/
Ordner2# tda -p medium "Task 1 Ordner 2"
Index of new item is 1
Ordner2# cd ..
# todo -l Ordner1/.todo 
1. veryhigh   2. high   3. medium   4. low   5. verylow   
priority> medium
# todo -l Ordner2/.todo
1. veryhigh   2. high   3. medium   4. low   5. verylow   
priority> medium
# todo 
+ 1.Ordner1
+ 2.Ordner2
  3.Task 1 Hauptordner
# todo all
  1.Ordner1
      1.Task 1 Ordner 1
      2.Task 2 Ordner 1
  2.Ordner2
      1.Task 1 Ordner 2
  3.Task 1 Hauptordner

Mit Hilfe der Datei ~/.todorc können Optionen und das Verhalten von devtodo festgelegt werden. Ein Beispiel einer solchen Konfigurationsdatei findet man unter /usr/local/etc/todorc.sample:

# cp /usr/local/etc/todorc.sample ~/.todorc

Mehr Informationen zu devtodo findet man in der Manpage devtodo(1).

 Permalink