blob: cebe7b265761f0fa5f0370f1e48421bbbefedbe7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
;;; lisp.el --- Generic LISP preferences -*- lexical-binding: t -*-
;; Author: William Carroll <wpcarro@gmail.com>
;;; Commentary:
;; This hosts things like Paredit settings
;;
;; 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.
;;; Code:
(defconst wpc/lisp-mode-hooks
'(emacs-lisp-mode-hook
clojure-mode-hook
clojurescript-mode-hook))
;; Elisp
(use-package elisp-slime-nav
:config
(general-add-hook 'emacs-lisp-mode #'ielm-mode))
;; paredit LISP editing
(use-package paredit
:config
(general-unbind
:keymaps 'paredit-mode-map
"C-j"
"M-q")
(general-nmap
:keymaps '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)
(general-add-hook wpc/lisp-mode-hooks #'enable-paredit-mode))
(provide 'wpc-lisp)
;;; wpc-lisp.el ends here
|