X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fcontent%2Fmodes.js;fp=common%2Fcontent%2Fmodes.js;h=838eab65d1186d67f684389d1e49ab79929fdb3d;hb=205a9e35484fed6fc69161897a59f51110ba708d;hp=fc33fd7f24e95d88795de024fa9d690d8a166a6a;hpb=ea765b42ac553c79ee79137be7b70fec68edb560;p=dactyl.git diff --git a/common/content/modes.js b/common/content/modes.js index fc33fd7..838eab6 100644 --- a/common/content/modes.js +++ b/common/content/modes.js @@ -1,6 +1,6 @@ // Copyright (c) 2006-2008 by Martin Stubenschrott // Copyright (c) 2007-2011 by Doug Kearns -// Copyright (c) 2008-2012 Kris Maglione +// Copyright (c) 2008-2013 Kris Maglione // // 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)]) };