4 An improved JavaScript mode for GNU Emacs. Forked from <http://code.google.com/p/js2-mode/>.
9 $ git clone git://github.com/mooz/js2-mode.git
11 $ emacs --batch --eval '(byte-compile-file "js2-mode.el")'
13 Then, place js2-mode.elc into your site-lisp directory.
17 (autoload 'js2-mode "js2-mode" nil t)
18 (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
20 See <http://code.google.com/p/js2-mode/wiki/InstallationInstructions> for details.
22 Differences between original js2-mode.el
23 ========================================
25 Supported more popular indentation style
26 ----------------------------------------
28 When js2-consistent-level-indent-inner-bracket-p is non-nil
30 [foo, bar, baz].forEach(function (v) {
35 [a, b, c].some(function (v) {
39 When js2-consistent-level-indent-inner-bracket-p is nil
40 (Same as original js2-mode's indentation)
42 [foo, bar, baz].forEach(function (v) {
47 [a, b, c].some(function (v) {
51 Fixed ugly indentation with multi-line variable declaration
52 -----------------------------------------------------------
54 In original js2-mode.el,
66 Support for abbreviated destructuring assignments
67 -------------------------------------------------
69 let {a, b} = {a: 10, b: 20}; // Abbreviated (Not supported in original js2-mode.el)
70 let {a: a, b: b} = {a: 10, b: 20}; // Same as above (Supported in original js2-mode.el)
72 (function ({responseText}) { /* */ })(xhr); // As the argument of function
74 for (let [k, { name, age }] in Iterator(obj)) // nested
77 Support for expression closure in property value
78 ------------------------------------------------
83 fire: function () _fire()
86 Fixed odd indentation of "else if" with no braces
87 -----------------------------------------------------
89 In original js2-mode.el,
106 If you find problems, please report them to <http://github.com/mooz/js2-mode/issues>.