Move nav-flash from ui/doom to ui/nav-flash (#92)
This commit is contained in:
parent
3c8e70c0d0
commit
084c7be50f
7 changed files with 61 additions and 40 deletions
|
@ -53,6 +53,7 @@
|
||||||
doom-modeline ; a snazzy Atom-inspired mode-line
|
doom-modeline ; a snazzy Atom-inspired mode-line
|
||||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE tags
|
hl-todo ; highlight TODO/FIXME/NOTE tags
|
||||||
|
nav-flash ; blink the current line after jumping
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
dired ; making dired pretty [functional]
|
dired ; making dired pretty [functional]
|
||||||
|
|
|
@ -8,7 +8,6 @@ By default, this module uses:
|
||||||
|
|
||||||
+ [[https://github.com/mozilla/Fira][Fira Mono and Fira Sans]] (fonts)
|
+ [[https://github.com/mozilla/Fira][Fira Mono and Fira Sans]] (fonts)
|
||||||
+ [[https://dejavu-fonts.github.io/][DejaVu Sans Mono]] (font, for displaying unicode characters)
|
+ [[https://dejavu-fonts.github.io/][DejaVu Sans Mono]] (font, for displaying unicode characters)
|
||||||
+ [[https://github.com/rolandwalker/nav-flash][nav-flash]]: blinks the current line when jumping large distances, to help keep track of the cursor.
|
|
||||||
+ ~hideshow~, modified to use a nicer folded-region indicator.
|
+ ~hideshow~, modified to use a nicer folded-region indicator.
|
||||||
+ Custom fringe bitmaps for ~git-gutter-fringe~ (thin bars)
|
+ Custom fringe bitmaps for ~git-gutter-fringe~ (thin bars)
|
||||||
|
|
||||||
|
|
|
@ -96,44 +96,6 @@
|
||||||
(add-hook 'doom-popup-mode-hook #'+doom|neotree-fix-popup nil t)))
|
(add-hook 'doom-popup-mode-hook #'+doom|neotree-fix-popup nil t)))
|
||||||
|
|
||||||
|
|
||||||
;; Flashes the line around the cursor after any motion command that might
|
|
||||||
;; reasonably send the cursor somewhere the eyes can't follow. Tremendously
|
|
||||||
;; helpful on a 30" 2560x1600 display.
|
|
||||||
(def-package! nav-flash
|
|
||||||
:commands nav-flash-show
|
|
||||||
:init
|
|
||||||
(defun +doom*blink-cursor-maybe (orig-fn &rest args)
|
|
||||||
"Blink current line if the window has moved."
|
|
||||||
(interactive)
|
|
||||||
(let ((point (save-excursion (goto-char (window-start))
|
|
||||||
(point-marker))))
|
|
||||||
(apply orig-fn args)
|
|
||||||
(unless (equal point
|
|
||||||
(save-excursion (goto-char (window-start))
|
|
||||||
(point-marker)))
|
|
||||||
(+doom/blink-cursor))))
|
|
||||||
|
|
||||||
(defun +doom/blink-cursor (&rest _)
|
|
||||||
"Blink current line using `nav-flash'."
|
|
||||||
(interactive)
|
|
||||||
(unless (minibufferp)
|
|
||||||
(nav-flash-show)
|
|
||||||
;; only show in the current window
|
|
||||||
(overlay-put compilation-highlight-overlay 'window (selected-window))))
|
|
||||||
|
|
||||||
;; NOTE In :feature jump `recenter' is hooked to a bunch of jumping commands,
|
|
||||||
;; which will trigger nav-flash.
|
|
||||||
|
|
||||||
(add-hook 'focus-in-hook #'+doom/blink-cursor)
|
|
||||||
(advice-add #'windmove-do-window-select :around #'+doom*blink-cursor-maybe)
|
|
||||||
(advice-add #'recenter :around #'+doom*blink-cursor-maybe)
|
|
||||||
|
|
||||||
(after! evil
|
|
||||||
(advice-add #'evil-window-top :after #'+doom/blink-cursor)
|
|
||||||
(advice-add #'evil-window-middle :after #'+doom/blink-cursor)
|
|
||||||
(advice-add #'evil-window-bottom :after #'+doom/blink-cursor)))
|
|
||||||
|
|
||||||
|
|
||||||
(after! hideshow
|
(after! hideshow
|
||||||
(defface +doom-folded-face
|
(defface +doom-folded-face
|
||||||
`((((background dark))
|
`((((background dark))
|
||||||
|
|
|
@ -2,5 +2,4 @@
|
||||||
;;; ui/doom/packages.el
|
;;; ui/doom/packages.el
|
||||||
|
|
||||||
(package! doom-themes)
|
(package! doom-themes)
|
||||||
(package! nav-flash)
|
|
||||||
|
|
||||||
|
|
21
modules/ui/nav-flash/README.org
Normal file
21
modules/ui/nav-flash/README.org
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
* :ui nav-flash
|
||||||
|
|
||||||
|
This module uses ~nav-flash~ to flash the line around the cursor after any motion command that might reasonably send the cursor somewhere the eyes can't follow.
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
Tremendously helpful on a 30" 2560x1600 display.
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** Install
|
||||||
|
This module has no other dependencies.
|
||||||
|
|
||||||
|
** Configure
|
||||||
|
By default, ~nav-flash~ will be triggered whenever ~recenter~ is called. =:feature jump= attaches ~recenter~ to various hooks:
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(add-hook!
|
||||||
|
'(imenu-after-jump-hook evil-jumps-post-jump-hook
|
||||||
|
counsel-grep-post-action-hook dumb-jump-after-jump-hook)
|
||||||
|
#'recenter)
|
||||||
|
#+END_SRC
|
||||||
|
|
35
modules/ui/nav-flash/config.el
Normal file
35
modules/ui/nav-flash/config.el
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
;;; ui/nav-flash/config.el
|
||||||
|
|
||||||
|
(def-package! nav-flash
|
||||||
|
:commands nav-flash-show
|
||||||
|
:init
|
||||||
|
(defun +doom*blink-cursor-maybe (orig-fn &rest args)
|
||||||
|
"Blink current line if the window has moved."
|
||||||
|
(let ((point (save-excursion (goto-char (window-start))
|
||||||
|
(point-marker))))
|
||||||
|
(apply orig-fn args)
|
||||||
|
(unless (equal point
|
||||||
|
(save-excursion (goto-char (window-start))
|
||||||
|
(point-marker)))
|
||||||
|
(+doom/blink-cursor))))
|
||||||
|
|
||||||
|
(defun +doom/blink-cursor (&rest _)
|
||||||
|
"Blink current line using `nav-flash'."
|
||||||
|
(interactive)
|
||||||
|
(unless (minibufferp)
|
||||||
|
(nav-flash-show)
|
||||||
|
;; only show in the current window
|
||||||
|
(overlay-put compilation-highlight-overlay 'window (selected-window))))
|
||||||
|
|
||||||
|
;; NOTE In :feature jump `recenter' is hooked to a bunch of jumping commands,
|
||||||
|
;; which will trigger nav-flash.
|
||||||
|
|
||||||
|
(advice-add #'windmove-do-window-select :around #'+doom*blink-cursor-maybe)
|
||||||
|
(advice-add #'recenter :around #'+doom*blink-cursor-maybe)
|
||||||
|
|
||||||
|
(after! evil
|
||||||
|
(advice-add #'evil-window-top :after #'+doom/blink-cursor)
|
||||||
|
(advice-add #'evil-window-middle :after #'+doom/blink-cursor)
|
||||||
|
(advice-add #'evil-window-bottom :after #'+doom/blink-cursor)))
|
||||||
|
|
||||||
|
|
4
modules/ui/nav-flash/packages.el
Normal file
4
modules/ui/nav-flash/packages.el
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
;; -*- no-byte-compile: t; -*-
|
||||||
|
;;; ui/nav-flash/packages.el
|
||||||
|
|
||||||
|
(package! nav-flash)
|
Loading…
Add table
Add a link
Reference in a new issue