Subject: Re: bug#74386: Tree-sitter javascript indentation

From: Yuan Fu <[email-masked]>
Date: Sun, 1 Dec 2024 11:10:14 -0800

> On Dec 1, 2024, at 5:11 AM, Dmitry Gutov <[email-masked]> wrote:
> 
> On 01/12/2024 07:23, Yuan Fu wrote:
>>>> For more experimenting, also check out 'M-x treesit-explore-mode'.
>>>> 
>>>> And here's how to immediately find out which indentation rule was used:
>>>> 
>>>>   (setq treesit--indent-verbose t)
>>> Theo, please chime in.  Should Dmitry install his changes?
>> The standalone-parent anchor is designed specifically to solve the bug described here, and changing parent-bol to standalone-parent is very safe. So IMO we can merge this (either to emacs-30 or master).
> 
> Thanks for your answer.
> 
> What I was wondering, is whether we might need some user option(s) to switch back to parent-bol instead of standalone-parent for some constructs, and whether we should replace more uses of parent-bol with standaline-parent, and if so, which ones.
> 
> Also see the example of the indentation change with that patch (switching from one fairly popular indentation style to one slightly less popular - AFAIK).

Ah, I see. That’s a good point, and I definitely prefer the indentation result of parent-bol here. The one produced by standalone-parent is just wrong. What we can do is make standalone-parent ignore “.” when checking for “standaloneness”. And perhaps make it configurable so it’s enabled only for modes that this waiver makes sense (C-like languages excluding C and C++).

Yuan