summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacs/custom/my-lang-rust.el11
-rw-r--r--emacs/custom/my-lsp.el26
-rw-r--r--emacs/custom/my-prog.el45
3 files changed, 23 insertions, 59 deletions
diff --git a/emacs/custom/my-lang-rust.el b/emacs/custom/my-lang-rust.el
index eb8e9a5..e6374a7 100644
--- a/emacs/custom/my-lang-rust.el
+++ b/emacs/custom/my-lang-rust.el
@@ -8,11 +8,16 @@
(require 'rustic)
(require 'lsp-rust)
-(setq rustic-lsp-server 'rust-analyzer)
-(setq rustic-lsp-client 'lsp-mode)
+(setq lsp-rust-analyzer-cargo-watch-enable t)
+(setq lsp-rust-analyzer-proc-macro-enable t)
+(setq lsp-rust-full-docs t)
+(setq lsp-rust-server 'rust-analyzer)
+
(setq rustic-format-on-save t)
+(setq rustic-lsp-client 'lsp-mode)
+(setq rustic-lsp-server 'rust-analyzer)
-(add-hook 'rustic-mode-hook #'lsp-rust-analyzer-inlay-hints-mode)
+(add-hook 'rusti-mode-hook #'lsp-deferred)
(provide 'my-lang-rust)
diff --git a/emacs/custom/my-lsp.el b/emacs/custom/my-lsp.el
index 98c061a..c10e06c 100644
--- a/emacs/custom/my-lsp.el
+++ b/emacs/custom/my-lsp.el
@@ -7,26 +7,30 @@
(require 'lsp-mode)
(require 'lsp-ui)
+(require 'lsp-diagnostics)
+(require 'consult-lsp)
+(require 'lsp-completion)
-(setq lsp-ui-doc-position 'at-point)
+(setq lsp-ui-doc-enable t) ;; Enable documentation
+(setq lsp-ui-doc-position 'at-point) ;; Show the documentation at point
+(setq lsp-ui-doc-header t)
+(setq lsp-ui-doc-include-signature t)
(setq lsp-ui-peek-enable t) ;; Enable `lsp-ui-peek'.
(setq lsp-ui-peek-show-directory t) ;; Show the directory of files.
-(setq lsp-ui-sideline-enable t) ;; Enable `lsp-ui-sideline'.
-(setq lsp-ui-sideline-show-hover t) ;; Show hover messages in sideline.
-(setq lsp-ui-sideline-show-code-actions t) ;; Show code actions in sideline.
+(setq lsp-ui-sideline-enable nil) ;; Don't enable `lsp-ui-sideline'.
-(setq lsp-completion-enable t) ;; Enable `completion-at-point' integration.
+(add-hook 'lsp-mode-hook #'lsp-ui-mode)
-(require 'lsp-diagnostics)
-(setq lsp-diagnostics-provider :flymake)
+;; Enable `completion-at-point' integration.
+(setq lsp-completion-enable t)
-(add-hook 'lsp-mode-hook #'lsp-ui-mode)
+;; The default is to use flycheck
+(setq lsp-diagnostics-provider :flymake)
-(require 'consult-lsp)
(define-key lsp-mode-map [remap xref-find-apropos] #'consult-lsp-symbols)
-(require 'lsp-completion)
-(setq lsp-completion-provider :none) ;; I use corfu
+;; Configure the completion to be corfu
+(setq lsp-completion-provider :none)
(add-hook 'lsp-completion-mode-hook
(lambda ()
(setf (alist-get 'lsp-capf completion-category-defaults) '((styles . (orderless flex))))))
diff --git a/emacs/custom/my-prog.el b/emacs/custom/my-prog.el
index 578207c..d11eebd 100644
--- a/emacs/custom/my-prog.el
+++ b/emacs/custom/my-prog.el
@@ -61,26 +61,6 @@
(add-hook 'makefile-mode-hook 'my/makefile-mode-hook)
-(require 'go-mode)
-(require 'gotest)
-
-(defun my/go-mode-hook ()
- "Hooks for `go-mode'."
- (setq tab-width 4)
- (setq go-test-verbose t)
-
- (set (make-local-variable 'compile-command)
- "go build -v && go test -v -cover")
- (define-key go-mode-map (kbd "C-c C-r") 'compile)
- (define-key go-mode-map (kbd "C-c C-R") 'recompile)
- (define-key go-mode-map (kbd "C-c C-n") 'go-run)
- (define-key go-mode-map (kbd "C-c C-c") 'go-coverage)
- (define-key go-mode-map (kbd "C-c .") 'go-test-current-test)
- (define-key go-mode-map (kbd "C-c C-f") 'go-test-current-file)
- (define-key go-mode-map (kbd "C-c C-p") 'go-test-current-project))
-
-(add-hook 'go-mode-hook 'my/go-mode-hook)
-
(defun my/elisp-mode-hook ()
"Hooks for `elisp-mode'."
(define-key emacs-lisp-mode-map (kbd "C-c C-e") 'eval-buffer)
@@ -92,31 +72,6 @@
(dolist (hook '(prog-mode-hook conf-mode-hook))
(add-hook hook 'turn-on-eldoc-mode))
-(require 'eglot)
-;; List of settings for gopls:
-;; https://github.com/golang/tools/blob/master/gopls/doc/settings.md
-(setq eglot-workspace-configuration
- '((:gopls .
- ((staticcheck . t)
- (experimentalWorkspaceModule . t)
- (matcher . "CaseSensitive")
- (usePlaceholders . t)))))
-
-(defun my/eglot-install-save-hook ()
- "Install the local hooks that are executed before saving a buffer."
- ;; the last thing we do is to format the buffer
- (add-hook 'before-save-hook #'eglot-format-buffer 100 t))
-
-;; ensure we load eglot for some specific modes
-(dolist (hook '(go-mode-hook nix-mode-hook rust-mode-hook))
- (add-hook hook 'eglot-ensure)
- (add-hook hook #'my/eglot-install-save-hook))
-
-(require 'rustic)
-(setq rustic-lsp-server 'rust-analyzer
- rustic-lsp-client 'eglot
- rustic-format-on-save t)
-
(provide 'my-prog)
;;; my-prog.el ends here