aboutsummaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2017-03-02 09:54:19 +0100
committerMiquel Sabaté Solà <msabate@suse.com>2017-03-02 09:54:19 +0100
commit3a01885db43120b1ebf6448a74915503e6cd98b0 (patch)
tree3dbd1eb0c9b148d3b839f7589c09b041e1c32cee /emacs
parent5a7c3f83e014a799fe1a3c33e42d0aee5feb9c9f (diff)
downloaddotfiles-3a01885db43120b1ebf6448a74915503e6cd98b0.tar.gz
dotfiles-3a01885db43120b1ebf6448a74915503e6cd98b0.zip
emacs: improved web-mode with stuff for js and jsx
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'emacs')
-rw-r--r--emacs/init.html127
-rw-r--r--emacs/init.org59
2 files changed, 116 insertions, 70 deletions
diff --git a/emacs/init.html b/emacs/init.html
index eea094a..13b6432 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-02-21 Tue 12:32 -->
+<!-- 2017-02-27 Mon 16:49 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<meta name="author" content="Miquel Sabaté Solà" />
@@ -543,6 +543,12 @@ Never kill the scratch buffer, bury it instead.
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-4">(</span>equal buffer-to-kill <span class="org-string">"*scratch*"</span><span class="org-rainbow-delimiters-depth-4">)</span>
<span class="org-rainbow-delimiters-depth-4">(</span>bury-buffer<span class="org-rainbow-delimiters-depth-4">)</span>
ad-do-it<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">defadvice</span> <span class="org-function-name">kill-this-buffer</span> <span class="org-rainbow-delimiters-depth-2">(</span>around kill-buffer-around-advice activate<span class="org-rainbow-delimiters-depth-2">)</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">let</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span>buffer-to-kill <span class="org-rainbow-delimiters-depth-5">(</span>ad-get-arg 0<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-3">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-4">(</span>equal buffer-to-kill <span class="org-string">"*scratch*"</span><span class="org-rainbow-delimiters-depth-4">)</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span>bury-buffer<span class="org-rainbow-delimiters-depth-4">)</span>
+ ad-do-it<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>
@@ -770,7 +776,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> diminish
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -788,7 +794,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> ag
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -810,12 +816,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> projectile
+<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>
<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> helm
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">helm</span>
<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>
@@ -847,10 +853,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> helm-ag
+ <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-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> helm-projectile
+<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-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>
@@ -963,10 +969,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> let-alist
+<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>
<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> flycheck
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">flycheck</span>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:diminish</span>
<span class="org-builtin">:config</span>
@@ -989,7 +995,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> default-text-scale
+<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>
<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>
@@ -1006,7 +1012,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> rainbow-delimiters
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1017,7 +1023,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> disable-mouse
+<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>
<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>
@@ -1033,7 +1039,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> which-key
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1045,7 +1051,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> wc-mode
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1057,7 +1063,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> writeroom-mode
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -1070,7 +1076,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> expand-region
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1104,7 +1110,7 @@ snippets in another buffer.
<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> yasnippet
+<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>
<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>
@@ -1264,7 +1270,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> evil
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1294,7 +1300,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> evil-leader
+<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>
<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>
@@ -1321,7 +1327,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> evil-surround
+<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>
<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>
@@ -1337,7 +1343,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> evil-commentary
+<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>
<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>
@@ -1353,7 +1359,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> evil-args
+<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>
<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>
@@ -1379,7 +1385,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> evil-numbers
+<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>
<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>
@@ -1399,7 +1405,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> magit
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
</pre>
@@ -1452,7 +1458,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> evil-magit
+ <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-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1800,7 +1806,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> mu4e-alert
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1816,7 +1822,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> evil-mu4e
+ <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-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -1960,7 +1966,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> htmlize
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -2167,7 +2173,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> erc
+<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>
<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>
@@ -2210,7 +2216,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> erc-hl-nicks
+<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>
<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
@@ -2412,18 +2418,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> go-eldoc
+ <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-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> go-add-tags
+ <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-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> go-mode
+<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-builtin">:ensure</span> t
<span class="org-builtin">:pin</span> melpa-stable
<span class="org-builtin">:config</span>
@@ -2447,7 +2453,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> smart-tabs-mode
+<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>
<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
@@ -2465,7 +2471,7 @@ usings tabs for indentation (C, C++ and Go).
<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> markdown-mode
+<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-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2475,14 +2481,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> websocket
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">use-package</span> <span class="org-constant">websocket</span>
<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> markdown-preview-mode
+ <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-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> yaml-mode
+<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-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2501,17 +2507,17 @@ Slim and SCSS.
<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> slim-mode
+<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>
<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> scss-mode
+<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-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> coffee-mode
+<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-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -2523,10 +2529,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> php-mode
+<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>
<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> web-mode
+<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-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2538,7 +2544,24 @@ bundle of features which are interesting for web-related stuff.
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-4">()</span>
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> web-mode-markup-indent-offset 2<span class="org-rainbow-delimiters-depth-4">)</span>
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> web-mode-css-indent-offset 2<span class="org-rainbow-delimiters-depth-4">)</span>
- <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> web-mode-code-indent-offset 2<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-1">)</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq</span> web-mode-code-indent-offset 2<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>add-hook 'js-mode-hook
+ <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-4">()</span>
+ <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-comment-delimiter">; </span><span class="org-comment">React: treat it as a derived mode. Idea taken from spacemacs.</span>
+ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">define-derived-mode</span> <span class="org-function-name">react-mode</span> web-mode <span class="org-string">"react"</span><span class="org-rainbow-delimiters-depth-2">)</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">"\\.jsx\\'"</span> . react-mode<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</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">"\\.react.js\\'"</span> . react-mode<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
+
+ <span class="org-rainbow-delimiters-depth-2">(</span>add-hook 'react-mode-hook
+ <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-4">()</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span>yas-activate-extra-mode 'js-mode<span class="org-rainbow-delimiters-depth-4">)</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span>web-mode-set-content-type <span class="org-string">"jsx"</span><span class="org-rainbow-delimiters-depth-4">)</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-keyword">setq-local</span> web-mode-enable-auto-quoting nil<span class="org-rainbow-delimiters-depth-4">)</span>
+ <span class="org-rainbow-delimiters-depth-4">(</span>rainbow-delimiters 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-1">)</span>
</pre>
</div>
@@ -2550,7 +2573,7 @@ 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> json-reformat
+<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>
<span class="org-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
@@ -2566,7 +2589,7 @@ CMake for y'all.
<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
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2576,7 +2599,7 @@ CMake for y'all.
'<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-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>
@@ -2592,19 +2615,19 @@ now because it's buggy, but I still have hope.
<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> dockerfile-mode
+<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> terraform-mode
+<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package</span> <span class="org-constant">terraform-mode</span>
<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> hcl-mode
+<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-builtin">:ensure</span> t<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter">;</span><span class="org-comment">(use-package salt-mode</span>
@@ -2678,7 +2701,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> crux
+<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>
<span class="org-builtin">:ensure</span> t
<span class="org-builtin">:config</span>
@@ -2743,7 +2766,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-02-21 Tue 12:32</p>
+<p class="date">Created: 2017-02-27 Mon 16:49</p>
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.1.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 424cdcd..56b105f 100644
--- a/emacs/init.org
+++ b/emacs/init.org
@@ -270,11 +270,17 @@ Remove the initial message from the scratch buffer.
Never kill the scratch buffer, bury it instead.
#+BEGIN_SRC elisp
- (defadvice kill-buffer (around kill-buffer-around-advice activate)
- (let ((buffer-to-kill (ad-get-arg 0)))
- (if (equal buffer-to-kill "*scratch*")
- (bury-buffer)
- ad-do-it)))
+(defadvice kill-buffer (around kill-buffer-around-advice activate)
+ (let ((buffer-to-kill (ad-get-arg 0)))
+ (if (equal buffer-to-kill "*scratch*")
+ (bury-buffer)
+ ad-do-it)))
+
+(defadvice kill-this-buffer (around kill-buffer-around-advice activate)
+ (let ((buffer-to-kill (ad-get-arg 0)))
+ (if (equal buffer-to-kill "*scratch*")
+ (bury-buffer)
+ ad-do-it)))
#+END_SRC
No backups
@@ -1801,22 +1807,39 @@ Languages specific for backend code like PHP, and =web-mode=, which provides a
bundle of features which are interesting for web-related stuff.
#+BEGIN_SRC elisp
- (use-package php-mode
- :ensure t)
+(use-package php-mode
+ :ensure t)
- (use-package web-mode
- :ensure t
- :config
+(use-package web-mode
+ :ensure t
+ :config
- (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
- (add-to-list 'auto-mode-alist '("\\.jinja\\'" . web-mode))
- (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
+ (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
+ (add-to-list 'auto-mode-alist '("\\.jinja\\'" . web-mode))
+ (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
- (add-hook 'web-mode-hook
- (lambda ()
- (setq web-mode-markup-indent-offset 2)
- (setq web-mode-css-indent-offset 2)
- (setq web-mode-code-indent-offset 2))))
+ (add-hook 'web-mode-hook
+ (lambda ()
+ (setq web-mode-markup-indent-offset 2)
+ (setq web-mode-css-indent-offset 2)
+ (setq web-mode-code-indent-offset 2)))
+
+ (add-hook 'js-mode-hook
+ (lambda ()
+ (setq js-indent-level 2)
+ (rainbow-delimiters-mode 1)))
+
+ ; React: treat it as a derived mode. Idea taken from spacemacs.
+ (define-derived-mode react-mode web-mode "react")
+ (add-to-list 'auto-mode-alist '("\\.jsx\\'" . react-mode))
+ (add-to-list 'auto-mode-alist '("\\.react.js\\'" . react-mode))
+
+ (add-hook 'react-mode-hook
+ (lambda ()
+ (yas-activate-extra-mode 'js-mode)
+ (web-mode-set-content-type "jsx")
+ (setq-local web-mode-enable-auto-quoting nil)
+ (rainbow-delimiters 1))))
#+END_SRC
The =json-reformat= package provides functions for reformatting JSON strings. It