Last active
December 17, 2015 05:09
-
-
Save knjname/5555801 to your computer and use it in GitHub Desktop.
init.el template for the clojure programming!
(Put this file to ~/.emacs.d/init.el )
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ;;; -*-coding:utf-8-*- | |
| ;; Ensure el-get existence. | |
| (add-to-list 'load-path "~/.emacs.d/el-get/el-get") | |
| (unless (require 'el-get nil 'noerror) | |
| (with-current-buffer | |
| (url-retrieve-synchronously | |
| "https://raw.github.com/dimitri/el-get/master/el-get-install.el") | |
| (goto-char (point-max)) | |
| (eval-print-last-sexp))) | |
| (add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes") | |
| ;; Install required macros. | |
| (el-get 'sync 'paredit 'rainbow-delimiters 'clojure-mode 'nrepl) | |
| ;; Customized functions to format LISP expressions before saving file. | |
| (defun format-all () (interactive) | |
| (save-excursion | |
| (mark-whole-buffer) | |
| (indent-for-tab-command))) | |
| (defun shrink-close-paren () (interactive) | |
| (save-excursion | |
| (mark-defun) | |
| (while (re-search-forward ")[ \t\n]+?)" nil t) | |
| (replace-match "))" nil nil) | |
| (mark-defun)))) | |
| (defun lisp-format () (interactive) | |
| (format-all) | |
| (shrink-close-paren)) | |
| (defun add-lisp-format-before-save () (interactive) | |
| (add-hook 'before-save-hook | |
| 'lisp-format | |
| t t)) | |
| (add-hook 'clojure-mode-hook | |
| 'add-lisp-format-before-save) | |
| ;; Add paredit support to various LISP modes. | |
| (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) | |
| (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode) | |
| (add-hook 'ielm-mode-hook #'enable-paredit-mode) | |
| (add-hook 'lisp-mode-hook #'enable-paredit-mode) | |
| (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode) | |
| (add-hook 'scheme-mode-hook #'enable-paredit-mode) | |
| (add-hook 'clojure-mode-hook #'enable-paredit-mode) |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The argument order of el-get is so important, I didn't know that.
nrepl requires that clojure-mode was already defined before its loading...