From 27cbd36b69fd95443cc97696a838376f0a8899f0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 19 Jun 2017 00:04:20 +0200 Subject: [PATCH] Improve hl-line disable hook for visual mode --- core/core-ui.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/core/core-ui.el b/core/core-ui.el index 0d5125c95..d72a884b7 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -259,13 +259,18 @@ file." (add-hook! 'hl-line-mode-hook (remove-overlays (point-min) (point-max) 'face 'hl-line)) - ;; Acts & looks weird with evil visual mode, so disable it temporarily - (defun doom|hl-line-off () (hl-line-mode -1)) (after! evil + ;; Can get in the way of the selection region when in evil visual mode, so + ;; disable it temporarily. + (defun doom|turn-off-hl-line () (hl-line-mode -1)) + (add-hook! 'hl-line-mode-hook - (when hl-line-mode - (add-hook 'evil-visual-state-entry-hook #'doom|hl-line-off nil t) - (add-hook 'evil-visual-state-exit-hook #'hl-line-mode nil t))))) + (cond (hl-line-mode + (add-hook 'evil-visual-state-entry-hook #'doom|turn-off-hl-line nil t) + (add-hook 'evil-visual-state-exit-hook #'hl-line-mode nil t)) + (t + (remove-hook 'evil-visual-state-entry-hook #'doom|turn-off-hl-line t) + (remove-hook 'evil-visual-state-exit-hook #'hl-line-mode t)))))) ;; Line number column. A faster (or equivalent, in the worst case) line number ;; plugin than the built-in `linum'.