summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2025-02-12 19:16:18 -0500
committertdback <tyler@tdback.net>2025-02-12 19:16:18 -0500
commit4a3cf16aebc6080bdcae419c87e0a9aa09368017 (patch)
tree5a8b6934b1463c6487ce400716b5e3aabce914bc
parenta352abe7045ab22724b816f90066780d3ffa5f8d (diff)
lisp/td-common: add puni for structured editing
-rw-r--r--lisp/td-common.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/lisp/td-common.el b/lisp/td-common.el
index e16f800..b3a84d2 100644
--- a/lisp/td-common.el
+++ b/lisp/td-common.el
@@ -129,6 +129,30 @@
("\\`\\(/tmp\\|/dev/shm\\)\\([^/]*/\\)*\\(.*\\)\\'" "\\3")
("." ,auto-save-dir t)))))
+(use-package puni
+ :ensure t
+ :hook (((eat-mode eshell-mode) . puni-disable-puni-mode)
+ (prog-mode . puni-mode)
+ (puni-mode . electric-pair-local-mode))
+ :bind (:map puni-mode-map
+ ([remap forward-sentence] . puni-beginning-of-sexp)
+ ([remap backward-sentence] . puni-end-of-sexp)
+ ([remap forward-sexp] . puni-forward-sexp-or-up-list)
+ ([remap backward-sexp] . puni-backward-sexp-or-up-list)
+ ([remap kill-line] . puni-kill-line)
+ ([remap mark-paragraph] . puni-expand-region)
+ ("C-)" . puni-slurp-forward)
+ ("C-(" . puni-slurp-backward)
+ ("C-}" . puni-barf-forward)
+ ("C-{" . puni-barf-backward)
+ ("M-(" . puni-wrap-round)
+ ("C-M-t" . puni-transpose)
+ ("C-M-?" . puni-convolute)
+ ("C-M-z" . puni-squeeze)
+ ("C-w" . kill-region))
+ :config
+ (puni-global-mode t))
+
(use-package savehist
:ensure t
:init