Advise sp-mark-sexp instead of using extra function

This commit is contained in:
David Morgan 2023-06-13 13:03:00 +01:00
parent af00aa773c
commit 7a7dae3d1a
Signed by: djm
GPG Key ID: C171251002C200F2
1 changed files with 9 additions and 6 deletions

View File

@ -65,11 +65,15 @@ Equivalent to raising then wrapping."
((= paren-char ?\{) (sp-wrap-curly))
((= paren-char ?\[) (sp-wrap-square))
(t (error "Not in a list")))))
(defun sp-mark-to-end-of-sexp ()
"Mark all the way to the end of the current sexp."
(interactive)
(call-interactively 'set-mark-command)
(sp-end-of-sexp))
(defun sp-mark-sexp-advice (origin &rest args)
(if (sp--raw-argument-p (car args))
(push-mark
(save-excursion
(sp-end-of-sexp)
(point))
nil t)
(apply origin args)))
(advice-add 'sp-mark-sexp :around 'sp-mark-sexp-advice)
(unbind-key "M-?" 'smartparens-mode-map)
(unbind-key "M-?" 'sp-keymap)
:bind (:map smartparens-mode-map
@ -91,7 +95,6 @@ Equivalent to raising then wrapping."
("C-S-e" . sp-end-of-sexp)
("M-E" . sp-end-of-sexp)
("M-R" . kill-around-sexp)
("C-M-S-SPC" . sp-mark-to-end-of-sexp)
("C-c C-S-d" . duplicate-sexp-after-point)
("C-c M-(" . wrap-round-from-behind)))