feat(rust): Move to RLS/LSP setup
Lets see how long this lasts ...
This commit is contained in:
		
							parent
							
								
									6061d1bbb2
								
							
						
					
					
						commit
						ced93e2606
					
				
					 1 changed files with 12 additions and 7 deletions
				
			
		| 
						 | 
					@ -1,21 +1,26 @@
 | 
				
			||||||
(require 'company)
 | 
					(require 'company)
 | 
				
			||||||
 | 
					(require 'flycheck)
 | 
				
			||||||
 | 
					(require 'lsp-mode)
 | 
				
			||||||
 | 
					(require 'lsp-rust)
 | 
				
			||||||
 | 
					(require 'lsp-ui)
 | 
				
			||||||
(require 'rust-mode)
 | 
					(require 'rust-mode)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; LSP configuration:
 | 
				
			||||||
 | 
					(setq lsp-ui-sideline-delay 0.5)
 | 
				
			||||||
 | 
					(add-hook 'lsp-mode-hook 'lsp-ui-mode)
 | 
				
			||||||
 | 
					(add-hook 'rust-mode-hook #'lsp-rust-enable)
 | 
				
			||||||
 | 
					(add-hook 'rust-mode-hook 'flycheck-mode)
 | 
				
			||||||
 | 
					(add-hook 'rust-mode-hook 'company-mode)
 | 
				
			||||||
 | 
					(push 'company-lsp company-backends)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Enable cargo-related (C-c C-c C-...) commands.
 | 
					;; Enable cargo-related (C-c C-c C-...) commands.
 | 
				
			||||||
(add-hook 'rust-mode-hook #'cargo-minor-mode)
 | 
					(add-hook 'rust-mode-hook #'cargo-minor-mode)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Configure autocompletion for rust
 | 
					;; Configure autocompletion for rust
 | 
				
			||||||
(add-hook 'rust-mode-hook #'racer-mode)
 | 
					 | 
				
			||||||
(add-hook 'racer-mode-hook #'company-mode)
 | 
					 | 
				
			||||||
(add-hook 'racer-mode-hook #'eldoc-mode)
 | 
					 | 
				
			||||||
(define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common)
 | 
					(define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common)
 | 
				
			||||||
(setq company-tooltip-align-annotations t)
 | 
					(setq company-tooltip-align-annotations t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Ensure long compiler errors don't flow out of the screen (very annoying!)
 | 
					;; Ensure long compiler errors don't flow out of the screen (very annoying!)
 | 
				
			||||||
(add-hook 'cargo-process-mode-hook #'visual-line-mode)
 | 
					(add-hook 'cargo-process-mode-hook #'visual-line-mode)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; I don't use rustup and I'm not sure which derivation would normally place
 | 
					 | 
				
			||||||
;; Rust sources in the nix-store, so I'll continue using my local Rust checkout.
 | 
					 | 
				
			||||||
(setq racer-rust-src-path "~/source/rust/src")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(provide 'rust-setup)
 | 
					(provide 'rust-setup)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue