隙あらば寝る

うぇぶのかいしゃではたらくえんじにあがかいています

TODO管理を実装するとしたら

TODO管理については様々なツールが既にある。

ただ、こういう自己管理系のツールは結局好みになるので、満足いくものというのはなかなか見つけにくい。

個人的には

あたりが理想なのでちょっと作ってみると仮定して考えてみた。

管理はそれほど難しくないが、一番難しそうなのは入力。

特に日付の入力が面倒。

たぶんnext mondayとかゆるい感じで入力できるのが良いと思うが、細かい時間の入力はやはり面倒になると思う。

コマンドラインから使うのを条件としているので、curses的なCUIで選択できるのが良いだろうか。

このあたりの発想は最近流行ってたwuzz

github.com

を見て、CUIの可能性がまだまだあるなと感じていたというのが大きい。

で、wuzzはどうやって実装しているんだろうかと見ていると

gocuiというライブラリを使っているようだった。

github.com

似たようなものにgo-termbox等が昔からあるが、gocuiはテキスト編集のコンポーネントもあって使いやすそうだった。

ただ、軽く使ってみた感じでは今は非ASCII文字の扱いが上手くできないようだ(時期バージョンでサポートするような宣言のあるissueは見かけた)

このあたりを使いこなして好みのUIが作れると面白いなと思う。

他にも、昨日紹介したようなshellのような発想もあるので、todo編集に特化したreplのようなものも面白いかもしれない。

この場合python-prompt-toolkitのようなライブラリを使うと良さそうだ。

github.com

と、まだ何もしていないがライブラリを眺めて色々妄想していた。

こういう時間もなかなか楽しい。