Subscribed unsubscribe Subscribe Subscribe

[hiveminder][emacs] todo.plを使ってさらに手軽にタスク追加するシェルスクリプト

hiveminderにはtodo.plというコマンドラインからタスクを追加するスクリプトがありますが、タスクを追加するのに毎回todo.plを起動するのが手間なのでシェルスクリプトを書きました。
ほとんど、下記のまんまですが。

http://groups.google.com/group/hiveminder-users/browse_thread/thread/6c42431312b4384e?pli=1

https://gist.github.com/759597

#!/bin/sh
CMD='--tag action';
if [ "x$1" != "x" ]; then
   CMD="$@"
fi

# todo.pl $CMD editdump
todo.pl $CMD download ; $EDITOR tasks.txt ; todo.pl upload tasks.txt

exec $0 $@

このスクリプトを利用するとactionタグの付いたタスクをダウンロードして、環境変数$EDITORに指定されたエディタでタスクを編集し、編集後のタスク一覧をアップロードする動作を繰り返します。タスクを追加したいときにはすでにエディタで編集できる状態になっているので、すぐにタスクを追加できます。タグを変更したければ、CMDを変更します。
editdumpすれば同じことができるのですが、一時ファイル名が分かりづらいのでtasks.txtに一旦ダウンロードしてから編集しています。

私の環境では.zshrcと、Emacsに下記の設定がしてあるので$EDITORはEmacsが使用されます。

  • .zshrc
export EDITOR=/Applications/Emacs.app/Contents/MacOS/bin/emacsclient
export VISUAL=Applications/Emacs.app/Contents/MacOS/bin/emacsclient
(server-start)
(defun iconify-emacs-when-server-is-done ()
  (unless server-clients (iconify-frame)))
(add-hook 'server-done-hook
         (lambda ()
            (do-applescript "tell application \"Terminal\"
                                activate
                             end")))