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 | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 1 deletions(-)
diff --git a/config.org b/config.org
index 4eaadc5..4bfaa6a 100644
--- a/config.org
+++ b/config.org
@@ -54,6 +54,13 @@
(disable-all-themes)
:config
(load-theme 'solarized-dark t)))
+ ((eq emacs-theme 'jetbrains-darcula)
+ (use-package jetbrains-darcula-theme
+ :ensure t
+ :init
+ (disable-all-themes)
+ :config
+ (load-theme 'jetbrains-darcula t)))
((eq emacs-theme 'none)
(disable-all-themes)))
#+END_SRC
@@ -670,6 +677,28 @@
(defalias 'yes-or-no-p 'y-or-n-p)
#+END_SRC
+** COMMENT Sublime-like minimap
+Get a minimap preview of the file on the side like sublime text.
+Want to make work but need to find a good way of doing so.
+#+BEGIN_SRC emacs-lisp
+ (use-package sublimity
+ :ensure t
+ :config
+ (require 'sublimity-scroll)
+ (setq sublimity-scroll-weight 4
+ sublimity-scroll-drift-length 3)
+ (require 'sublimity-map)
+ (setq sublimity-map-size 20
+ sublimity-map-scale 0.3)
+ (sublimity-map-set-delay nil)
+ (sublimity-mode 1))
+
+ (use-package minimap
+ :ensure t
+ :config
+ (minimap-mode))
+#+END_SRC
+
* Mode line tweaks
Diminish is used but is included in init.el such that it can be used throughout this document
** Spaceline
@@ -693,6 +722,15 @@
(setq powerline-default-separator nil)
#+END_SRC
+** Nyan mode
+Use nyan cat as a reference for buffer progression.
+#+BEGIN_SRC emacs-lisp
+ (use-package nyan-mode
+ :ensure t
+ :config
+ (nyan-mode 1))
+#+END_SRC
+
* Programming tweaks
** Yasnippet
Add snippets, pretty useful.
@@ -989,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 ()
@@ -1140,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.10.0