diff-modeの移動に関する変更があった後、間も無く別のcommit (e5ef59b87da5c2ddfa22f7342efe29b3eea6ed97)でauto-refinesに関する仕様も変更されていた。
移動が確実に行われた時のみ、細かい変更点 (refines)をcoloringする挙動になった。これに伴いauto-refinesの関連codeが別の場所に移され、以前取った方法では移動するだけではrefinesへのcoloringが適用されなくなった。
(with-eval-after-load "diff-mode"
(defun my-diff-hunk-next (&optional count)
(interactive)
(diff-hunk-next count nil)
(diff-refine-hunk))
(defun my-diff-hunk-prev (&optional count)
(interactive)
(diff-hunk-prev count nil)
(diff-refine-hunk))
;; key bindings
(define-key diff-mode-shared-map "n" 'my-diff-hunk-next)
(define-key diff-mode-shared-map "p" 'my-diff-hunk-prev))
やっていることは、それぞれのfunction内で移動するためのfunctionを呼び出した後に、coloringする為のdiff-refine-hunkを呼び出すだけである。
0 件のコメント:
コメントを投稿