todoを公開しました
2016·05·15
今宵の月はどうでしょう。こんばんは、@CreatorQsFです。
結構前からローカルで使ってきていたtodoというものなのですが、この度公開できることになった…といいますかリファクタリングも何もしていないので申し訳ないかぎりなのですが、ちょっと進化させて(というより機能を削減して)GitHubに公開しました。
おどろくほど単純で、mainのfile約200行で構成されています。ただしappendを多用している面がありますので速度はさほど早くはないです。多分Directoryが深くなるほど遅くなるはずです。
なにができるのかといいますと、プロジェクト単位でのtodo管理がローカルで行えます。gitとの共存をわりと考えながらつくったので、少し物足りないところはありますがあまり辛くはならないと思います。
インストール
go get github.com/Qs-F/todo
でコードが落とせるのでテキトウにbuildしておいてください。前にも言いましたがreleaseはあまり切る気はないです。
使い方
此処から先は、このコマンドをtodo
で使えるとして話進めます。
注意点として、改行はすべてSpaceに変換されます。理由としてそんなに複雑なtodoを登録するのはsimpleであるというもともとの考えに反するからです。
- todo
現在のプロジェクト(現在のDirectoryにtodoファイルがなかったらひとつ上の階層へ探しに行きます。それを繰り返します)のActiveなtodo、archiveされていないtodoを表示します。
- todo メッセージ
メッセージ
を現在のプロジェクトのtodoに新規追加します。
ただしじつはsort機能はない。
- todo archive
現在のプロジェクトのarchiveしたtodoを表示します。
- todo archive add
この機能はちょっと考えた結果の形です。todoをarchiveする際に長いuuidを打ち込むのはファイルの肥大化にも直接いじるのもめんどくさいし、かといってメッセージを全部というのもめんどくさい。というわけで、これをすると現在activeなtodoに番号が割り振られます。そこから選んでenterでいいわけです。なおarchiveからactiveへ、という機能は用意しませんでした。ローカルのものにはつけていたのですが使用頻度が恐ろしくない…。
- todo all
archive、active関係なしに過去全てのtodoを表示します。
- todo init
現在いるDirectoryにtodoファイルを作ります。
機能の少なさをどう補うのか
ここが一番重要だと思っています。これはファイルを手作業でいじっても大丈夫なように設計してあります。
current directoryにあるtodoを開いてください。おわかりかもしれませんが、activeなtodoが一行ごとにかかれ、一行空白の行をあけてから、archiveされたtodoが書かれています。内部の構造はとても単純で、まったくこの通りに動作します。
つまり、一気にすべてのtodoをarchiveしたければ、エディタでそういじればいいわけです。
また削除するときは普通にrm todoでいけます。それ以外何者でもありません。
また予約後は使えませんが、どんなスタイルでも書ける(todo [app] push to githubとかうっても、argsを勝手にまとめるのでこのまま認識してくれます)ので、ピッタリの使い方を探してください。
なおREADMEには-mオプションをと書きましたが、まだ未実装なので…とおもったけど、あれ、搭載されてる…? いつのまにコードを書いたんだろうw
まぁそんなわけです。多分もともとlocalでの使用で私はちょくちょく使っていますが、万人に使いやすいとはとても思えないので(さらにコードが読めるとは思えない)、自分のスタイルを確立するのが一番かな、と思います。
で、この記事でなにが一番言いたいかといいますと…
これはすべてChromebook上で開発されています。
という私のChromebook愛を語りたかったのです。
おわり