# HG changeset patch # User Augie Fackler # Date 1601739021 14400 # Node ID 514374a2a5bc741883b9cd0bccb462e2849439a0 # Parent 826e5656d9ffacaa0034d7dea9eea5b8160e1f73 emacs: migrate rust config to use rls and lsp diff --git a/.elisp/settings/99.rust.el b/.elisp/settings/99.rust.el --- a/.elisp/settings/99.rust.el +++ b/.elisp/settings/99.rust.el @@ -1,24 +1,28 @@ +(use-package flycheck + :hook (prog-mode . flycheck-mode)) + +(use-package company + :hook (prog-mode . company-mode) + :config (setq company-tooltip-align-annotations t) + (setq company-minimum-prefix-length 1)) + +(use-package lsp-mode + :commands lsp + :config (require 'lsp-clients)) + +(use-package lsp-ui) + +(use-package toml-mode) + (use-package rust-mode - :config (add-hook 'rust-mode-hook + :hook (rust-mode . lsp) + :config (add-hook 'rust-mode-hook (lambda () (local-set-key (kbd "C-c ") #'rust-format-buffer)))) -(setq rust-format-on-save t) +;; Add keybindings for interacting with Cargo (use-package cargo - :config (add-hook 'rust-mode-hook 'cargo-minor-mode)) - -(use-package company - :init - (use-package racer - :init - (add-hook 'rust-mode-hook #'racer-mode) - (add-hook 'racer-mode-hook #'eldoc-mode) - (add-hook 'racer-mode-hook #'company-mode) - (setq company-tooltip-align-annotations t) - )) + :hook (rust-mode . cargo-minor-mode)) (use-package flycheck-rust - :init - (add-hook 'flycheck-mode-hook #'flycheck-rust-setup) - (add-hook 'rust-mode-hook 'flycheck-mode) - ) + :config (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))