GNU bug report logs -
#67758
[PATCH] Add indentation rules for bracketless statements in js-ts-mode
Previous Next
Reported by: Noah Peart <noah.v.peart <at> gmail.com>
Date: Sun, 10 Dec 2023 23:34:01 UTC
Severity: normal
Tags: patch
Fixed in version 29.2
Done: Dmitry Gutov <dmitry <at> gutov.dev>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67758 in the body.
You can then email your comments to 67758 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#67758
; Package
emacs
.
(Sun, 10 Dec 2023 23:34:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Noah Peart <noah.v.peart <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 10 Dec 2023 23:34:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tags: patch
* Bug: `js-ts-mode` is missing indentation rules for bracketless
statements.
These missing rules are the same as those that were previously missing
from typescript-ts-mode (bug#67031).
Recipe to reproduce:
Using the following function to configure js-ts-mode and indent the
buffer:
(defun try-indent ()
(interactive)
(setq-local indent-tabs-mode nil)
(setq-local js-indent-level 2)
(js-ts-mode)
(indent-region (point-min) (point-max)))
Add the following example to a buffer and call `try-indent`.
function bracketless_statements(x) {
if (x == 0)
console.log("if_statement");
else if (x == 1)
console.log("if_statement");
else
console.log("else_clause");
for (let i = 0; i < 1; i++)
console.log("for_statement");
for (let _ of [true])
console.log("for_in_statement");
while (x-- > 0)
console.log("while_statement");
do
console.log("do_statement");
while (false)
};
Afterwards, you should see none of the statement bodies were indented.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0) of 2023-12-10 built on noah-X580VD
Repository revision: 0da2a4650cdac008ac9a50ec8a7729093632a6a8
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.3 LTS
Configured using:
'configure --prefix=/usr/local --with-modules --with-tree-sitter
--with-threads --with-x-toolkit=gtk3 --with-xwidgets --with-gnutls
--with-json --with-mailutils --with-jpeg --with-png --with-rsvg
--with-tiff --with-xml2 --with-xpm --with-imagemagick CC=gcc-12
CXX=gcc-12'
[Message part 2 (text/html, inline)]
[js-ts-mode-statement-indent.patch (text/x-patch, attachment)]
Reply sent
to
Dmitry Gutov <dmitry <at> gutov.dev>
:
You have taken responsibility.
(Tue, 12 Dec 2023 01:16:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Noah Peart <noah.v.peart <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 12 Dec 2023 01:16:01 GMT)
Full text and
rfc822 format available.
Message #10 received at 67758-done <at> debbugs.gnu.org (full text, mbox):
Version: 29.2
On 11/12/2023 01:33, Noah Peart wrote:
> Tags: patch
>
>
> * Bug: `js-ts-mode` is missing indentation rules for bracketless
> statements.
>
> These missing rules are the same as those that were previously missing
> from typescript-ts-mode (bug#67031).
>
> Recipe to reproduce:
>
> Using the following function to configure js-ts-mode and indent the
> buffer:
>
> (defun try-indent ()
> (interactive)
> (setq-local indent-tabs-mode nil)
> (setq-local js-indent-level 2)
> (js-ts-mode)
> (indent-region (point-min) (point-max)))
>
> Add the following example to a buffer and call `try-indent`.
>
> function bracketless_statements(x) {
> if (x == 0)
> console.log("if_statement");
> else if (x == 1)
> console.log("if_statement");
> else
> console.log("else_clause");
> for (let i = 0; i < 1; i++)
> console.log("for_statement");
> for (let _ of [true])
> console.log("for_in_statement");
> while (x-- > 0)
> console.log("while_statement");
> do
> console.log("do_statement");
> while (false)
> };
>
> Afterwards, you should see none of the statement bodies were indented.
Thanks! Installed.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 09 Jan 2024 12:24:09 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 244 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.