diff --git a/modules/ui/doom-modeline/config.el b/modules/ui/doom-modeline/config.el index 086800c3d..b8fe7a2c4 100644 --- a/modules/ui/doom-modeline/config.el +++ b/modules/ui/doom-modeline/config.el @@ -33,33 +33,13 @@ (add-hook 'doom-escape-hook #'anzu--reset-status t) (add-hook 'iedit-mode-end-hook #'anzu--reset-status)) + (def-package! evil-anzu - :requires evil + :defer t :init (add-transient-hook! #'evil-ex-start-search (require 'evil-anzu)) - (add-transient-hook! #'evil-ex-start-word-search (require 'evil-anzu)) - :config - (setq anzu-cons-mode-line-p nil - anzu-minimum-input-length 1 - anzu-search-threshold 250) + (add-transient-hook! #'evil-ex-start-word-search (require 'evil-anzu))) - (defun +doom-modeline*fix-anzu-count (positions here) - (cl-loop for (start . end) in positions - collect t into before - when (and (>= here start) (<= here end)) - return (length before) - finally return 0)) - (advice-add #'anzu--where-is-here :override #'+doom-modeline*fix-anzu-count) - - ;; Avoid anzu conflicts across buffers - (mapc #'make-variable-buffer-local - '(anzu--total-matched anzu--current-position anzu--state - anzu--cached-count anzu--cached-positions anzu--last-command - anzu--last-isearch-string anzu--overflow-p)) - ;; Ensure anzu state is cleared when searches & iedit are done - (add-hook 'isearch-mode-end-hook #'anzu--reset-status t) - (add-hook 'doom-escape-hook #'anzu--reset-status t) - (add-hook 'iedit-mode-end-hook #'anzu--reset-status)) ;; fish-style modeline (def-package! shrink-path