From 355bab6730c5a20ee45f323507c217e37b157a4d Mon Sep 17 00:00:00 2001 From: mattkae Date: Tue, 22 Nov 2022 16:46:16 -0500 Subject: Work in progress on annotate lens --- init.el | 1 + lisp/general.el | 3 +-- lisp/vc-annotate-lens-mode.el | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 lisp/vc-annotate-lens-mode.el diff --git a/init.el b/init.el index 8a3aa47..f2b3533 100644 --- a/init.el +++ b/init.el @@ -50,6 +50,7 @@ (require 'lisp) (require 'json) (require 'python-custom) +(require 'vc-annotate-lens-mode) (custom-set-variables ;; custom-set-variables was added by Custom. diff --git a/lisp/general.el b/lisp/general.el index e78e86e..f9fb573 100644 --- a/lisp/general.el +++ b/lisp/general.el @@ -98,7 +98,6 @@ ;; (evil-define-key 'normal neotree-mode-map (kbd "p") 'neotree-previous-line) ;; (evil-define-key 'normal neotree-mode-map (kbd "A") 'neotree-stretch-toggle) ;; (evil-define-key 'normal neotree-mode-map (kbd "H") 'neotree-hidden-file-toggle) - (defun my-neotree-mode-hook() "Set the colors of neotree to match my personal taste." (setq left-fringe-width 0) @@ -259,7 +258,7 @@ :ensure t :defer t) -(eldoc-box-hover-at-point-mode 1) +(add-hook 'emacs-lisp-mode-hook #'eldoc-box-hover-at-point-mode t) (add-hook 'eglot-managed-mode-hook #'eldoc-box-hover-at-point-mode t) ;; Vterm 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. -- cgit v1.2.1