This stops it from interfering with command line invocations of things like cargo test Change-Id: Icc24a27ac5e17bb88ed539c13fc33204ef55ce82 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3288 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
;;; -*- lexical-binding: t; -*-
 | 
						|
 | 
						|
(add-to-list 'auto-mode-alist '("\\.rs$" . rust-mode))
 | 
						|
 | 
						|
(defun grfn/rust-setup ()
 | 
						|
  (interactive)
 | 
						|
 | 
						|
  (push '(?> . ("<" . ">")) evil-surround-pairs-alist)
 | 
						|
  (push '(?< . ("< " . " >")) evil-surround-pairs-alist)
 | 
						|
 | 
						|
  (setq lsp-rust-server 'rust-analyzer)
 | 
						|
  (setq-local whitespace-line-column 100
 | 
						|
              fill-column 100)
 | 
						|
  (setq rust-format-show-buffer nil)
 | 
						|
  (setq lsp-rust-analyzer-import-merge-behaviour "last"
 | 
						|
        lsp-rust-analyzer-cargo-watch-command "clippy"
 | 
						|
        lsp-rust-analyzer-cargo-watch-args ["--target-dir" "/home/grfn/readyset/readyset/target/check"]
 | 
						|
        lsp-ui-doc-enable t)
 | 
						|
  (rust-enable-format-on-save)
 | 
						|
  (lsp))
 | 
						|
 | 
						|
(add-hook 'rust-mode-hook #'grfn/rust-setup)
 | 
						|
 | 
						|
(map!
 | 
						|
 (:map rust-mode-map
 | 
						|
  :n "g RET" #'lsp-rust-analyzer-run
 | 
						|
  :n "g R" #'lsp-find-references
 | 
						|
  :n "g d" #'lsp-find-definition
 | 
						|
  (:localleader
 | 
						|
   "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))
 |