TODO管理を実装するとしたら
TODO管理については様々なツールが既にある。
ただ、こういう自己管理系のツールは結局好みになるので、満足いくものというのはなかなか見つけにくい。
個人的には
- コマンドラインで使える
- データはテキストになる
- 期限を管理できる
あたりが理想なのでちょっと作ってみると仮定して考えてみた。
管理はそれほど難しくないが、一番難しそうなのは入力。
特に日付の入力が面倒。
たぶんnext monday
とかゆるい感じで入力できるのが良いと思うが、細かい時間の入力はやはり面倒になると思う。
コマンドラインから使うのを条件としているので、curses的なCUIで選択できるのが良いだろうか。
このあたりの発想は最近流行ってたwuzz
を見て、CUIの可能性がまだまだあるなと感じていたというのが大きい。
で、wuzzはどうやって実装しているんだろうかと見ていると
gocuiというライブラリを使っているようだった。
似たようなものにgo-termbox等が昔からあるが、gocuiはテキスト編集のコンポーネントもあって使いやすそうだった。
ただ、軽く使ってみた感じでは今は非ASCII文字の扱いが上手くできないようだ(時期バージョンでサポートするような宣言のあるissueは見かけた)
このあたりを使いこなして好みのUIが作れると面白いなと思う。
他にも、昨日紹介したようなshellのような発想もあるので、todo編集に特化したreplのようなものも面白いかもしれない。
この場合python-prompt-toolkitのようなライブラリを使うと良さそうだ。
と、まだ何もしていないがライブラリを眺めて色々妄想していた。
こういう時間もなかなか楽しい。