diff --git a/modules/tools/lookup/config.el b/modules/tools/lookup/config.el index fff080e13..7d07c72b5 100644 --- a/modules/tools/lookup/config.el +++ b/modules/tools/lookup/config.el @@ -96,7 +96,11 @@ argument: the identifier at point.") (after! xref ;; We already have `projectile-find-tag' and `evil-jump-to-tag', no need for ;; xref to be one too. - (remove-hook 'xref-backend-functions #'etags--xref-backend)) + (remove-hook 'xref-backend-functions #'etags--xref-backend) + ;; The lookup commands are superior, and will consult xref if there are no + ;; better backends available. + (global-set-key [remap xref-find-definitions] #'+lookup/definition) + (global-set-key [remap xref-find-references] #'+lookup/references)) ;; Use `better-jumper' instead of xref's marker stack (advice-add #'xref-push-marker-stack :around #'doom*set-jump) diff --git a/modules/tools/lsp/config.el b/modules/tools/lsp/config.el index 87305a95f..efd4bd858 100644 --- a/modules/tools/lsp/config.el +++ b/modules/tools/lsp/config.el @@ -5,8 +5,8 @@ lsp-keep-workspace-alive nil) (after! lsp-mode - (define-key lsp-mode-map - [remap +lookup/documentation] #'lsp-describe-thing-at-point) + (set-lookup-handlers! 'lsp-mode :async t + :documentation 'lsp-describe-thing-at-point) ;; Don't prompt to restart LSP servers while quitting Emacs (add-hook! 'kill-emacs-hook (setq lsp-restart 'ignore))) @@ -20,13 +20,9 @@ lsp-ui-doc-max-width 35 lsp-ui-sideline-ignore-duplicate t) - (define-key! lsp-ui-mode-map - [remap xref-find-definitions] #'lsp-ui-peek-find-definitions - [remap xref-find-references] #'lsp-ui-peek-find-references - ;; `set-lookup-handlers!' won't work for lsp-ui-peek commands, because they - ;; don't switch buffers - [remap +lookup/definition] #'lsp-ui-peek-find-definitions - [remap +lookup/references] #'lsp-ui-peek-find-references)) + (set-lookup-handlers! 'lsp-ui-mode :async t + :definition 'lsp-ui-peek-find-definitions + :references 'lsp-ui-peek-find-references)) (def-package! company-lsp