diff options
author | Theodor Thornhill <theo@thornhill.no> | 2022-12-25 20:11:59 +0100 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-12-28 13:00:43 -0500 |
commit | 7e98b8a0fa67f51784024fac3199d774dfa77192 (patch) | |
tree | 7677db3c9e7685f40f7bbd8b214350ceb0065396 /lisp/emacs-lisp/lisp-mode.el | |
parent | 7dc24fb611c72697b7d34ba2abce0a0abc972a6b (diff) | |
download | emacs-7e98b8a0fa67f51784024fac3199d774dfa77192.tar.gz emacs-7e98b8a0fa67f51784024fac3199d774dfa77192.tar.bz2 emacs-7e98b8a0fa67f51784024fac3199d774dfa77192.zip |
Add treesit-transpose-sexps (bug#60128)
We don't really need to rely on forward-sexp to define what to
transpose. In tree-sitter we can consider siblings as "balanced
expressions", and swap them without doing any movement to calculate
where the siblings in question are.
* lisp/simple.el (transpose-sexps-function): New defvar-local.
(transpose-sexps): Use the new defvar-local if available.
(transpose-subr): Check whether the mover function returns a cons of
conses, then run transpose-subr-1 on the position-pairs.
* lisp/treesit.el (treesit-transpose-sexps): New function.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
0 files changed, 0 insertions, 0 deletions