GNU bug report logs - #76704
30.1; Indentation of braces on separate line in js-ts-mode

Previous Next

Package: emacs;

Reported by: Fabian Brosda <f.brosda <at> gmx.de>

Date: Mon, 3 Mar 2025 04:33:03 UTC

Severity: minor

Found in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 76704 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Fabian Brosda <f.brosda <at> gmx.de>, Juri Linkov <juri <at> linkov.net>,
 Vincenzo Pupillo <v.pupillo <at> gmail.com>
Cc: 76704 <at> debbugs.gnu.org
Subject: Re: bug#76704: 30.1;
 Indentation of braces on separate line in js-ts-mode
Date: Sun, 09 Mar 2025 12:00:16 +0200
> Date: Sun, 02 Mar 2025 20:44:39 +0100
> From:  Fabian Brosda via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Hi,
> 
> when using js-ts-mode instead of js-mode, braces, which are put on a
> separate line are indented one level too much.  Here is a simple example
> of how the indentation looks like, after using indent-region on the
> whole function:
> 
> ```
> function test(x)
>     {
> 	    if(x)
> 	        {
> 		        return a;
> 	        }
> 	    else
> 	        {
> 		        return b;
> 	        }
>     }
> 
> ```
> 
> The used tree-sitter grammar is downloaded from
> https://github.com/tree-sitter/tree-sitter-javascript.
> 
> Having braces on a separate line is probably not the most common for
> javascript, but using indent-region in the js-mode, does yield the
> expected result.  The js.el file does already contain a comment
> mentioning braces in js--treesit-indent-rules.  But even based on the
> git history it is not clear to me, what exactly is meant:
> 
> ```
>        ;; "{" on the newline.
>        ((node-is "statement_block") parent-bol js-indent-level)
> ```
> 
> Link: https://github.com/emacs-mirror/emacs/blob/master/lisp/progmodes/js.el#L3457
> 
> If I replace 'js-indent-level' with '0' in this line, the indentation would
> be correct, but this might have unwanted side-effects I overlooked.
> 
> My current emacs version:
> 
> GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.48,
> cairo version 1.18.2)
> 
> Thanks for looking into this.

Juri and Vincenzo, any comments?




This bug report was last modified 90 days ago.

Previous Next


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