]> git.donarmstrong.com Git - dactyl.git/blobdiff - common/content/modes.js
Import r6976 from upstream hg supporting Firefox up to 25.*
[dactyl.git] / common / content / modes.js
index fc33fd7f24e95d88795de024fa9d690d8a166a6a..838eab65d1186d67f684389d1e49ab79929fdb3d 100644 (file)
@@ -1,6 +1,6 @@
 // Copyright (c) 2006-2008 by Martin Stubenschrott <stubenschrott@vimperator.org>
 // Copyright (c) 2007-2011 by Doug Kearns <dougkearns@gmail.com>
-// Copyright (c) 2008-2012 Kris Maglione <maglione.k@gmail.com>
+// Copyright (c) 2008-2013 Kris Maglione <maglione.k@gmail.com>
 //
 // This work is licensed for reuse under an MIT license. Details are
 // given in the LICENSE.txt file included with this file.
@@ -237,7 +237,7 @@ var Modes = Module("modes", {
         if (this._modeMap[mode.mode] == mode)
             delete this._modeMap[mode.mode];
 
-        this._mainModes = this._mainModes.filter(function (m) m != mode);
+        this._mainModes = this._mainModes.filter(m => m != mode);
     },
 
     dumpStack: function dumpStack() {
@@ -254,11 +254,11 @@ var Modes = Module("modes", {
 
     getCharModes: function getCharModes(chr) (this.modeChars[chr] || []).slice(),
 
-    have: function have(mode) this._modeStack.some(function (m) isinstance(m.main, mode)),
+    have: function have(mode) this._modeStack.some(m => isinstance(m.main, mode)),
 
     matchModes: function matchModes(obj)
-        this._modes.filter(function (mode) Object.keys(obj)
-                                                 .every(function (k) obj[k] == (mode[k] || false))),
+        this._modes.filter(mode => Object.keys(obj)
+                                         .every(k => obj[k] == (mode[k] || false))),
 
     // show the current mode string in the command line
     show: function show() {
@@ -274,10 +274,10 @@ var Modes = Module("modes", {
     remove: function remove(mode, covert) {
         if (covert && this.topOfStack.main != mode) {
             util.assert(mode != this.NORMAL);
-            for (let m; m = array.nth(this.modeStack, function (m) m.main == mode, 0);)
+            for (let m; m = array.nth(this.modeStack, m => m.main == mode, 0);)
                 this._modeStack.splice(this._modeStack.indexOf(m));
         }
-        else if (this.stack.some(function (m) m.main == mode)) {
+        else if (this.stack.some(m => m.main == mode)) {
             this.pop(mode);
             this.pop();
         }
@@ -361,7 +361,9 @@ var Modes = Module("modes", {
                               push ? { push: push } : stack || {},
                               prev);
 
-        delayed.forEach(function ([fn, self]) dactyl.trapErrors(fn, self));
+        delayed.forEach(([fn, self]) => {
+            dactyl.trapErrors(fn, self);
+        });
 
         dactyl.triggerObserver("modes.change", [oldMain, oldExtended], [this._main, this._extended], stack);
         this.show();
@@ -425,8 +427,8 @@ var Modes = Module("modes", {
     Mode: Class("Mode", {
         init: function init(name, options, params) {
             if (options.bases)
-                util.assert(options.bases.every(function (m) m instanceof this, this.constructor),
-                           _("mode.invalidBases"), false);
+                util.assert(options.bases.every(m => m instanceof this.constructor),
+                            _("mode.invalidBases"), false);
 
             this.update({
                 id: 1 << Modes.Mode._id++,
@@ -465,11 +467,11 @@ var Modes = Module("modes", {
 
         hidden: false,
 
-        input: Class.Memoize(function input() this.insert || this.bases.length && this.bases.some(function (b) b.input)),
+        input: Class.Memoize(function input() this.insert || this.bases.length && this.bases.some(b => b.input)),
 
-        insert: Class.Memoize(function insert() this.bases.length && this.bases.some(function (b) b.insert)),
+        insert: Class.Memoize(function insert() this.bases.length && this.bases.some(b => b.insert)),
 
-        ownsFocus: Class.Memoize(function ownsFocus() this.bases.length && this.bases.some(function (b) b.ownsFocus)),
+        ownsFocus: Class.Memoize(function ownsFocus() this.bases.length && this.bases.some(b => b.ownsFocus)),
 
         passEvent: function passEvent(event) this.input && event.charCode && !(event.ctrlKey || event.altKey || event.metaKey),
 
@@ -491,19 +493,19 @@ var Modes = Module("modes", {
         update(StackElement.prototype, {
             get toStringParams() !loaded.modes ? this.main.name : [
                 this.main.name,
-                ["(", modes.all.filter(function (m) this.extended & m, this)
-                           .map(function (m) m.name).join("|"),
+                ["(", modes.all.filter(m => this.extended & m)
+                               .map(m => m.name)
+                               .join("|"),
                  ")"].join("")
             ]
         });
         return StackElement;
     })(),
     cacheId: 0,
-    boundProperty: function BoundProperty(desc) {
+    boundProperty: function BoundProperty(desc = {}) {
         let id = this.cacheId++;
         let value;
 
-        desc = desc || {};
         return Class.Property(update({
             configurable: true,
             enumerable: true,
@@ -525,7 +527,7 @@ var Modes = Module("modes", {
 }, {
     cache: function initCache() {
         function makeTree() {
-            let list = modes.all.filter(function (m) m.name !== m.description);
+            let list = modes.all.filter(m => m.name !== m.description);
 
             let tree = {};
 
@@ -558,7 +560,7 @@ var Modes = Module("modes", {
             return rec(roots);
         }
 
-        cache.register("modes.dtd", function ()
+        cache.register("modes.dtd", () =>
             util.makeDTD(iter({ "modes.tree": makeTree() },
                               config.dtd)));
     },
@@ -599,7 +601,7 @@ var Modes = Module("modes", {
 
             getKey: function getKey(val, default_) {
                 if (isArray(val))
-                    return (array.nth(this.value, function (v) val.some(function (m) m.name === v.mode), 0)
+                    return (array.nth(this.value, v => val.some(m => m.name === v.mode), 0)
                                 || { result: default_ }).result;
 
                 return Set.has(this.valueMap, val) ? this.valueMap[val] : default_;
@@ -608,16 +610,19 @@ var Modes = Module("modes", {
             setter: function (vals) {
                 modes.all.forEach(function (m) { delete m.passUnknown; });
 
-                vals = vals.map(function (v) update(new String(v.toLowerCase()), {
-                    mode: v.replace(/^!/, "").toUpperCase(),
-                    result: v[0] !== "!"
-                }));
+                vals = vals.map(v => update(new String(v.toLowerCase()),
+                                            {
+                                                mode: v.replace(/^!/, "").toUpperCase(),
+                                                result: v[0] !== "!"
+                                            }));
 
-                this.valueMap = values(vals).map(function (v) [v.mode, v.result]).toObject();
+                this.valueMap = values(vals).map(v => [v.mode, v.result])
+                                            .toObject();
                 return vals;
             },
 
-            validator: function validator(vals) vals.map(function (v) v.replace(/^!/, "")).every(Set.has(this.values)),
+            validator: function validator(vals) vals.map(v => v.replace(/^!/, ""))
+                                                    .every(Set.has(this.values)),
 
             get values() array.toObject([[m.name.toLowerCase(), m.description] for (m in values(modes._modes)) if (!m.hidden)])
         };