diff options
author | Alan Pearce | 2014-10-11 18:23:06 +0100 |
---|---|---|
committer | Alan Pearce | 2014-10-11 18:23:06 +0100 |
commit | 2fd077caef472d4e610acf66ff0a548cf0ead686 (patch) | |
tree | 82d2e8300e09851658b1d9a1a1c87e027a280992 | |
parent | 0959519eaa0ad9c4f0098e562da60f3bcdf01b74 (diff) | |
download | nixfiles-2fd077caef472d4e610acf66ff0a548cf0ead686.tar.lz nixfiles-2fd077caef472d4e610acf66ff0a548cf0ead686.tar.zst nixfiles-2fd077caef472d4e610acf66ff0a548cf0ead686.zip |
Emacs: Revert to paredit for lisp modes.
Smartparens is nice, but isn't as nice as paredit in lispy languages, even in strict mode.
-rw-r--r-- | tag-emacs/emacs.d/Cask | 1 | ||||
-rw-r--r-- | tag-emacs/emacs.d/init.el | 24 |
2 files changed, 23 insertions, 2 deletions
diff --git a/tag-emacs/emacs.d/Cask b/tag-emacs/emacs.d/Cask index 1a65cc3d..4809547d 100644 --- a/tag-emacs/emacs.d/Cask +++ b/tag-emacs/emacs.d/Cask @@ -63,6 +63,7 @@ (depends-on "org-plus-contrib") (depends-on "pallet") (depends-on "paradox") +(depends-on "paredit") (depends-on "persp-projectile") (depends-on "perspective") (depends-on "php-extras") diff --git a/tag-emacs/emacs.d/init.el b/tag-emacs/emacs.d/init.el index 051d2987..120c85b2 100644 --- a/tag-emacs/emacs.d/init.el +++ b/tag-emacs/emacs.d/init.el @@ -1057,7 +1057,26 @@ mouse-1: Display Line and Column Mode Menu")))))) :commands (eldoc-mode) :diminish eldoc-mode :config (progn - (setq eldoc-idle-delay 0.1))) + (setq eldoc-idle-delay 0.1) + (eldoc-add-command 'paredit-backward-delete 'paredit-close-round))) + +(req-package paredit + :diminish "()" + :commands (paredit-mode) + :config (progn + (defun ap/cedit-space-delimiter-p (endp delimiter) + "Don't insert a space before delimiters in c-style modes" + (not cedit-mode)) + (add-to-list 'paredit-space-for-delimiter-predicates #'ap/cedit-space-delimiter-p)) + :init (progn + (add-hook 'lisp-mode-common-hook #'enable-paredit-mode) + (put #'paredit-forward-delete 'delete-selection 'supersede) + (put #'paredit-backward-delete 'delete-selection 'supersede) + (add-hook 'minibuffer-setup-hook #'conditionally-enable-paredit-mode) + (defun conditionally-enable-paredit-mode () + "enable paredit-mode during eval-expression" + (if (eq this-command 'eval-expression) + (paredit-mode 1))))) (req-package smartparens-config :config (progn @@ -1077,7 +1096,8 @@ mouse-1: Display Line and Column Mode Menu")))))) (bind-key "C-M-S-k" #'sp-kill-hybrid-sexp sp-keymap) (bind-key "C-S-<right>" #'sp-slurp-hybrid-sexp sp-keymap) (show-smartparens-global-mode t) - (smartparens-global-strict-mode t))) + (smartparens-global-strict-mode t) + (add-hook 'lisp-mode-common-hook #'turn-off-smartparens-mode))) (req-package move-text :config (move-text-default-bindings)) |