emacs/test/lisp/progmodes/js-resources/js-ts-indents.erts
Noah Peart c165247c30 Add indentation rules for bracketless statements in js-ts-mode
* 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.
2023-12-12 03:13:12 +02:00

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)
};
=-=-=