bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#59662: 29.0.50; [PATCH] Add treesit--indent-defun


From: Dmitry Gutov
Subject: bug#59662: 29.0.50; [PATCH] Add treesit--indent-defun
Date: Sat, 3 Dec 2022 17:59:04 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 03/12/2022 08:47, Eli Zaretskii wrote:
Date: Sat, 3 Dec 2022 00:27:51 +0200
Cc: 59662@debbugs.gnu.org, casouri@gmail.org
From: Dmitry Gutov <dgutov@yandex.ru>

On 02/12/2022 22:07, Theodor Thornhill via Bug reports for GNU Emacs,
the Swiss army knife of text editors wrote:

On 2 December 2022 20:53:13 CET, Dmitry Gutov<dgutov@yandex.ru>  wrote:
On 01/12/2022 09:13, Eli Zaretskii wrote:
After all, until now this functionality and the "C-c C-q"
binding was only in CC Mode.
There is also the 'M-q' binding in the popular paredit-mode.

It runs paredit-reindent-defun.
Yeah. My first iteration was piggybacking on fill-paragraph-function to get 
that binding, but I believe that was undesirable.

IME it's quite handy to have in modes where there is separation between
(rigid) code and strings/comments.

Not sure if that's all of prog-mode descendants, or if there will be
exceptions.

I'm okay with making "C-c C-q" work in more modes than just C-related ones,
but please do that on master, not on the release branch.

As for M-q, it should be bound to a fill-SOMETHING command, not to a
indent-SOMETHING command.  So from my POV paredit-mode should be fixed to
use some other sequence for paredit-reindent-defun, perhaps even "C-c C-q",
but that is IMO an unrelated issue.

And if you wanted to suggest that an indent-defun command in c-ts-mode be
bound to M-q, then I'm very much against that: M-q already has a useful
command bound to it in CC Mode, and should do something similar in
c-ts-mode; I believe we are discussing that in bug#59763.

Both c-fill-paragraph and the proposed ts-c-fill-paragraph perform fill-region when inside a string or comment. Otherwise, do nothing.

paredit-reindent-defun, like I described, does all that too. But when outside strings and comments, it reindents the current defun.

AFAICT, these behaviors are quite compatible. But paredit's binding seems to be useful in more contexts.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]