diff --git a/core/autoload/ui.el b/core/autoload/ui.el index 2186efc93..af357eeaf 100644 --- a/core/autoload/ui.el +++ b/core/autoload/ui.el @@ -120,3 +120,7 @@ to a new one." (when (fboundp 'powerline-reset) (powerline-reset))) (error "Problem loading theme %s" x))) + +;;;###autoload +(defun doom*recenter (&rest _) + (recenter)) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 5ad874feb..9307918d3 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -150,7 +150,9 @@ be negative.") (after! helm-ag (map! :map helm-ag-edit-map :n "RET" #'compile-goto-error) (define-key helm-ag-edit-map [remap quit-window] #'helm-ag--edit-abort) - (set-popup-rule! "^\\*helm-ag-edit" :size 0.35 :ttl 0 :quit nil)) + (set-popup-rule! "^\\*helm-ag-edit" :size 0.35 :ttl 0 :quit nil) + ;; Recenter after jumping to match + (advice-add #'helm-ag--find-file-action :after-while #'doom*recenter)) ;; `helm-bookmark' diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index 240f5b7b4..8b495be87 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -114,10 +114,13 @@ (advice-add #'evil-window-split :override #'+evil*window-split) (advice-add #'evil-window-vsplit :override #'+evil*window-vsplit) - ;; Ensure jump points are created - (defun +evil*set-jump (&rest _) - (evil-set-jump)) - (advice-add #'counsel-git-grep-action :before #'+evil*set-jump) + (defun +evil*set-jump (orig-fn &rest args) + "Set a jump point and ensure ORIG-FN doesn't set any new jump points." + (evil-set-jump) + (let ((evil--jumps-jumping t)) + (apply orig-fn args))) + (advice-add #'counsel-git-grep-action :around #'+evil*set-jump) + (advice-add #'helm-ag--find-file-action :around #'+evil*set-jump) ;; --- custom interactive codes ----------- ;; These arg types will highlight matches in the current buffer