-Differences between original js2-mode.el
-========================================
-
-Supported more popular indentation style
-----------------------------------------
-
-When js2-consistent-level-indent-inner-bracket-p is non-nil
-
- [foo, bar, baz].forEach(function (v) {
- if (validate(v))
- process(v);
- });
-
- [a, b, c].some(function (v) {
- return validate(v);
- });
-
-When js2-consistent-level-indent-inner-bracket-p is nil
-(Same as original js2-mode's indentation)
-
- [foo, bar, baz].forEach(function (v) {
- if (validate(v))
- process(v);
- });
-
- [a, b, c].some(function (v) {
- return validate(v);
- });
-
-Fixed ugly indentation with multi-line variable declaration
------------------------------------------------------------
-
-In original js2-mode.el,
-
- var foo = 10,
- bar = 20,
- baz = 30;
-
-In this js2-mode.el,
-
- var foo = 10,
- bar = 20,
- baz = 30;
-
-Support for abbreviated destructuring assignments
--------------------------------------------------
-
- let {a, b} = {a: 10, b: 20}; // Abbreviated (Not supported in original js2-mode.el)
- let {a: a, b: b} = {a: 10, b: 20}; // Same as above (Supported in original js2-mode.el)
-
- (function ({responseText}) { /* */ })(xhr); // As the argument of function
-
- for (let [k, { name, age }] in Iterator(obj)) // nested
- print(k, name, age);
-
-Support for expression closure in property value
-------------------------------------------------
-
- let worker = {
- get age() 20,
- get sex() "male",
- fire: function () _fire()
- };
-
-Fixed odd indentation of "else if" with no braces
------------------------------------------------------
-
-In original js2-mode.el,
-
- if (foo)
- return foo;
- else if (bar)
- return bar; // here
-
-In this js2-mode.el,
-
- if (foo)
- return foo;
- else if (bar)
- return bar; // fixed
-
-Fixes in Imenu support
-----------------------
-
-Supports element-get form:
-
- foo["bar"] = function() {};
- foo[647] = function() {};
-
-Proper position for functions in nested object literals:
-
- foo = {
- bar: function() {}, // ok in original
- baz: {
- boop: function() {} // fixed here
- }
- }
-
-Imenu support for function nesting
-----------------------------------