summaryrefslogtreecommitdiff
path: root/dir-locals/eglot-rust-dir-locals.el
blob: 0c7e83d87239a02e58ce902c8027f0f034e4cc45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
((rust-ts-mode . ((eval . (progn
                            (require 'rust-mode)
                            (require 'eglot)
                            (advice-add 'eglot-inlay-hints-mode :around 'ignore)
                            (eglot-ensure)                            
                            (company-mode 1)
                            (use-local-map (make-composed-keymap (list rust-mode-map rust-ts-mode-map)))
                            (add-hook 'before-save-hook rust-before-save-hook nil t)
                            (add-hook 'after-save-hook rust-after-save-hook nil t)
                            (keymap-set (current-local-map)
                                        "C-c C-c C-d"
                                        (lambda ()
                                          (interactive)
                                          (rust--compile
                                            "env TMPDIR=${HOME}/tmp cargo test && cargo doc")))))
                  (eglot-workspace-configuration . (:rust-analyzer  (:check
                                                                     (:command "clippy"))))
                  (rust-format-on-save . t)               
                  (rust-rustfmt-switches . ("--edition" "2021")))))