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

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

bug#68054: [PATCH] Add tree-sitter indent rule for lexical decls in js/t


From: Dmitry Gutov
Subject: bug#68054: [PATCH] Add tree-sitter indent rule for lexical decls in js/typescript
Date: Sun, 31 Dec 2023 02:31:46 +0200
User-agent: Mozilla Thunderbird

On 30/12/2023 22:31, Yuan Fu wrote:

On Dec 29, 2023, at 8:24 PM, Yuan Fu<casouri@gmail.com>  wrote:



On Dec 26, 2023, at 10:21 PM, Noah Peart<noah.v.peart@gmail.com>  wrote:

Tags: patch

* Bug: `js-ts-mode` and `typescript-ts-mode` are missing indentation
rules for lexical declarations that span multiple lines.

Recipe to reproduce:

Using the following function to configure js-ts-mode and indent the
buffer:

    (defun try-indent ()
      (interactive)
      (js-ts-mode)
      (setq-local indent-tabs-mode nil)
      (setq-local js-indent-level 4)
      (indent-region (point-min) (point-max)))

Add the following example to a buffer and call `try-indent`.

    let foo = 1,
    bar = 2; // no indent rule matches this line

No indentation is applied to the second line.

This patch adds a simple indentation rules for `js-ts-mode` and
`typescript-ts-mode` to handle the multi-line lexical declarations.
It seems that js-mode indents bar to align with foo, rather than indenting one 
level. I feel that we should do the same, WDYT?

Yes, please. This also makes a difference when the variables are declared with 'const' instead of 'let'.

We should also support 'var' declarations: the parent node type to match against is "variable_declaration".





reply via email to

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