diff options
Diffstat (limited to 'emacs/custom')
-rw-r--r-- | emacs/custom/my-lang-rust.el | 11 | ||||
-rw-r--r-- | emacs/custom/my-lsp.el | 26 | ||||
-rw-r--r-- | emacs/custom/my-prog.el | 45 |
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 |