diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index 5580d40..3575c17 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -151,31 +151,34 @@ (use-package rustic :custom - (rustic-format-trigger 'on-save)) + (rustic-format-trigger 'on-save) + (rustic-analyzer-command '("rustup" "run" "stable" "rust-analyzer"))) -;; lsp configuration +;; lsp integration (use-package lsp-mode - :init - ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") - (setq lsp-keymap-prefix "C-c l") - :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) - (prog-mode . lsp) - (rustic-mode . lsp) - ;; if you want which-key integration - (lsp-mode . lsp-enable-which-key-integration)) - :commands lsp) + :ensure + :commands lsp + :custom + ;; what to use when checking on-save. "check" is default, I prefer clippy + (lsp-rust-analyzer-cargo-watch-command "clippy") + (lsp-eldoc-render-all t) + (lsp-idle-delay 0.6) + ;; enable / disable the hints as you prefer: + (lsp-rust-analyzer-server-display-inlay-hints t) + (lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial") + (lsp-rust-analyzer-display-chaining-hints t) + (lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil) + (lsp-rust-analyzer-display-closure-return-type-hints t) + (lsp-rust-analyzer-display-parameter-hints nil) + (lsp-rust-analyzer-display-reborrow-hints nil) + :config + (add-hook 'lsp-mode-hook 'lsp-ui-mode)) -(use-package company) -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(package-selected-packages - '(company lsp-mode rustic which-key vertico use-package pdf-tools org-roam magit guess-language expand-region exec-path-from-shell doom-modeline catppuccin-theme))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) +;; code completion +(use-package company + :after lsp-mode + :custom + (company-idle-delay 0.0)) + +(use-package company-box + :hook (company-mode . company-box-mode))