diff --git a/config/emacs/emacs.org b/config/emacs/emacs.org index 1197eaba..6fe159ab 100644 --- a/config/emacs/emacs.org +++ b/config/emacs/emacs.org @@ -1028,38 +1028,10 @@ this should be useful later :config (setq rustic-format-on-save nil) (setq rustic-lsp-client 'eglot) - - (defun setup-rust () - "Setup for ‘rust-mode’." - ;; Configuration taken from rust-analyzer’s manual: - ;; https://rust-analyzer.github.io/manual.html#configuration - (setq-local eglot-workspace-configuration - ;; Setting the workspace configuration for every - ;; rust-mode buffer, you can also set it with dir-local - ;; variables, should you want different configuration - ;; per project/directory. - '(:rust-analyzer - (:cargo (:features "all"))))) - - (add-hook 'rustic-mode-hook #'setup-rust) - (add-hook 'rust-mode-hook #'setup-rust) - - - ;; expects initializationOptions done a bit differently (see below). - (defclass eglot-rust-analyzer (eglot-lsp-server) () - :documentation "A custom class for rust-analyzer.") - - ;; Rust-analyzer requires the workspaceConfiguration sent as - ;; initializationOptions at startup time. See - ;; https://github.com/joaotavora/eglot/discussions/845 and - ;; rust-analyzer’s manual page. - (cl-defmethod eglot-initialization-options ((server eglot-rust-analyzer)) - eglot-workspace-configuration) - - ;; Use our custom ‘eglot-rust-analyzer’ for ‘rust-mode’. - (add-to-list 'eglot-server-programs - '(rustic-mode . (eglot-rust-analyzer "rust-analyzer"))) + (add-to-list 'eglot-server-programs + `(rustic-mode . ("rust-analyzer" :initializationOptions + ( :cargo ( :features "all"))))) :custom (rustic-cargo-use-last-stored-arguments t)) #+end_src