smeargle 20161212.1558(in MELPA)
Highlighting region by last updated time

概要

smeargle.el は、最後に更新された部分をハイライトします。

変更された時期によって色が徐々に変わっていきます。

古くなればなるほど白っぽくなり、
新しくなればなるほど黒っぽくなります。

サポートされているバージョン管理システムは
gitmercurial です。

Vimの同名のプラグインの移植版です。

ちなみにsmeargleはポケモンのドーブルの英名です。

同じ作者による git-gutter.el と組み合わせるともっとよいです。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてsmeargleを使う方は
以下のコマンドを実行します。

M-x package-install smeargle

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name smeargle

設定 141209080439.smeargle.el(以下のコードと同一)

;;; 色の設定
(setq smeargle-age-colors
      '((0 . nil)
        (1 . "grey5")
        (2 . "grey10")
        (3 . "grey15")
        (4 . "grey20")
        (5 . "grey25")
        (6 . "grey30")
        (7 . "grey30")))
(setq smeargle-colors
      '((older-than-1day . nil)
        (older-than-3day . "grey5")
        (older-than-1week . "grey10")
        (older-than-2week . "grey15")
        (older-than-1month . "grey20")
        (older-than-3month . "grey25")
        (older-than-6month . "grey30")
        (older-than-1year . "grey35")))

(global-set-key (kbd "C-x v s") 'smeargle)
(global-set-key (kbd "C-x v c") 'smeargle-commits)

;; ファイルを開いたときに実行
(add-hook 'find-file-hook 'smeargle)

;; 保存後に実行
(add-hook 'after-save-hook 'smeargle)

実行方法

$ wget http://rubikitch.com/f/141209080439.smeargle.el
$ emacs -Q -f package-initialize -l 141209080439.smeargle.el
M-x smeargle
最終更新日時でハイライト
M-x smeargle-commits
変更してからの時間でハイライト
M-x smeargle-clear
smeargleの色付けを解除する

20141209081601.png
Fig1: 変更時期に合わせて色付け

本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。