Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduce git-gutter.el

Introduce git-gutter.el

Introduce git-gutter.el at Kansai Emacs #07

Syohei YOSHIDA

April 27, 2013
Tweet

More Decks by Syohei YOSHIDA

Other Decks in Programming

Transcript

  1. git-gutter.el
    関西 Emacs勉強 #07
    Syohei Yoshida(@syohex)

    View Slide

  2. git-gutter.elとは

    Sublime Textの GitGutterの Emacs版
    – Vim版 vim-gitgutter

    前回のコミットからの差分を視覚化

    インストール
    – MELPA, marmalade, el-get

    View Slide

  3. こんな感じ

    View Slide

  4. 目的
    変更をわかりやすく!!

    前回からどこを変更したか

    余計な変更を加えていないか ?
    – delete-trailing-whitespace
    – 関係ない部分の変更

    View Slide

  5. コマンド

    差分情報の表示
    M-x git-gutter

    差分箇所間の移動
    M-x git-gutter:{next-hunk,previous-hunk}

    現在の差分箇所のポップアップ
    M-x git-gutter:popup-hunk

    現在の差分箇所の revert
    M-x git-gutter:reverse-hunk

    View Slide

  6. 各種サポート

    global-minor-mode, minor-mode

    特定のモードでの無効化

    リモートファイルの編集(tramp)

    narrow-to-region

    indirect-buffer

    View Slide

  7. カスタマイズ

    View Slide

  8. git-gutter-fringe

    git-gutter.elの問題
    – linum-modeと共存できない
    – 右サイドに差分情報を表示できない

    解決方法
    – バッファではなく fringeに差分情報を表示

    git-gutter-fringeの問題点
    – no windowでは利用できない

    View Slide

  9. こんな感じ

    View Slide

  10. git-gutter vs git-gutter-fringe
    git-gutter git-gutter-fringe
    linum-modeとの共存 ✘ ○
    no window対応 ○ ✘
    右サイドの表示 ✘ ○
    カスタマイズ性 ○ △

    View Slide

  11. デモンストレーション

    View Slide

  12. 課題

    高速化
    – window-configuration-change-hook
    – キャッシュ
    – (Macのみ?)表示が乱れる

    他の VCSのサポート
    – mercurial等

    View Slide

  13. github.com/
    syohex/emacs-git-gutter

    View Slide

  14. ご清聴ありがとうございました

    View Slide