fix(wpcarro/emacs): Update rust configuration

- Prefer LSP to racer
- Move KBDs to central location

Change-Id: Ib3fbf1b383d711f3ac6dd6d7791374b014b9df90
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6054
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This commit is contained in:
William Carroll 2022-08-08 10:53:23 -07:00 committed by clbot
parent 60f6f5f10e
commit b92ceccfdb
3 changed files with 26 additions and 23 deletions

View file

@ -454,5 +454,19 @@
"C-v" #'clipboard-yank
"C-S-v" #'clipboard-yank)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Rust
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(general-define-key
:keymaps '(rust-mode-map)
:states '(normal)
"gd" #'lsp-find-definition
"gr" #'lsp-find-references)
(general-define-key
:keymaps '(rust-mode-map)
"TAB" #'company-indent-or-complete-common)
(provide 'keybindings)
;;; keybindings.el ends here

View file

@ -6,11 +6,6 @@
;;; Commentary:
;; Supports my Rust work.
;;
;; Dependencies:
;; - `rustup`
;; - `rustup component add rust-src`
;; - `rustup toolchain add nightly && cargo +nightly install racer`
;;; Code:
@ -18,30 +13,16 @@
;; Dependencies
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'macros)
(require 'lsp)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Configuration
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package racer
:config
(setq rust-sysroot (->> "~/.cargo/bin/rustc --print sysroot"
shell-command-to-string
s-trim-right))
(setq racer-rust-src-path (f-join rust-sysroot "lib/rustlib/src/rust/src"))
(add-hook 'racer-mode-hook #'eldoc-mode))
(use-package rust-mode
:config
(add-hook 'rust-mode-hook #'racer-mode)
(macros-add-hook-before-save 'rust-mode-hook #'rust-format-buffer)
(define-key rust-mode-map
(kbd "TAB")
#'company-indent-or-complete-common)
(define-key rust-mode-map
(kbd "M-d")
#'racer-describe))
(add-hook 'rust-mode-hook #'lsp)
(setq rust-format-on-save t))
(provide 'wpc-rust)
;;; wpc-rust.el ends here

View file

@ -11,6 +11,15 @@ let
emacsBinPath = makeBinPath (
wpcarro.common.shell-utils ++
# Rust dependencies
(with pkgs; [
cargo
rls
rust-analyzer
rustc
rustfmt
]) ++
# Misc dependencies
(with pkgs; [
ispell
nix
@ -85,7 +94,6 @@ let
direnv
alert
nix-mode
racer
rust-mode
rainbow-delimiters
racket-mode