diff options
Diffstat (limited to 'configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el')
-rw-r--r-- | configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el new file mode 100644 index 000000000000..c15c4526c2ee --- /dev/null +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el @@ -0,0 +1,45 @@ +;;; lisp.el --- Generic LISP preferences -*- lexical-binding: t -*- +;; Author: William Carroll <wpcarro@gmail.com> + +;;; Commentary: +;; This hosts things like Paredit settings + +;;; Code: + +(defconst wpc/lisp-mode-hooks + '(emacs-lisp-mode-hook + clojure-mode-hook + clojurescript-mode-hook)) + +;; Elisp +(use-package elisp-slime-nav + :ghook + 'emacs-lisp-mode + 'ielm-mode) + +;; Here is some of the thinking behind some of the keybindings: +;; +;; slurp s +;; barf S +;; forward ) +;; backward ( +;; +;; Known concession: s and S eclipse Vim bindings. There is a precedent already +;; for eclipsing the s binding for window splitting. Shift-s feel appropriate +;; for barfing, since eclisping the b KBD feels less acceptable than eclisping +;; the s KBD. + +;; paredit LISP editing +(use-package paredit + :general + (general-unbind paredit-mode-map "C-j" "M-q") + (n paredit-mode-map + "s)" 'paredit-forward-slurp-sexp + "s(" 'paredit-backward-slurp-sexp + "S)" 'paredit-forward-barf-sexp + "S(" 'paredit-backward-barf-sexp + "gr" 'paredit-raise-sexp) + :ghook (wpc/lisp-mode-hooks #'enable-paredit-mode)) + +(provide 'wpc-lisp) +;;; lisp.el ends here |