diff options
Diffstat (limited to 'lisp/init-paredit.el')
-rw-r--r-- | lisp/init-paredit.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/init-paredit.el b/lisp/init-paredit.el new file mode 100644 index 0000000..660aab4 --- /dev/null +++ b/lisp/init-paredit.el @@ -0,0 +1,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) |