about summary refs log tree commit diff
path: root/init
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2017-11-06T18·35+0100
committerVincent Ambo <tazjin@gmail.com>2017-11-06T18·35+0100
commit6bef57e347881de5ddf21c9bf21ecce0d7150e57 (patch)
tree6ae63b3b74db19d4cc411ce91d8ed549a218705b /init
parent0338fcc89242deeed4f8e639182481d3b5a02a95 (diff)
feat(rust-setup): Add Rust setup
Adds a simple Rust setup with autocompletion via Racer and built-in
Cargo command support.
Diffstat (limited to 'init')
-rw-r--r--init/rust-setup.el14
1 files changed, 14 insertions, 0 deletions
diff --git a/init/rust-setup.el b/init/rust-setup.el
new file mode 100644
index 000000000000..a4cf3c5a5116
--- /dev/null
+++ b/init/rust-setup.el
@@ -0,0 +1,14 @@
+(require 'rust-mode)
+
+;; Enable cargo-related (C-c C-c C-...) commands.
+(add-hook 'rust-mode-hook #'cargo-minor-mode)
+
+;; 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)
+(setq company-tooltip-align-annotations t)
+
+;; Ensure long compiler errors don't flow out of the screen (very annoying!)
+(add-hook 'cargo-process-mode-hook #'visual-line-mode)