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
-------------------------------------------------
(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
------------------------------------------------
fire: function () _fire()
};
-Fixed the odd indentation of "else if" with no braces
+Fixed odd indentation of "else if" with no braces
-----------------------------------------------------
In original js2-mode.el,