[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40760: 27.0.50; An indentation problem with const and chaining in js
From: |
Marcin Borkowski |
Subject: |
bug#40760: 27.0.50; An indentation problem with const and chaining in js-mode |
Date: |
Mon, 14 Mar 2022 11:13:49 +0100 |
User-agent: |
mu4e 1.1.0; emacs 29.0.50 |
On 2022-03-14, at 10:40, Lars Ingebrigtsen <larsi@gnus.org> wrote:
> Marcin Borkowski <mbork@mbork.pl> writes:
>
>> When declaring a const variable which is assigned a value of a long,
>> chained expression, the default indentation is wrong (compared to a let
>> declaration):
>>
>> let a = /regex/
>> .test('regex hello');
>>
>> const a = /regex/
>> .test('regex hello');
>
> I think this is the intended indentation? That is, they indent to where
> the "a" is.
Well, in a tab-only indentation style (used by many people, me included)
this is _very_ wrong, e.g. because it results in Emacs using both tabs
and spaces here.
> Marcin Borkowski <mbork@mbork.pl> writes:
>
>> This is the temporary solution I employed:
>>
>> (setq js--declaration-keyword-re "\\<\\(let\\|var\\)\\>")
>>
>> I would suggest turning this variable into a user option.
>
> This isn't just used for indentation, so altering this const will lead
> to other breakages (and so it shouldn't be customiseable, either).
Grep apparently disagrees - I found 5 occurrences of
`js--declaration-keyword-re' in Emacs sources, and all of them seem to
be related to indentation. So, I don't see any danger here. (Anyway,
I changed it in my init.el; we'll see how that works.)
Best,
--
Marcin Borkowski
http://mbork.pl