aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/custom.el2
-rw-r--r--emacs/init.html223
-rw-r--r--emacs/init.org93
3 files changed, 197 insertions, 121 deletions
diff --git a/emacs/custom.el b/emacs/custom.el
index 87fb543..32d4b7e 100644
--- a/emacs/custom.el
+++ b/emacs/custom.el
@@ -15,7 +15,7 @@
'(markdown-command "/usr/bin/markdown-calibre")
'(package-selected-packages
(quote
- (rust-mode vue-mode coffee-mode json-reformat erc-hl-nicks emoji-cheat-sheet-plus helm-circe htmlize cmake-mode websocket markdown-mode go-mode magit evil-leader evil helm projectile writeroom-mode org-eldoc evil-commentary yasnippet yaml-mode which-key web-mode wc-mode use-package terraform-mode smart-tabs-mode slim-mode scss-mode rainbow-delimiters php-mode org-evil olivetti mu4e-alert mmm-jinja2 markdown-preview-mode helm-projectile helm-ag go-eldoc go-add-tags flycheck expand-region evil-surround evil-org evil-numbers evil-mu4e evil-magit evil-args dockerfile-mode disable-mouse default-text-scale crux cmake-font-lock ag))))
+ (salt-mode emms flycheck-rust rust-playground rust-mode vue-mode coffee-mode json-reformat erc-hl-nicks emoji-cheat-sheet-plus helm-circe htmlize cmake-mode websocket markdown-mode go-mode magit evil-leader evil helm projectile writeroom-mode org-eldoc evil-commentary yasnippet yaml-mode which-key web-mode wc-mode use-package terraform-mode smart-tabs-mode slim-mode scss-mode rainbow-delimiters php-mode org-evil olivetti mu4e-alert mmm-jinja2 markdown-preview-mode helm-projectile helm-ag go-eldoc go-add-tags flycheck expand-region evil-surround evil-org evil-numbers evil-mu4e evil-magit evil-args dockerfile-mode disable-mouse default-text-scale crux cmake-font-lock ag))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
diff --git a/emacs/init.html b/emacs/init.html
index f64093b..5f6fb91 100644
--- a/emacs/init.html
+++ b/emacs/init.html
@@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>mssola's GNU Emacs configuration</title>
-<!-- 2017-03-22 Wed 15:06 -->
+<!-- 2017-04-06 Thu 13:19 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<meta name="author" content="Miquel Sabaté Solà" />
@@ -190,10 +190,12 @@ for the JavaScript code in this tag.
<li><a href="#sec-15-3">C and C++</a></li>
<li><a href="#sec-15-4">Ruby</a></li>
<li><a href="#sec-15-5">Go</a></li>
-<li><a href="#sec-15-6">Tabs vs spaces</a></li>
-<li><a href="#sec-15-7">Inferior markup languages.</a></li>
-<li><a href="#sec-15-8">Web-related stuff.</a></li>
-<li><a href="#sec-15-9">Others</a></li>
+<li><a href="#sec-15-6">Rust</a></li>
+<li><a href="#sec-15-7">Tabs vs spaces</a></li>
+<li><a href="#sec-15-8">Inferior markup languages.</a></li>
+<li><a href="#sec-15-9">Web-related stuff.</a></li>
+<li><a href="#sec-15-10">Devops</a></li>
+<li><a href="#sec-15-11">Others</a></li>
</ul>
</li>
<li><a href="#sec-16">WoMan</a></li>
@@ -776,7 +778,7 @@ require it here on the very top.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">diminish</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> diminish
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -794,7 +796,7 @@ Ayo silver!
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">ag</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> ag
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -816,12 +818,12 @@ Then, for keeping up with my projects I use the Projectile + Helm combination.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">projectile</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> projectile
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>projectile-mode 1<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> helm
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> projectile-completion-system 'helm<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -853,10 +855,10 @@ Then, for keeping up with my projects I use the Projectile + Helm combination.
<span class="org-rainbow-delimiters-depth-2">(</span>define-key helm-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-j"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'helm-next-line<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>define-key helm-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-k"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'helm-previous-line<span class="org-rainbow-delimiters-depth-2">)</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm-ag</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> helm-ag
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm-projectile</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> helm-projectile
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>helm-projectile-on<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -969,10 +971,10 @@ extension. This works with lots of languages with proper glue code.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">let-alist</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> let-alist
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">flycheck</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> flycheck
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:diminish</span>
<span class="org-builtin">:config</span>
@@ -995,7 +997,7 @@ with your editor, you have to increase/decrease the fonts. I use the
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">default-text-scale</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> default-text-scale
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>global-set-key <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-+"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'default-text-scale-increase<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1012,7 +1014,7 @@ supports it).
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">rainbow-delimiters</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> rainbow-delimiters
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1023,7 +1025,7 @@ I never use the mouse.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">disable-mouse</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> disable-mouse
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>global-disable-mouse-mode<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1039,7 +1041,7 @@ commands for the current chord as a list.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">which-key</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> which-key
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:diminish</span> which-key-mode
<span class="org-builtin">:config</span>
@@ -1054,7 +1056,7 @@ this, we have <code>wc-mode</code>.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">wc-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> wc-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1066,7 +1068,7 @@ that often, but it's cool to have a distraction-free screen from time to time.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">writeroom-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> writeroom-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1079,7 +1081,7 @@ most of my uses, it's convenient to have this tool anyways.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">expand-region</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> expand-region
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1131,7 +1133,7 @@ remember some of these snippets, I've mapped <kbd>, h</kbd> to
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">yasnippet</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> yasnippet
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:diminish</span> yas-minor-mode
<span class="org-builtin">:init</span> <span class="org-rainbow-delimiters-depth-2">(</span>yas-global-mode<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1291,7 +1293,7 @@ Now make sure that Evil is installed, and call the relevant configuration functi
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1321,7 +1323,7 @@ Vim into Evil.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-leader</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-leader
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>global-evil-leader-mode<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1348,7 +1350,7 @@ having double quotes with single quotes in a single command).
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-surround</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-surround
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>global-evil-surround-mode 1<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
@@ -1364,7 +1366,7 @@ the current line, regardless of the programming language.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-commentary</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-commentary
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>evil-commentary-mode t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
@@ -1380,7 +1382,7 @@ respectively.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-args</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-args
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-comment-delimiter">; </span><span class="org-comment">Configuration taken from the documentation of evil-args.</span>
@@ -1406,7 +1408,7 @@ into Evil: <kbd>C-a</kbd> for increasing a number, and
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-numbers</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> evil-numbers
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>define-key evil-normal-state-map <span class="org-rainbow-delimiters-depth-3">(</span>kbd <span class="org-string">"C-a"</span><span class="org-rainbow-delimiters-depth-3">)</span> 'evil-numbers/inc-at-pt<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1426,7 +1428,7 @@ certainly useful for some common tasks (I guess that I still need some learning)
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">magit</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> magit
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
</pre>
@@ -1461,12 +1463,13 @@ the rest.
</div>
<p>
-Set a key binding for <code>magit-blame</code>.
+Set a key binding for <code>magit-blame</code> and <code>magit-log-buffer-file</code>.
</p>
<div class="org-src-container">
<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span>global-set-key <span class="org-rainbow-delimiters-depth-2">(</span>kbd <span class="org-string">"C-c b"</span><span class="org-rainbow-delimiters-depth-2">)</span> 'magit-blame<span class="org-rainbow-delimiters-depth-1">)</span>
+<span class="org-rainbow-delimiters-depth-1">(</span>global-set-key <span class="org-rainbow-delimiters-depth-2">(</span>kbd <span class="org-string">"C-c l"</span><span class="org-rainbow-delimiters-depth-2">)</span> 'magit-log-buffer-file<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1479,7 +1482,7 @@ And repair some key bindings from Evil mode.
<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">with-eval-after-load</span> 'evil-leader
<span class="org-rainbow-delimiters-depth-2">(</span>evil-leader/set-key <span class="org-string">"s"</span> 'magit-status<span class="org-rainbow-delimiters-depth-2">)</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-magit</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> evil-magit
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1827,7 +1830,7 @@ I want desktop notifications when receiving email.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">mu4e-alert</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> mu4e-alert
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1843,7 +1846,7 @@ I want desktop notifications when receiving email.
<span class="org-comment-delimiter">; </span><span class="org-comment">Evil mode in mu4e</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">with-eval-after-load</span> 'evil
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">evil-mu4e</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> evil-mu4e
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1987,7 +1990,7 @@ blocks to be converted into HTML as well, so we can properly colorize it).
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">htmlize</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> htmlize
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -2194,7 +2197,7 @@ I'm giving ERC a chance. First of all, I'm setting up basic stuff.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">erc</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> erc
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>erc-track-mode t<span class="org-rainbow-delimiters-depth-2">)</span>
@@ -2237,7 +2240,7 @@ Use the <code>erc-hl-nicks</code> package, so highlight support for nicknames is
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">erc-hl-nicks</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> erc-hl-nicks
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:init</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-eval-after-load</span> 'erc
@@ -2390,6 +2393,31 @@ comments and the usage of tabs instead of spaces.
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-3">()</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setq</span> indent-tabs-mode t<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
+
+<p>
+CMake for y'all.
+</p>
+
+<div class="org-src-container">
+
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> cmake-mode
+ <span class="org-builtin">:ensure</span> t
+ <span class="org-builtin">:config</span>
+
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> auto-mode-alist
+ <span class="org-rainbow-delimiters-depth-3">(</span>append
+ '<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-rainbow-delimiters-depth-5">(</span><span class="org-string">"CMakeLists\\.txt\\'"</span> . cmake-mode<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
+ '<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-rainbow-delimiters-depth-5">(</span><span class="org-string">"\\.cmake\\'"</span> . cmake-mode<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
+ auto-mode-alist<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
+
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> cmake-font-lock
+ <span class="org-builtin">:ensure</span> t
+ <span class="org-builtin">:config</span>
+
+ <span class="org-rainbow-delimiters-depth-3">(</span>add-hook 'cmake-mode-hook 'cmake-font-lock-activate<span class="org-rainbow-delimiters-depth-3">)</span>
+ <span class="org-rainbow-delimiters-depth-3">(</span>add-hook 'yaml-mode-hook 'warnings-mode-hook<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
+</pre>
+</div>
</div>
</div>
@@ -2439,18 +2467,18 @@ And now my Go configuration. This includes stuff like the usage of <code>goimpor
<span class="org-rainbow-delimiters-depth-2">(</span>flyspell-prog-mode<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">; </span><span class="org-comment">eldoc support</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-eldoc</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> go-eldoc
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">require</span> '<span class="org-constant">go-eldoc</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-add-tags</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> go-add-tags
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-3">(</span>evil-leader/set-key <span class="org-string">"t"</span> 'go-add-tags<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Go</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">go-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> go-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:pin</span> melpa-stable
<span class="org-builtin">:config</span>
@@ -2464,9 +2492,37 @@ And now my Go configuration. This includes stuff like the usage of <code>goimpor
</div>
<div id="outline-container-sec-15-6" class="outline-3">
-<h3 id="sec-15-6">Tabs vs spaces</h3>
+<h3 id="sec-15-6">Rust</h3>
<div class="outline-text-3" id="text-15-6">
<p>
+Install <code>rust-mode</code> and add some hooks to make it friendlier.
+</p>
+
+<div class="org-src-container">
+
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> rust-mode
+ <span class="org-builtin">:ensure</span> t
+ <span class="org-builtin">:config</span>
+
+ <span class="org-rainbow-delimiters-depth-2">(</span>add-hook 'before-save-hook
+ #'<span class="org-rainbow-delimiters-depth-3">(</span>lambda <span class="org-rainbow-delimiters-depth-4">()</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">when</span> <span class="org-rainbow-delimiters-depth-5">(</span>eq major-mode 'rust-mode<span class="org-rainbow-delimiters-depth-5">)</span>
+ <span class="org-rainbow-delimiters-depth-5">(</span>rust-format-buffer<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
+
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> flycheck-rust
+ <span class="org-builtin">:ensure</span> t
+ <span class="org-builtin">:config</span>
+
+ <span class="org-rainbow-delimiters-depth-3">(</span>add-hook 'flycheck-mode-hook #'flycheck-rust-setup<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
+</pre>
+</div>
+</div>
+</div>
+
+<div id="outline-container-sec-15-7" class="outline-3">
+<h3 id="sec-15-7">Tabs vs spaces</h3>
+<div class="outline-text-3" id="text-15-7">
+<p>
Tabs or spaces? <a href="https://www.emacswiki.org/emacs/TabsSpacesBoth">Both</a>. The <code>smart-tabs-mode</code> has the philosophy of: tabs for
indentation, spaces for alignment. This is only applied in languages where I'm
usings tabs for indentation (C, C++ and Go).
@@ -2474,7 +2530,7 @@ usings tabs for indentation (C, C++ and Go).
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">smart-tabs-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> smart-tabs-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">smart-tabs-add-language-support</span> golang go-mode-hook
@@ -2486,13 +2542,13 @@ usings tabs for indentation (C, C++ and Go).
</div>
</div>
-<div id="outline-container-sec-15-7" class="outline-3">
-<h3 id="sec-15-7">Inferior markup languages.</h3>
-<div class="outline-text-3" id="text-15-7">
+<div id="outline-container-sec-15-8" class="outline-3">
+<h3 id="sec-15-8">Inferior markup languages.</h3>
+<div class="outline-text-3" id="text-15-8">
<div class="org-src-container">
<pre class="src src-elisp"><span class="org-comment-delimiter">;; </span><span class="org-comment">Markdown mode with preview mode in the browser.</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">markdown-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> markdown-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2502,14 +2558,14 @@ usings tabs for indentation (C, C++ and Go).
<span class="org-comment-delimiter">; </span><span class="org-comment">Preview mode does its things through websockets, so it's a requirement.</span>
<span class="org-comment-delimiter">; </span><span class="org-comment">After that, we can safely require it.</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">websocket</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> websocket
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
- <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">use-package</span> <span class="org-constant">markdown-preview-mode</span>
+ <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">use-package</span> markdown-preview-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter">; </span><span class="org-comment">YAML</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">yaml-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> yaml-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2519,26 +2575,26 @@ usings tabs for indentation (C, C++ and Go).
</div>
</div>
-<div id="outline-container-sec-15-8" class="outline-3">
-<h3 id="sec-15-8">Web-related stuff.</h3>
-<div class="outline-text-3" id="text-15-8">
+<div id="outline-container-sec-15-9" class="outline-3">
+<h3 id="sec-15-9">Web-related stuff.</h3>
+<div class="outline-text-3" id="text-15-9">
<p>
Slim and SCSS.
</p>
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">slim-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> slim-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">scss-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> scss-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> scss-compile-at-save nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>add-hook 'yaml-mode-hook 'warnings-mode-hook<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">coffee-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> coffee-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -2550,10 +2606,10 @@ bundle of features which are interesting for web-related stuff.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">php-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> php-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">web-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> web-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2572,7 +2628,7 @@ bundle of features which are interesting for web-related stuff.
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> js-indent-level 2<span class="org-rainbow-delimiters-depth-4">)</span>
<span class="org-rainbow-delimiters-depth-4">(</span>rainbow-delimiters-mode 1<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">vue-mode</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> vue-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setq</span> mmm-submode-decoration-level 0<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
@@ -2599,68 +2655,59 @@ can be frustrating without proper formatting.
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">json-reformat</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> json-reformat
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
</div>
</div>
-<div id="outline-container-sec-15-9" class="outline-3">
-<h3 id="sec-15-9">Others</h3>
-<div class="outline-text-3" id="text-15-9">
+<div id="outline-container-sec-15-10" class="outline-3">
+<h3 id="sec-15-10">Devops</h3>
+<div class="outline-text-3" id="text-15-10">
<p>
-CMake for y'all.
+Highlighting for Dockerfiles.
</p>
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">cmake-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> dockerfile-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> auto-mode-alist
- <span class="org-rainbow-delimiters-depth-3">(</span>append
- '<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-rainbow-delimiters-depth-5">(</span><span class="org-string">"CMakeLists\\.txt\\'"</span> . cmake-mode<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
- '<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-rainbow-delimiters-depth-5">(</span><span class="org-string">"\\.cmake\\'"</span> . cmake-mode<span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
- auto-mode-alist<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
-
- <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">cmake-font-lock</span>
- <span class="org-builtin">:ensure</span> t
- <span class="org-builtin">:config</span>
-
- <span class="org-rainbow-delimiters-depth-3">(</span>add-hook 'cmake-mode-hook 'cmake-font-lock-activate<span class="org-rainbow-delimiters-depth-3">)</span>
- <span class="org-rainbow-delimiters-depth-3">(</span>add-hook 'yaml-mode-hook 'warnings-mode-hook<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span>add-to-list 'auto-mode-alist '<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"Dockerfile\\'"</span> . dockerfile-mode<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
<p>
-Some devops stuff, like Docker, terraform, etc. I have salt-mode disabled for
-now because it's buggy, but I still have hope.
+Stuff from Hashicorp like terraform and HCL.
</p>
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">dockerfile-mode</span>
- <span class="org-builtin">:ensure</span> t
- <span class="org-builtin">:config</span>
-
- <span class="org-rainbow-delimiters-depth-2">(</span>add-to-list 'auto-mode-alist '<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"Dockerfile\\'"</span> . dockerfile-mode<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
-
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">terraform-mode</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> terraform-mode
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span>terraform-format-on-save-mode<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
-<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">hcl-mode</span>
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> hcl-mode
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
+</pre>
+</div>
-<span class="org-comment-delimiter">;</span><span class="org-comment">(use-package salt-mode</span>
- <span class="org-comment-delimiter">;</span><span class="org-comment">:ensure t)</span>
+<div class="org-src-container">
+
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> salt-mode
+ <span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
+</div>
+</div>
+<div id="outline-container-sec-15-11" class="outline-3">
+<h3 id="sec-15-11">Others</h3>
+<div class="outline-text-3" id="text-15-11">
<p>
The <i>soria</i> theme has the <code>soria-purple-identifiers</code> hook. This hook instructs
the theme to use purple for identifiers instead of the default color. This is a
@@ -2727,7 +2774,7 @@ too many things into my leader and these shortcuts look sensible to me).
<div class="org-src-container">
-<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">crux</span>
+<pre class="src src-elisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> crux
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2792,7 +2839,7 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">&lt
</div>
<div id="postamble" class="status">
<p class="author">Author: Miquel Sabaté Solà</p>
-<p class="date">Created: 2017-03-22 Wed 15:06</p>
+<p class="date">Created: 2017-04-06 Thu 13:19</p>
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
diff --git a/emacs/init.org b/emacs/init.org
index 07d1efe..c4d16da 100644
--- a/emacs/init.org
+++ b/emacs/init.org
@@ -986,10 +986,11 @@ the rest.
'show)))
#+END_SRC
-Set a key binding for =magit-blame=.
+Set a key binding for =magit-blame= and =magit-log-buffer-file=.
#+BEGIN_SRC elisp
(global-set-key (kbd "C-c b") 'magit-blame)
+ (global-set-key (kbd "C-c l") 'magit-log-buffer-file)
#+END_SRC
And repair some key bindings from Evil mode.
@@ -1701,6 +1702,27 @@ comments and the usage of tabs instead of spaces.
(lambda () (setq indent-tabs-mode t)))
#+END_SRC
+CMake for y'all.
+
+#+BEGIN_SRC elisp
+ (use-package cmake-mode
+ :ensure t
+ :config
+
+ (setq auto-mode-alist
+ (append
+ '(("CMakeLists\\.txt\\'" . cmake-mode))
+ '(("\\.cmake\\'" . cmake-mode))
+ auto-mode-alist))
+
+ (use-package cmake-font-lock
+ :ensure t
+ :config
+
+ (add-hook 'cmake-mode-hook 'cmake-font-lock-activate)
+ (add-hook 'yaml-mode-hook 'warnings-mode-hook)))
+#+END_SRC
+
** Ruby
Include warning keywords in Ruby.
@@ -1757,6 +1779,27 @@ And now my Go configuration. This includes stuff like the usage of =goimports=,
(add-hook 'go-mode-hook 'mssola-go-mode))
#+END_SRC
+** Rust
+
+Install =rust-mode= and add some hooks to make it friendlier.
+
+#+BEGIN_SRC elisp
+(use-package rust-mode
+ :ensure t
+ :config
+
+ (add-hook 'before-save-hook
+ #'(lambda ()
+ (when (eq major-mode 'rust-mode)
+ (rust-format-buffer))))
+
+ (use-package flycheck-rust
+ :ensure t
+ :config
+
+ (add-hook 'flycheck-mode-hook #'flycheck-rust-setup)))
+#+END_SRC
+
** Tabs vs spaces
Tabs or spaces? [[https://www.emacswiki.org/emacs/TabsSpacesBoth][Both]]. The =smart-tabs-mode= has the philosophy of: tabs for
@@ -1873,52 +1916,38 @@ can be frustrating without proper formatting.
:ensure t)
#+END_SRC
-** Others
+** Devops
-CMake for y'all.
+Highlighting for Dockerfiles.
#+BEGIN_SRC elisp
- (use-package cmake-mode
+ (use-package dockerfile-mode
:ensure t
:config
- (setq auto-mode-alist
- (append
- '(("CMakeLists\\.txt\\'" . cmake-mode))
- '(("\\.cmake\\'" . cmake-mode))
- auto-mode-alist))
-
- (use-package cmake-font-lock
- :ensure t
- :config
-
- (add-hook 'cmake-mode-hook 'cmake-font-lock-activate)
- (add-hook 'yaml-mode-hook 'warnings-mode-hook)))
+ (add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode)))
#+END_SRC
-Some devops stuff, like Docker, terraform, etc. I have salt-mode disabled for
-now because it's buggy, but I still have hope.
+Stuff from Hashicorp like terraform and HCL.
#+BEGIN_SRC elisp
- (use-package dockerfile-mode
- :ensure t
- :config
-
- (add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode)))
-
- (use-package terraform-mode
- :ensure t
- :config
+(use-package terraform-mode
+ :ensure t
+ :config
- (terraform-format-on-save-mode))
+ (terraform-format-on-save-mode))
- (use-package hcl-mode
- :ensure t)
+(use-package hcl-mode
+ :ensure t)
+#+END_SRC
- ;(use-package salt-mode
- ;:ensure t)
+#+BEGIN_SRC elisp
+(use-package salt-mode
+ :ensure t)
#+END_SRC
+** Others
+
The [[https;//github.com/mssola/soria][soria]] theme has the =soria-purple-identifiers= hook. This hook instructs
the theme to use purple for identifiers instead of the default color. This is a
remnant from my Vim times, and I only apply it to some languages (random