feat(gs/emacs): Configure lsp-mode for rust
- add <> as evil-surround pairs (this isn't working atm) - Make lsp-ui-doc frames a reasonable size - Use clippy as the cargo watch command for rust-analyzer Change-Id: Ieee2633cbb332af6513af6b7484adeef5bdb3e06 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2356 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
		
							parent
							
								
									be9b62c88d
								
							
						
					
					
						commit
						733871195c
					
				
					 2 changed files with 18 additions and 4 deletions
				
			
		|  | @ -611,7 +611,9 @@ | ||||||
|         lsp-ui-doc-header nil |         lsp-ui-doc-header nil | ||||||
|         lsp-ui-doc-position 'top |         lsp-ui-doc-position 'top | ||||||
|         lsp-ui-doc-alignment 'window |         lsp-ui-doc-alignment 'window | ||||||
|         lsp-ui-doc-frame-hook '+grfn/lsp-ui-doc-frame-hook) |         lsp-ui-doc-frame-hook '+grfn/lsp-ui-doc-frame-hook | ||||||
|  |         lsp-ui-doc-max-width 150 | ||||||
|  |         lsp-ui-doc-max-height 13) | ||||||
|   (setq imenu-auto-rescan t) |   (setq imenu-auto-rescan t) | ||||||
|   (set-face-background 'lsp-ui-doc-background +solarized-s-base2) |   (set-face-background 'lsp-ui-doc-background +solarized-s-base2) | ||||||
|   (set-face-background 'lsp-face-highlight-read +solarized-s-base2) |   (set-face-background 'lsp-face-highlight-read +solarized-s-base2) | ||||||
|  |  | ||||||
|  | @ -1,16 +1,19 @@ | ||||||
| ;;; ../code/depot/users/glittershark/emacs.d/rust.el -*- lexical-binding: t; -*- | ;;; ../code/depot/users/glittershark/emacs.d/rust.el -*- lexical-binding: t; -*- | ||||||
| 
 | 
 | ||||||
| ; (setq lsp-rust-analyzer-cargo-watch-command "clippy") |  | ||||||
| 
 |  | ||||||
| (add-to-list 'auto-mode-alist '("\\.rs$" . rust-mode)) | (add-to-list 'auto-mode-alist '("\\.rs$" . rust-mode)) | ||||||
| 
 | 
 | ||||||
| (defun grfn/rust-setup () | (defun grfn/rust-setup () | ||||||
|   (interactive) |   (interactive) | ||||||
|  | 
 | ||||||
|  |   (push '(?> . ("<" . ">")) evil-surround-pairs-alist) | ||||||
|  | 
 | ||||||
|   (setq lsp-rust-server 'rust-analyzer) |   (setq lsp-rust-server 'rust-analyzer) | ||||||
|   (setq-local whitespace-line-column 100 |   (setq-local whitespace-line-column 100 | ||||||
|               fill-column 100) |               fill-column 100) | ||||||
|   (setq-local rustic-format-trigger 'on-save) |  | ||||||
|   (setq rust-format-show-buffer nil) |   (setq rust-format-show-buffer nil) | ||||||
|  |   (setq lsp-rust-analyzer-import-merge-behaviour "last" | ||||||
|  |         lsp-rust-analyzer-cargo-watch-command "clippy" | ||||||
|  |         lsp-ui-doc-enable t) | ||||||
|   (rust-enable-format-on-save) |   (rust-enable-format-on-save) | ||||||
|   (lsp)) |   (lsp)) | ||||||
| 
 | 
 | ||||||
|  | @ -22,3 +25,12 @@ | ||||||
|   :n "g R" #'lsp-find-references |   :n "g R" #'lsp-find-references | ||||||
|   (:localleader |   (:localleader | ||||||
|    "m" #'lsp-rust-analyzer-expand-macro))) |    "m" #'lsp-rust-analyzer-expand-macro))) | ||||||
|  | 
 | ||||||
|  | (comment | ||||||
|  |  (flycheck-get-next-checkers 'lsp) | ||||||
|  |  (flycheck-add-next-checker) | ||||||
|  |  (flycheck-get-next-checkers 'lsp) | ||||||
|  |  ) | ||||||
|  | 
 | ||||||
|  | (set-company-backend! 'rust-mode | ||||||
|  |   '(:separate company-capf company-yasnippet)) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue