summaryrefslogtreecommitdiff
path: root/lisp/vc-annotate-lens-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/vc-annotate-lens-mode.el')
-rw-r--r--lisp/vc-annotate-lens-mode.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/lisp/vc-annotate-lens-mode.el b/lisp/vc-annotate-lens-mode.el
new file mode 100644
index 0000000..00f674e
--- /dev/null
+++ b/lisp/vc-annotate-lens-mode.el
@@ -0,0 +1,24 @@
+
+;;; Code:
+
+(make-variable-buffer-local
+ (defvar vc-annotate-lens-cursor-position 0
+ "Holds the cursor position from the last run of post-command-hooks."))
+
+(defun do-stuff-if-moved-post-command ()
+ (interactive)
+ (unless (equal (line-number-at-pos) vc-annotate-lens-cursor-position)
+ (vc-region-history line-number-at-pos)
+ (message "%s" vc-annotate-lens-cursor-position))
+ (setq vc-annotate-lens-cursor-position (line-number-at-pos)))
+
+(define-minor-mode vc-annotate-lens-mode
+ "Show 'vc-annotate' information when you move to a line."
+ :lighter " vc-annotate-lens"
+ )
+
+(add-hook 'vc-annotate-lens-mode-on-hook (lambda () (add-hook 'post-command-hook #'do-stuff-if-moved-post-command)))
+(add-hook 'vc-annotate-lens-mode-off-hook (lambda () (remove-hook 'post-command-hook #'do-stuff-if-moved-post-command)))
+
+(provide 'vc-annotate-lens-mode)
+;;; vc-annotate-lens-mode.el ends here.