summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.org34
-rw-r--r--lisp/init-paredit.el25
2 files changed, 33 insertions, 26 deletions
diff --git a/init.org b/init.org
index 64e47ea..53fc653 100644
--- a/init.org
+++ b/init.org
@@ -801,6 +801,39 @@ Emacs also highlights matching parentheses, but it does so with a delay. Here I
(show-paren-mode 1)
#+END_SRC
+Editing lispy languages is no fun without =paredit=, a mode to enforce balanced parentheses. Enable it automatically when editing Scheme or Elisp.
+
+#+BEGIN_SRC elisp
+(add-hook 'scheme-mode-hook (lambda () (paredit-mode 1)))
+(add-hook 'emacs-lisp-mode-hook (lambda () (paredit-mode 1)))
+(add-hook 'geiser-repl-mode-hook (lambda () (paredit-mode 1)))
+#+END_SRC
+
+Also enable =paredit= when editing Elisp in the minibuffer.
+
+#+BEGIN_SRC elisp
+;; Enable `paredit-mode' in the minibuffer, during `eval-expression'.
+(defun conditionally-enable-paredit-mode ()
+ (if (eq this-command 'eval-expression)
+ (paredit-mode 1)))
+
+(add-hook 'minibuffer-setup-hook 'conditionally-enable-paredit-mode)
+#+END_SRC
+
+Some customisations for =paredit=.
+
+#+BEGIN_SRC elisp
+(with-eval-after-load "paredit"
+ ;; don't hijack \ please
+ (define-key paredit-mode-map (kbd "\\") nil)
+ ;; keybindings
+ (define-key paredit-mode-map (kbd "M-C-<backspace>") 'backward-kill-sexp)
+ ;; making paredit work with delete-selection-mode
+ (put 'paredit-forward-delete 'delete-selection 'supersede)
+ (put 'paredit-backward-delete 'delete-selection 'supersede)
+ (put 'paredit-newline 'delete-selection t))
+#+END_SRC
+
TODO: the parentheses adjustments should happen only when I’m in programming mode.
#+BEGIN_SRC elisp
@@ -1023,7 +1056,6 @@ This is even more stuff to be done after initialising packages. I still need to
(load "init-eshell.el")
(load "init-modeline.el")
(load "init-my-stuff.el")
-(load "init-paredit.el")
;; Revert stale document graphics buffers automatically when the files
;; have changed.
diff --git a/lisp/init-paredit.el b/lisp/init-paredit.el
deleted file mode 100644
index 660aab4..0000000
--- a/lisp/init-paredit.el
+++ /dev/null
@@ -1,25 +0,0 @@
-(require 'paredit)
-
-(add-hook 'scheme-mode-hook (lambda () (paredit-mode 1)))
-(add-hook 'emacs-lisp-mode-hook (lambda () (paredit-mode 1)))
-(add-hook 'geiser-repl-mode-hook (lambda () (paredit-mode 1)))
-
-;; don't hijack \ please
-(define-key paredit-mode-map (kbd "\\") nil)
-
-;; keybindings
-(define-key paredit-mode-map (kbd "M-C-<backspace>") 'backward-kill-sexp)
-
-;; Enable `paredit-mode' in the minibuffer, during `eval-expression'.
-(defun conditionally-enable-paredit-mode ()
- (if (eq this-command 'eval-expression)
- (paredit-mode 1)))
-
-(add-hook 'minibuffer-setup-hook 'conditionally-enable-paredit-mode)
-
-;; making paredit work with delete-selection-mode
-(put 'paredit-forward-delete 'delete-selection 'supersede)
-(put 'paredit-backward-delete 'delete-selection 'supersede)
-(put 'paredit-newline 'delete-selection t)
-
-(provide 'setup-paredit)