summaryrefslogtreecommitdiff
path: root/lisp/init-paredit.el
blob: 660aab45fddf331e116034ceac5e19ab3d0c3fd7 (about) (plain)
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
(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)