diff options
author | Tom Tromey <tom@tromey.com> | 2017-01-12 23:15:00 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-01-13 12:38:36 -0700 |
commit | 502390822f9c0068898ae41285b37568bf0e4d1c (patch) | |
tree | 08d55c4c60eeb803935779d6541db7ef171b02bd /test/manual | |
parent | b47f97218efb8d9966e084bdfd8a86e8c47cf81d (diff) | |
download | emacs-502390822f9c0068898ae41285b37568bf0e4d1c.tar.gz |
Add chained indentation to js-mode
Bug#20896
* lisp/progmodes/js.el (js-chain-indent): New variable.
(js--skip-term-backward, js--skip-terms-backward)
(js--chained-expression-p): New functions.
(js--proper-indentation): Call js--chained-expression-p.
* test/manual/indent/js-chain.js: New file.
* test/manual/indent/js.js: Add (non-)chained indentation test.
Diffstat (limited to 'test/manual')
-rw-r--r-- | test/manual/indent/js-chain.js | 29 | ||||
-rw-r--r-- | test/manual/indent/js.js | 4 |
2 files changed, 33 insertions, 0 deletions
diff --git a/test/manual/indent/js-chain.js b/test/manual/indent/js-chain.js new file mode 100644 index 00000000000..2a290294026 --- /dev/null +++ b/test/manual/indent/js-chain.js @@ -0,0 +1,29 @@ +// Normal chaining. +let x = svg.mumble() + .zzz; + +// Chaining with an intervening line comment. +let x = svg.mumble() // line comment + .zzz; + +// Chaining with multiple dots. +let x = svg.selectAll().something() + .zzz; + +// Nested chaining. +let x = svg.selectAll(d3.svg.something() + .zzz); + +// Nothing to chain to. +let x = svg() + .zzz; + +// Nothing to chain to. +let x = svg().mumble.x() + 73 + .zzz; + +// Local Variables: +// indent-tabs-mode: nil +// js-chain-indent: t +// js-indent-level: 2 +// End: diff --git a/test/manual/indent/js.js b/test/manual/indent/js.js index d004b82f8bc..846c3a1a5c2 100644 --- a/test/manual/indent/js.js +++ b/test/manual/indent/js.js @@ -124,6 +124,10 @@ if (x > 72 && do_something(); } +// Test that chaining doesn't happen when js-chain-indent is nil. +let x = svg.mumble() + .zzz; + // Local Variables: // indent-tabs-mode: nil // js-indent-level: 2 |