新しくなった twittering-mode.el と、考えていること
Emacs Advent Calendar jp: 2009 の参加記事です。昨日は id:kiwanami さんでした。
この記事では、最近かかりきりになっている twittering-mode.el について、この数ヶ月の新機能、そして開発中の機能について紹介したいと思います。
さいきんの twittering-mode.el
最近になって、twittering-mode.elの開発が加速しています。GitHubでのコミット頻度を表す Impact グラフにもそれが如実に表れています。
開発のかなり大くの部分は、はやみず自身によるものというよりも開発に参加してくださっている人達からのパッチで成り立っています。最近は twittering-mode.el をいじっている時間のほとんどはパッチの取り込みのような気がします。
twittering-mode の新機能
Lists 表示
つい最近Twitterに実装されたLists機能に対応しています。Emacsのtwitterクライアントでlistsに対応しているのは twittering-mode だけなのでないかと思います。
ReTweet
簡単にReTweetを投稿できるようになっています。また、ReTweetのフォーマットはカスタマイズできるようになっています。デフォルトでは 「RT: ほげほげ (via @hayamiz)」という形式になっていますが、「RT @hayamiz: ほげほげ」にして使っています。
署名
なんと言うのが正しいのかわかりませんが、発言の最後に署名みたいなものをつける機能が実装されています。時々イベント告知に使われていたりしますね。
ダイレクトメッセージ
ダイレクトメッセージの送信ができるようになりました。表示のほうは未実装ですが、ちかいうちに実装するつもりです(そんなに手間はかからないはず)。
実装予定の機能
より柔軟でわかりやすいTimeline表示
twittering-modeの抱える最大の問題は、多機能化によるインターフェースの複雑化です。各種タイムラインの表示もその1つで、今は各タイムラインごとに関数が分かれていたり、キー割り当てがあったりとあまり整理されていません。
これをまとめるための変更が、timeline-specブランチで行われています。
検索
twittering-modeの現在のタイムラインで欠けているものが、検索結果の表示です。この実装が search-modeブランチで行われています。
ポップアップバッファからの投稿
twittering-modeは当初からミニバッファでつぶやきを入力して投稿、というスタイルだったのですが、これだと色々と不便だという声もあり、最近は自分もそう感じていました。これを改善するため、つぶやきの入力用バッファが開いて、そこで入力できるよう実装が pop-up-bufferブランチ で進められています。
vimライクなコマンドインターフェース
今のtwittering-modeは、多くの機能のキーバインドがありますが、正直言って全て覚えて使うのはつらいです。そこで、"コマンド名"と"処理内容"をペアにして、コマンド名を入力するというインターフェースがvim-like-commandブランチで提案されています。
具体的には、: (コロン) キーを押すとコマンド名の入力モードになり、そこでコマンドを指定して実行する、というものです(たとえば favorite コマンドでお気に入りに追加など)。vi/vim っぽいですね。
マイナーモード
twittering-modeのバッファにいなくともつぶやきの投稿ができるよう、マイナーモードがtw-minor-modeブランチで実装されています。
おわりに
ここ最近のtwittering-modeの動向をまとめる意味でこのエントリを書きはじめたのですが、思っていたよりも沢山の機能変更があることに驚きました。はやみずがしばらく開発に参加していなかった時期もあるので、再び開発するようになってしばらくたった今でも、「こんな機能があったのかー」と驚くことがあります。そのあたりの隠れた機能、使いにくい機能を整理して、今年の年末あたりにリリースしたいなあと思っています。