# HG changeset patch # User Augie Fackler # Date 1467059266 14400 # Node ID 98484e1f564f23847c0b1ed35a56a3d303bd4b0f # Parent 980b3df541cd7e08ab293eb2f9d81f0a5137f661 rust: lots of new configs to make working with rust code easy diff --git a/.elisp/settings/00.bootstrap.el b/.elisp/settings/00.bootstrap.el --- a/.elisp/settings/00.bootstrap.el +++ b/.elisp/settings/00.bootstrap.el @@ -29,6 +29,7 @@ http-twiddle ipython nose + use-package ;; disabled until I don't need a modified version ;; textmate @@ -51,6 +52,13 @@ auto-complete go-autocomplete go-eldoc + ;; rust + rust-mode + rustfmt + cargo + racer + company-racer + flycheck-rust )) (unless (or (member pack package-activated-list) (functionp pack)) diff --git a/.elisp/settings/99.rust.el b/.elisp/settings/99.rust.el new file mode 100644 --- /dev/null +++ b/.elisp/settings/99.rust.el @@ -0,0 +1,23 @@ +(use-package rust-mode + :config (add-hook 'rust-mode-hook + (lambda () + (local-set-key (kbd "C-c ") #'rust-format-buffer)))) + +(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) + )) + +(use-package flycheck-rust + :init + (add-hook 'flycheck-mode-hook #'flycheck-rust-setup) + (add-hook 'rust-mode-hook 'flycheck-mode) + ) diff --git a/.shell.d/99.rust.sh b/.shell.d/99.rust.sh new file mode 100644 --- /dev/null +++ b/.shell.d/99.rust.sh @@ -0,0 +1,2 @@ +insert_path_element $HOME/.cargo/bin +export RUST_SRC_PATH=$HOME/Programming/big/rust/src