diff --git a/chrome/content/vimperator/mappings.js b/chrome/content/vimperator/mappings.js index f5679d1f..b4bda0c2 100644 --- a/chrome/content/vimperator/mappings.js +++ b/chrome/content/vimperator/mappings.js @@ -1,11 +1,16 @@ +// TODO: document function Map(mode, cmd, action, extra_info) { - if (!mode || (!cmd || !cmd.length) || !action) return; - if (!extra_info) extra_info = {}; + if (!mode || (!cmd || !cmd.length) || !action) + return; + + if (!extra_info) + extra_info = {}; + this.mode = mode; - this.cmd = cmd; - this.action = action; - this.flags = extra_info.flags || 0; + this.cmd = cmd; // XXX: should be this.commands? + this.action = action; // XXX: shoudldn't be public, use .execute() to execute the action + this.flags = extra_info.flags || 0; // XXX: flags shouldn't be public if (extra_info.usage) this.usage = extra_info.usage; @@ -25,6 +30,7 @@ function Map(mode, cmd, action, extra_info) if (extra_info.short_help) this.short_help = extra_info.short_help; + // XXX: can we move this to Map.prototype.execute, or don't we have access to this in a prototype? this.execute = function() { this.cmd.call(this); } @@ -32,46 +38,14 @@ function Map(mode, cmd, action, extra_info) function Mappings() { - this.main = []; - this.user = []; - this.flags = { - MOTION: 1 << 1, - COUNT: 1 << 2, - ARGUMENT: 1 << 3 - }; - - this.add = function(map) + //////////////////////////////////////////////////////////////////////////////// + ////////////////////// PRIVATE SECTION ///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + function addDefaultMap(map) { - if (!map) return; - if (!this.user[map.mode]) - this.user[map.mode] = []; - - this.user[map.mode].push(map); - return this; - } - - this.remove = function(map) - { - var index; - - if (!map || !(index = this.user[map.mode].indexOf(map))) + if (!map) return; - this.user[map.mode].splice(index, 1); - return this; - } - - this.get = function(mode, cmd) - { - if (!mode || !cmd) return; - var map = getFrom(mode, cmd, this.user); - if (!map) map = getFrom(mode, cmd, this.main); - return map; - } - - function addDefaults(map) - { - if (!map) return; if (!this.main[map.mode]) this.main[map.mode] = []; @@ -94,188 +68,240 @@ function Mappings() } } + //////////////////////////////////////////////////////////////////////////////// + ////////////////////// PUBLIC SECTION ////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + // XXX: make these 2 arrays prviate + this.main = []; + this.user = []; + + this.flags = { + MOTION: 1 << 0, + COUNT: 1 << 1, + ARGUMENT: 1 << 2 + }; + + this.add = function(map) + { + if (!map) + return false; + + if (!this.user[map.mode]) + this.user[map.mode] = []; + + this.user[map.mode].push(map); + + return true; + } + + this.remove = function(map) + { + var index; + + if (!map || !(index = this.user[map.mode].indexOf(map))) + return false; + + this.user[map.mode].splice(index, 1); + return true; + } + + this.get = function(mode, cmd) + { + if (!mode || !cmd) + return null; + + var map = getFrom(mode, cmd, this.user); + if (!map) + map = getFrom(mode, cmd, this.main); + + return map; + } + + //////////////////////////////////////////////////////////////////////////////// + ////////////////////// DEFAULT MAPPINGS //////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// /* Default mappings * Normal mode * */ - addDefaults(new Map(vimperator.mode.NORMAL, ["]f"], focusNextFrame, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["]f"], focusNextFrame, { short_help: "Focus next frame", help: "Flashes the next frame in order with a red color, to quickly show where keyboard focus is.
" + "This may not work correctly for frames with lots of CSS code." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["b"], function (args) { vimperator.commandline.open(":", "buffer ", vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["b"], function (args) { vimperator.commandline.open(":", "buffer ", vimperator.modes.EX); }, { short_help: "Open a prompt to switch buffers", help: "Typing the corresponding number opens switches to this buffer." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["B"], toggleBufferList, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["B"], toggleBufferList, { short_help: "Toggle buffer list", help: "Toggles the display of the buffer list which shows all opened tabs." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["d"], function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, false, 0); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["d"], function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, false, 0); }, { short_help: "Delete current buffer (=tab)", help: "Count WILL be supported in future releases, then 2d removes two tabs and the one the right is selected.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["D"], function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, true, 0); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["D"], function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, true, 0); }, { short_help: "Delete current buffer (=tab)", help: "Count WILL be supported in future releases, then 2d removes two tabs and the one the right is selected.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gh"], BrowserHome, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gh"], BrowserHome, { short_help: "Go home", help: "Opens the homepage in the current tab." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gH"], BrowserHome, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gH"], BrowserHome, { short_help: "Go home in a new tab", help: "Opens the homepage in a new tab." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gP"], function(count) { openURLsInNewTab(readFromClipboard(), false); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gP"], function(count) { openURLsInNewTab(readFromClipboard(), false); }, { short_help: "Open (put) an URL based on the current clipboard contents in a new buffer", help: "Works like P, but inverts the 'activate' setting." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gt", "", ""], function(count) { vimperator.tabs.select(count > 0 ? count -1: "+1", count > 0 ? false : true); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gt", "", ""], function(count) { vimperator.tabs.select(count > 0 ? count -1: "+1", count > 0 ? false : true); }, { short_help: "Go to the next tab", help: "Cycles to the first tab, when the last is selected.
Count is supported, 3gt goes to the third tab.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gT", "", ""], function(count) { vimperator.tabs.select(count > 0 ? count -1: "-1", count > 0 ? false : true); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gT", "", ""], function(count) { vimperator.tabs.select(count > 0 ? count -1: "-1", count > 0 ? false : true); }, { short_help: "Go to the previous tab", help: "Cycles to the last tab, when the first is selected.
Count is supported, 3gT goes to the third tab.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["m"], set_location_mark, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["m"], set_location_mark, { short_help: "Set mark at the cursor position", usage: "m{a-zA-Z}", help: "Marks a-z are local to the buffer, whereas A-Z are valid between buffers", flags: this.flags.ARGUMENT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["o"], function(count) { vimperator.commandline.open(":", "open ", vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["o"], function(count) { vimperator.commandline.open(":", "open ", vimperator.modes.EX); }, { short_help: "Open one or more URLs in the current tab", help: "See :open for more details." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["O"], function(count) { vimperator.commandline.open(":", "open " + getCurrentLocation(), vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["O"], function(count) { vimperator.commandline.open(":", "open " + getCurrentLocation(), vimperator.modes.EX); }, { short_help: "Open one ore more URLs in the current tab, based on current location", help: "Works like o, but preselects current URL in the :open query." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["p", ""], function(count) { openURLs(readFromClipboard()); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["p", ""], function(count) { openURLs(readFromClipboard()); }, { short_help: "Open (put) an URL based on the current clipboard contents in the current buffer", help: "You can also just select some non-URL text, and search for it with the default search engine or keyword (specified by the 'defsearch' setting) with p." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["P"], function(count) { openURLsInNewTab(readFromClipboard(), true); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["P"], function(count) { openURLsInNewTab(readFromClipboard(), true); }, { short_help: "Open (put) an URL based on the current clipboard contents in a new buffer", help: "Works like p, but opens a new tab.
" + "Whether the new buffer is activated, depends on the 'activate' setting." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["r"], function(count) { reload(getBrowser().mCurrentTab, false); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["r"], function(count) { reload(getBrowser().mCurrentTab, false); }, { short_help: "Reload", help: "Forces reloading of the current page." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["R"], function(count) { reload(getBrowser().mCurrentTab, true); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["R"], function(count) { reload(getBrowser().mCurrentTab, true); }, { short_help: "Reload while skipping the cache", help: "Forces reloading of the current page skipping the cache." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["t"], function(count) { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["t"], function(count) { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); }, { short_help: "Open one or more URLs in a new tab", help: "Like o but open URLs in a new tab.
" + "See :tabopen for more details." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["T"], function(count) { vimperator.commandline.open(":", "tabopen " + getCurrentLocation(), vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["T"], function(count) { vimperator.commandline.open(":", "tabopen " + getCurrentLocation(), vimperator.modes.EX); }, { short_help: "Open one ore more URLs in a new tab, based on current location", help: "Works like t, but preselects current URL in the :tabopen query." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["u"], function(count) { execute_command(count, 'undo', false, ''); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["u"], function(count) { execute_command(count, 'undo', false, ''); }, { short_help: "Undo closing of a tab", help: "If a count is given, don't close the last but the n'th last tab.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["y"], yankCurrentLocation, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["y"], yankCurrentLocation, { short_help: "Yank current location to the clipboard", help: "Under UNIX the location is also put into the selection, which can be pasted with the middle mouse button." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["Y"], yankCurrentSelection, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["Y"], yankCurrentSelection, { short_help: "Copy selected text", help: "The currently selected text is copied to the system clipboard." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["zi", "+"], function(count) { zoom_in(1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["zi", "+"], function(count) { zoom_in(1); }, { short_help: "Zoom in current web page by 25%", help: "Currently no count supported." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["zI"], function(count) { zoom_in(4); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["zI"], function(count) { zoom_in(4); }, { short_help: "Zoom in current web page by 100%", help: "Currently no count supported." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["zo", "-"], function(count) { zoom_in(-1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["zo", "-"], function(count) { zoom_in(-1); }, { short_help: "Zoom out current web page by 25%", help: "Currently no count supported." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["zO"], function(count) { zoom_in(-4); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["zO"], function(count) { zoom_in(-4); }, { short_help: "Zoom out current web page by 100%", help: "Currently no count supported." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["zz"], zoom_to, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["zz"], zoom_to, { short_help: "Set zoom value of the webpage", help: "Zoom value can be between 25 and 500%. If it is omitted, zoom is reset to 100%.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["ZQ"], function(count) { quit(false); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["ZQ"], function(count) { quit(false); }, { short_help: "Quit and don't save the session", help: "Works like :qall." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["ZZ"], function(count) { quit(true); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["ZZ"], function(count) { quit(true); }, { short_help: "Quit and save the session", help: "Quit Vimperator, no matter how many tabs/windows are open. The session is stored.
" + "Works like :xall." @@ -283,33 +309,33 @@ function Mappings() )); /* scrolling commands */ - addDefaults(new Map(vimperator.mode.NORMAL, ["0", "^"], function(count) { scrollBufferAbsolute(0, -1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["0", "^"], function(count) { scrollBufferAbsolute(0, -1); }, { short_help: "Scroll to the absolute left of the document", help: "Unlike in vim, 0 and ^ work exactly the same way." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["$"], function(count) { scrollBufferAbsolute(100, -1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["$"], function(count) { scrollBufferAbsolute(100, -1); }, { short_help: "Scroll to the absolute right of the document", help: null } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gg", ""], function(count) { scrollBufferAbsolute(-1, count > 0 ? count : 0); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gg", ""], function(count) { scrollBufferAbsolute(-1, count > 0 ? count : 0); }, { short_help: "Goto the top of the document", help: "Count is supported, 35gg vertically goes to 35% of the document.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["G", ""], function(count) { scrollBufferAbsolute(-1, count >= 0 ? count : 100); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["G", ""], function(count) { scrollBufferAbsolute(-1, count >= 0 ? count : 100); }, { short_help: "Goto the end of the document", help: "Count is supported, 35G vertically goes to 35% of the document.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["h", ""], function(count) { scrollBufferRelative(-1, 0); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["h", ""], function(count) { scrollBufferRelative(-1, 0); }, { short_help: "Scroll document to the left", help: "Count is supported: 10h will move 10 times as much to the left.
" + @@ -317,7 +343,7 @@ function Mappings() flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["j", "", ""], function(count) { scrollBufferRelative(0, 1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["j", "", ""], function(count) { scrollBufferRelative(0, 1); }, { short_help: "Scroll document down", help: "Count is supported: 10j will move 10 times as much down.
" + @@ -325,7 +351,7 @@ function Mappings() flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["k", "", ""], function(count) { scrollBufferRelative(0, -1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["k", "", ""], function(count) { scrollBufferRelative(0, -1); }, { short_help: "Scroll document up", help: "Count is supported: 10k will move 10 times as much up.
" + @@ -333,7 +359,7 @@ function Mappings() flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["l", ""], function(count) { scrollBufferRelative(1, 0); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["l", ""], function(count) { scrollBufferRelative(1, 0); }, { short_help: "Scroll document to the right", help: "Count is supported: 10l will move 10 times as much to the right.
" + @@ -341,13 +367,13 @@ function Mappings() flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["", "", "", ""], function(count) { goDoCommand('cmd_scrollPageUp'); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["", "", "", ""], function(count) { goDoCommand('cmd_scrollPageUp'); }, { short_help: "Scroll up a full page of the current document", help: "No count support for now." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["", "", "", ""], function(count) { goDoCommand('cmd_scrollPageDown'); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["", "", "", ""], function(count) { goDoCommand('cmd_scrollPageDown'); }, { short_help: "Scroll down a full page of the current document", help: "No count support for now," @@ -355,42 +381,42 @@ function Mappings() )); /* history manipulation and jumplist */ - addDefaults(new Map(vimperator.mode.NORMAL, [""], function(count) { stepInHistory(count > 0 ? -1 * count : -1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [""], function(count) { stepInHistory(count > 0 ? -1 * count : -1); }, { short_help: "Go to an older position in the jump list", help: "The jump list is just the browser history for now", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, [""], function(count) { stepInHistory(count > 0 ? count : 1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [""], function(count) { stepInHistory(count > 0 ? count : 1); }, { short_help: "Go to a newer position in the jump list", help: "The jump list is just the browser history for now", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["H", "", ""], function(count) { stepInHistory(count > 0 ? -1 * count : -1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["H", "", ""], function(count) { stepInHistory(count > 0 ? -1 * count : -1); }, { short_help: "Go back in the browser history", help: "Count is supported, 3H goes back 3 steps.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["L", "", ""], function(count) { stepInHistory(count > 0 ? count : 1); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["L", "", ""], function(count) { stepInHistory(count > 0 ? count : 1); }, { short_help: "Go forward in the browser history", help: "Count is supported, 3L goes forward 3 steps.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gu", ""], goUp, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gu", ""], goUp, { short_help: "Go to parent directory", help: "Count is supported, 2gu on http://www.example.com/dir1/dir2/file.htm would open http://www.example.com/dir1/.", flags: this.flags.COUNT } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["gU", ""], function(count) { openURLs("..."); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["gU", ""], function(count) { openURLs("..."); }, { short_help: "Go to the root of the website", help: "gU on http://www.example.com/dir1/dir2/file.htm opens http://www.example.com/.
" + @@ -399,7 +425,7 @@ function Mappings() )); /* hint managment */ - addDefaults(new Map(vimperator.mode.NORMAL, ["f"], function(count) { hah.enableHahMode(vimperator.modes.QUICK_HINT); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["f"], function(count) { hah.enableHahMode(vimperator.modes.QUICK_HINT); }, { short_help: "Start QuickHint mode", help: "In QuickHint mode, every hintable item (according to the 'hinttags' XPath query) is assigned a label.
" + @@ -407,7 +433,7 @@ function Mappings() "If you write the hint in ALLCAPS, the hint is followed in a background tab." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["F"], function(count) { hah.enableHahMode(vimperator.modes.ALWAYS_HINT); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["F"], function(count) { hah.enableHahMode(vimperator.modes.ALWAYS_HINT); }, { short_help: "Start AlwaysHint mode", help: "In AlwaysHint mode, every hintable item (according to the 'hinttags' XPath query) is assigned a label.
" + @@ -416,7 +442,7 @@ function Mappings() "Also, most Ctrl-prefixed short_helpcut keys are available in this mode for navigation." } )); - addDefaults(new Map(vimperator.mode.NORMAL, [";"], function(count) { hah.enableHahMode(vimperator.modes.EXTENDED_HINT); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [";"], function(count) { hah.enableHahMode(vimperator.modes.EXTENDED_HINT); }, { short_help: "Start ExtendedHint mode", help: "ExtendedHint mode is useful, since in this mode you can yank link locations, or open them in a new window.
" + @@ -438,19 +464,19 @@ function Mappings() )); /* search managment */ - addDefaults(new Map(vimperator.mode.NORMAL, ["g/"], function(count) { vimperator.search.openSearchDialog(); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["g/"], function(count) { vimperator.search.openSearchDialog(); }, { short_help: "Search forward for a pattern", help: "" } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["n"], function(count) { vimperator.search.findNext(); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["n"], function(count) { vimperator.search.findNext(); }, { short_help: "Find next", help: "Repeat the last \"/\" 1 time (until count is supported)." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["N"], function(count) { vimperator.search.findPrevious(); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["N"], function(count) { vimperator.search.findPrevious(); }, { short_help: "Find previous", help: "Repeat the last \"/\" 1 time (until count is supported) in the opposite direction." @@ -458,19 +484,19 @@ function Mappings() )); /* vimperator managment */ - addDefaults(new Map(vimperator.mode.NORMAL, [""], function(count) { help(null); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [""], function(count) { help(null); }, { short_help: "Open help window", help: "The default section is shown, if you need help for a specific topic, try :help <F1> (jumping to a specific section not implemented yet)." } )); - addDefaults(new Map(vimperator.mode.NORMAL, [":"], function(count) { vimperator.commandline.open(":", "", vimperator.modes.EX); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [":"], function(count) { vimperator.commandline.open(":", "", vimperator.modes.EX); }, { short_help: "Start command line mode", help: "In command line mode, you can perform extended commands, which may require arguments." } )); - addDefaults(new Map(vimperator.mode.NORMAL, ["I"], function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS);}, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["I"], function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS);}, { short_help: "Disable vimperator keys", help: "Starts an 'ignorekeys' mode, where all keys except <Esc> are passed to the next event handler.
" + @@ -480,7 +506,7 @@ function Mappings() } )); // if you ever add/remove keys here, also check them in the onVimperatorKeypress() function - addDefaults(new Map(vimperator.mode.NORMAL, [""], function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ONE_KEY); }, + addDefaultMap(new Map(vimperator.mode.NORMAL, [""], function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ONE_KEY); }, { short_help: "Escape next key", help: "If you need to pass a certain key to a javascript form field or another extension prefix the key with <C-v>.
" + @@ -488,14 +514,14 @@ function Mappings() "When in 'ignorekeys' mode (activated by <I>), <C-v> will pass the next key to Vimperator instead of the webpage." } )); - addDefaults(new Map(vimperator.mode.NORMAL, [""], BrowserStop, + addDefaultMap(new Map(vimperator.mode.NORMAL, [""], BrowserStop, { short_help: "Stop loading", help: "Stops loading the current webpage." } )); // if you ever add/remove keys here, also check them in the onVimperatorKeypress() - addDefaults(new Map(vimperator.mode.NORMAL, ["", ""], onEscape, + addDefaultMap(new Map(vimperator.mode.NORMAL, ["", ""], onEscape, { short_help: "Cancel any operation", help: "Exits any command line or hint mode and returns to browser mode.
"