diff --git a/modules/lang/rust/autoload.el b/modules/lang/rust/autoload.el index b52ddae2b..5d2333220 100644 --- a/modules/lang/rust/autoload.el +++ b/modules/lang/rust/autoload.el @@ -12,3 +12,11 @@ "TODO" (let ((default-directory (+rust-cargo-project-p))) (compile command))) + +;;;###autoload +(defun +rust-racer-lookup-documentation (identifier) + "A `+lookup/documentation' handler for Rust + Racer." + (let ((buf (racer--describe identifier))) + (when buf + (pop-to-buffer buf) + t))) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 1b8fceb9a..c199d2c4c 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -21,9 +21,9 @@ :after rust-mode :config (add-hook 'rust-mode-hook #'racer-mode) - (set-lookup-handlers! 'rust-mode :async t - :definition #'racer-find-definition - :documentation #'racer-describe)) + (set-lookup-handlers! 'rust-mode + :definition '(racer-find-definition :async t) + :documentation '+rust-racer-lookup-documentation)) (def-package! flycheck-rust