From 22b4cd3ea3dd6b88c2ecd0cab98482dc4c0ee163 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Wed, 14 Oct 2020 23:21:46 +0000
Subject: [PATCH] Added support for rust

---
 config.org |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/config.org b/config.org
index fe65344..4bfaa6a 100644
--- a/config.org
+++ b/config.org
@@ -1027,7 +1027,7 @@
     (shell-command "unzip -o ~/.texcount/texcount.zip -d ~/.texcount")
     (add-to-list 'exec-path "~/.texcount/texcount.pl"))
 
-  (if (not(file-exists-p "~/.texcount/texcount.pl"))
+  (if (not(or (file-exists-p "~/.texcount/texcount.pl") (file-exists-p "/usr/bin/texcount")))
       (get-texcount-latest))
 
   (defun texcount ()
@@ -1178,6 +1178,47 @@
     :ensure t)
 #+END_SRC
 
+*** Rust
+**** Major mode
+Get the major mode for rust files.
+#+BEGIN_SRC emacs-lisp
+  (use-package rust-mode
+    :ensure t
+    :config
+    ;; style guide suggests spaces not tabs
+    (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil)))
+    (setq rust-format-on-save t))
+
+  (use-package toml-mode
+    :ensure t)
+#+END_SRC
+**** Cargo integration
+Integrate Cargo, rust's package manager.
+#+BEGIN_SRC emacs-lisp
+  (use-package cargo
+    :ensure t
+    :hook
+    (rust-mode . cargo-minor-mode))
+#+END_SRC
+**** Flycheck
+Linting with flycheck.
+#+BEGIN_SRC emacs-lisp
+  (use-package flycheck-rust
+    :ensure t
+    :config
+    (add-hook 'flyckeck-mode-hook #'flycheck-rust-setup))
+#+END_SRC
+
+**** COMMENT Completion
+Code completion with racer.
+#+BEGIN_SRC emacs-lisp
+  (use-package racer
+    :ensure t
+    :hook ((rust-mode . racer-mode)
+           (racer-mode . (eldoc-mode company-mode)))
+    :init
+    (setq racer-command "~/.cargo/bin/racer"))
+#+END_SRC
 * Org mode
 ** Up to date org
 Pull the latest org mode from the repository, rather than the org which comes with emacs.

--
Gitblit v1.9.3