diff options
author | Noah Peart <noah.v.peart@gmail.com> | 2023-12-10 14:58:31 -0800 |
---|---|---|
committer | Dmitry Gutov <dmitry@gutov.dev> | 2023-12-12 03:13:12 +0200 |
commit | c165247c3009adec912abdf74d6d7d73c8c76c33 (patch) | |
tree | 415f5e856345c830c6d338742ddee4a139766bc9 /test/lisp/progmodes/js-resources/js-ts-indents.erts | |
parent | 7f1bd69cd19504f2bd47e13c530a55ffca08e27d (diff) | |
download | emacs-c165247c3009adec912abdf74d6d7d73c8c76c33.tar.gz emacs-c165247c3009adec912abdf74d6d7d73c8c76c33.tar.bz2 emacs-c165247c3009adec912abdf74d6d7d73c8c76c33.zip |
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.
Diffstat (limited to 'test/lisp/progmodes/js-resources/js-ts-indents.erts')
-rw-r--r-- | test/lisp/progmodes/js-resources/js-ts-indents.erts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/lisp/progmodes/js-resources/js-ts-indents.erts b/test/lisp/progmodes/js-resources/js-ts-indents.erts new file mode 100644 index 00000000000..2e34b23acef --- /dev/null +++ b/test/lisp/progmodes/js-resources/js-ts-indents.erts @@ -0,0 +1,44 @@ +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) +}; +=-=-= |