mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-09 13:40:50 +00:00

* lisp/progmodes/js.el (js--treesit-indent-rules): Add indentation rules to handle bracketless statements (bug#67758). * test/lisp/progmodes/js-tests.el (js-ts-mode-test-indentation): New test for js-ts-mode indentation. * test/lisp/progmodes/js-resources/js-ts-indents.erts: New file with indentation tests for js-ts-mode.
44 lines
790 B
Text
44 lines
790 B
Text
Code:
|
|
(lambda ()
|
|
(setq indent-tabs-mode nil)
|
|
(setq js-indent-level 2)
|
|
(js-ts-mode)
|
|
(indent-region (point-min) (point-max)))
|
|
|
|
Name: Basic indentation
|
|
|
|
=-=
|
|
const foo = () => {
|
|
console.log("bar");
|
|
if (x) {
|
|
return y;
|
|
} else if (y) {
|
|
return u;
|
|
}
|
|
return baz.x()
|
|
? true
|
|
: false;
|
|
}
|
|
=-=-=
|
|
|
|
Name: Statement indentation without braces
|
|
|
|
=-=
|
|
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)
|
|
};
|
|
=-=-=
|