diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 24cad9e..e7d5c24 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -559,7 +559,19 @@ :config (require 'smartparens-config) (setq sp-base-key-bindings 'paredit) - (sp-use-paredit-bindings)) + (sp-use-paredit-bindings) + + (defun indent-between-pair (&rest _ignored) + (newline) + (indent-according-to-mode) + (forward-line -1) + (indent-according-to-mode)) + + (sp-local-pair 'prog-mode "{" nil :post-handlers '((indent-between-pair "RET"))) + (sp-local-pair 'prog-mode "[" nil :post-handlers '((indent-between-pair "RET"))) + (sp-local-pair 'prog-mode "(" nil :post-handlers '((indent-between-pair "RET"))) + + (sp-local-pair 'swift-mode "\\(" ")" :when '(sp-in-string-p))) (use-package so-long :config