From c6f43c514b4b5afe3bd156f7522fc23589cc77d1 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Wed, 28 Sep 2016 00:01:26 +0200 Subject: Add clojure and cider configuration --- emacs/.emacs.d/init.org | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) (limited to 'emacs/.emacs.d/init.org') diff --git a/emacs/.emacs.d/init.org b/emacs/.emacs.d/init.org index 13f18fd..b440c06 100644 --- a/emacs/.emacs.d/init.org +++ b/emacs/.emacs.d/init.org @@ -701,6 +701,93 @@ To start off, first I need to enable lexical binding. (add-hook 'css-mode-hook 'electric-indent-local-mode) #+END_SRC +** Clojure mode + + #+BEGIN_SRC emacs-lisp + (ensure-library clojure-mode) + #+END_SRC + + Install extra font-locking for clojure. + + #+BEGIN_SRC emacs-lisp + (ensure-library clojure-mode-extra-font-locking) + + (with-eval-after-load 'clojure-mode + (require 'clojure-mode-extra-font-locking)) + #+END_SRC + + Enable paredit mode. + + #+BEGIN_SRC emacs-lisp + (add-hook 'clojure-mode-hook 'paredit-mode) + #+END_SRC + + Use the clojure repl as the inferior lisp mode. + + #+BEGIN_SRC emacs-lisp + (eval-when-compile (require 'inf-lisp)) + + (defun oni:clojure-set-inferior-lisp () + (setq inferior-lisp-program "lein repl")) + #+END_SRC + + Add a little more font locking still, and some indentation. This is + included in the Clojure for the Brave and True configuration. + + #+BEGIN_SRC emacs-lisp + (add-hook 'clojure-mode-hook 'oni-clojure-add-font-lock) + (add-hook 'clojure-mode-hook 'oni-clojure-add-indent) + #+END_SRC + +** Cider mode + + Cider is like Slime for Common Lisp. This configuration is copied + from the one provided by Clojure for the Brave and True. + + #+BEGIN_SRC emacs-lisp + (ensure-library cider) + #+END_SRC + + Provides minibuffer documentation for the code you're typing into + the repl. + + #+BEGIN_SRC emacs-lisp + (add-hook 'cider-mode-hook 'cider-turn-on-eldoc-mode) + #+END_SRC + + Go right to the REPL buffer when it's finished connecting + + #+BEGIN_SRC emacs-lisp + (with-eval-after-load 'cider + (setq cider-repl-pop-to-buffer-on-connect t)) + #+END_SRC + + When there's a cider error, show its buffer and switch to it. + + #+BEGIN_SRC emacs-lisp + (setq cider-show-error-buffer t + cider-auto-select-error-buffer t) + #+END_SRC + + Where to store the cider history. + + #+BEGIN_SRC emacs-lisp + (setq cider-repl-history-file + (oni:data-location "cider-history")) + #+END_SRC + + Wrap when navigating history. + + #+BEGIN_SRC emacs-lisp + (setq cider-repl-wrap-history t) + #+END_SRC + + Enable paredit in your REPL. + + #+BEGIN_SRC emacs-lisp + (add-hook 'cider-repl-mode-hook 'paredit-mode) + #+END_SRC + * Applications ** Magit -- cgit v1.2.3-54-g00ecf