GNU bug report logs - #60128
30.0.50; [PATCH]: Add treesit-transpose-sexps

Previous Next

Package: emacs;

Reported by: Theodor Thornhill <theo <at> thornhill.no>

Date: Fri, 16 Dec 2022 20:05:01 UTC

Severity: wishlist

Tags: patch

Found in version 30.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Theodor Thornhill <theo <at> thornhill.no>
To: 60128 <at> debbugs.gnu.org
Cc: casouri <at> gmail.com, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#60128: 30.0.50; [PATCH]: Add treesit-transpose-sexps
Date: Fri, 16 Dec 2022 21:04:28 +0100
[Message part 1 (text/plain, inline)]
Hi there!

Attached is a patch that enables transpose-sexps for tree-sitter enabled
modes.

This function will swap the node _before_ node-at-point with the node
_after_, so it would do something like:

       foo a|nd bar => bar and foo|

or
       foo(a + 4,| y + c * b, b, d); => foo(y + c * b, a + 4|, b, d);

It will _not_ try to swap things that are not siblings.  I think that
makes sense in the case of non-lisp languages, since _most_ places you
can transpose-sexps you will end up with broken code.

What do you think?  I think this makes sense on the master branch, not
release.

Theo

[0001-Add-treesit-transpose-sexps.patch (text/x-diff, attachment)]

This bug report was last modified 1 year and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.