From 7914736901214c8190291397bb87eb64d1e332a2 Mon Sep 17 00:00:00 2001 From: Tobias Ostner Date: Mon, 8 Jan 2024 12:44:23 +0100 Subject: [PATCH] Add smartparens keybindings --- .emacs.d/init.el | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 569966c..3128c00 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -564,20 +564,33 @@ (use-package smartparens :hook ((prog-mode . smartparens-mode)) + :bind + (:map smartparens-mode-map + ("C-M-f" . sp-forward-sexp) + ("C-M-b" . sp-backward-sexp) + ("C-M-e" . sp-up-sexp) + ("C-M-u" . sp-backward-up-sexp) + ("C-M-t" . sp-transpose-sexp) + ("C-M-k" . sp-kill-sexp) + ("C-M-w" . sp-copy-sexp) + ("C-M-]" . sp-forward-slurp-sexp) + ("C-M-[" . sp-backward-slurp-sexp) + ("C-M-}" . sp-forward-barf-sexp) + ("C-M-{" . sp-backward-barf-sexp) + ("M-" . sp-unwrap-sexp)) :config (require 'smartparens-config) - (setq sp-base-key-bindings 'paredit) - (sp-use-paredit-bindings) - (defun indent-between-pair (&rest _ignored) + (defun to/indent-between-pair (&rest _ignored) + (message "to/indent-between-pair") (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 'prog-mode "{" nil :post-handlers '((to/indent-between-pair "RET"))) + (sp-local-pair 'prog-mode "[" nil :post-handlers '((to/indent-between-pair "RET"))) + (sp-local-pair 'prog-mode "(" nil :post-handlers '((to/indent-between-pair "RET"))) (sp-local-pair 'swift-mode "\\(" ")" :when '(sp-in-string-p)))