git-gutter.elを更新しました

Sublime Text2のプラグイン GitGutterEmacs版 git-gutter.elを更新しました。

インストール

MELPAと el-getに pull requestを送りましたんで、いずれそれらから
インストールできるようになるかと思います。MELPAはマージされたん
ですが、Webアプリの調子が悪いのか、package-listを更新しても
出て来ませんね。まあそのうちなんとかなるでしょう。

追記

2013年 1月 24日 MELPAに登録されていることが確認できたので、
package-installコマンドからインストールすることができます。

インタフェースの追加

  • git-gutter:clear
  • git-gutter:toggle

差分情報を表示する git-gutter関数だけ提供していたのですが、
画面をクリアするための git-gutter:clearと表示・非表示を交互に
行う git-gutter:toggleを追加しました

差分の印に複数文字が指定可能に

'+'とか '-'の 1文字しか指定できなかったのですが、複数文字を
設定できるようにしました。

複数文字に設定する

以下のように設定します。

(setq git-gutter:modified-sign "  ") ;; two space
(setq git-gutter:added-sign "++")    ;; multiple character is OK
(setq git-gutter:deleted-sign "--")

(set-face-background 'git-gutter:modified "purple")
(set-face-foreground 'git-gutter:added "green")
(set-face-foreground 'git-gutter:deleted "red")

上記の設定でのスクリーンショットは以下のようになります。

(注意)全角文字を設定する場合

Emacsには char-widthという文字幅を求める関数があり、
一部の全角文字は正しく判定されるのですが、誤って判定される
文字もあります。そのため、全角文字を設定する場合は、明示的に
その文字の長さを指定してください。modified, added, deletedの
中の最長のものを指定すれば良いです。


正しく設定することで絵文字的なものも利用することが可能です。

(setq git-gutter:window-width 2)
;; HTMLエスケープされてますが、実際は絵文字 
(setq git-gutter:modified-sign "❄")
(setq git-gutter:added-sign "☀")
(setq git-gutter:deleted-sign "☂")

(set-face-foreground 'git-gutter:modified "white")
(set-face-foreground 'git-gutter:added "orange")
(set-face-foreground 'git-gutter:deleted "cyan")


おわりに

気になった方はぜひ使ってみてください。
問題があれば githubの issuesまでお願いします。