diff --git a/chrome/content/vimperator/commands.js b/chrome/content/vimperator/commands.js
index e59df444..28b56928 100644
--- a/chrome/content/vimperator/commands.js
+++ b/chrome/content/vimperator/commands.js
@@ -511,538 +511,6 @@ var g_commands = [/*{{{*/
]
];/*}}}*/
-/* all built-in normal mode commands of Vimperator
- * format:
- * [
- * 0: [all shortcuts of this command],
- * 1: usage,
- * 2: shorthelp
- * 3: helptext
- * 4: function (arguments in this order: args, special, count)
- * ]
- */
-var g_mappings = [/*{{{*/
- [
- ["]f"],
- ["]f"],
- "Focus next frame",
- "Flashes the next frame in order with a red color, to quickly show where keyboard focus is. The denotion of modifier keys is like in Vim, so C- means the Control key, M- the Meta key, A- the Alt key and S- the Shift key.
"+
- "This may not work correctly for frames with lots of CSS code.",
- focusNextFrame
- ],
- [
- ["b"],
- ["b {number}"],
- "Open a prompt to switch buffers",
- "Typing the corresponding number opens switches to this buffer.",
- function (args) { vimperator.commandline.open(":", "buffer ", vimperator.modes.EX); }
- ],
- [
- ["B"],
- ["B"],
- "Toggle buffer list",
- "Toggles the display of the buffer list which shows all opened tabs.",
- toggleBufferList
- ],
- [
- ["d"],
- ["{count}d"],
- "Delete current buffer (=tab)",
- "Count WILL be supported in future releases, then 2d removes two tabs and the one the right is selected.",
- function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, false, 0); }
- ],
- [
- ["D"],
- ["{count}D"],
- "Delete current buffer (=tab)",
- "Count WILL be supported in future releases, then 2D removes two tabs and the one the left is selected.",
- function(count) { vimperator.tabs.remove(getBrowser().mCurrentTab, count, true, 0); }
- ],
- /*[
- ["ge"],
- ["ge {cmd}"],
- "Execute an Ex command",
- "Go Execute works like :execute.
"+
- "This mapping is for debugging purposes, and may be removed in future.",
- function(count) { openVimperatorBar('execute '); }
- ],*/
- [
- ["gh"],
- ["gh"],
- "Go home",
- "Opens the homepage in the current tab.",
- BrowserHome
- ],
- [
- ["gH"],
- ["gH"],
- "Go home in a new tab",
- "Opens the homepage in a new tab.",
- function(count) { openURLsInNewTab("", true); BrowserHome(); }
- ],
- [
- ["gP"],
- ["gP"],
- "Open (put) an URL based on the current clipboard contents in a new buffer",
- "Works like P, but inverts the 'activate' setting.",
- function(count) { openURLsInNewTab(readFromClipboard(), false); }
- ],
- [
- ["gt", "
"+
- "Count is supported, 3gt goes to the third tab.",
- function(count) { vimperator.tabs.select(count > 0 ? count -1: "+1", count > 0 ? false : true); }
- ],
- [
- ["gT", "
"+
- "Count is supported, 3gt goes to the third tab.",
- function(count) { vimperator.tabs.select(count > 0 ? count -1: "-1", count > 0 ? false : true); }
- ],
- [
- ["o"],
- ["o"],
- "Open one or more URLs in the current tab",
- "See :open for more details.",
- function(count) { vimperator.commandline.open(":", "open ", vimperator.modes.EX); }
- ],
- [
- ["O"],
- ["O"],
- "Open one ore more URLs in the current tab, based on current location",
- "Works like o, but preselects current URL in the :open query.",
- function(count) { vimperator.commandline.open(":", "open " + getCurrentLocation(), vimperator.modes.EX); }
- ],
- [
- ["p", "'defsearch' setting) with p.",
- function(count) { openURLs(readFromClipboard()); }
- ],
- [
- ["P"],
- ["P"],
- "Open (put) an URL based on the current clipboard contents in a new buffer",
- "Works like p, but opens a new tab.
"+
- "Whether the new buffer is activated, depends on the 'activate' setting.",
- function(count) { openURLsInNewTab(readFromClipboard(), true); }
- ],
- [
- ["r"],
- ["r"],
- "Reload",
- "Forces reloading of the current page.",
- function(count) { reload(getBrowser().mCurrentTab, false); }
- ],
- [
- ["R"],
- ["R"],
- "Reload skipping the cache",
- "Forces reloading of the current page skipping the cache.",
- function(count) { reload(getBrowser().mCurrentTab, true); }
- ],
- [
- ["t"],
- ["t"],
- "Open one or more URLs in a new tab",
- "Like o but open URLs in a new tab.
"+
- "See :tabopen for more details.",
- function(count) { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); }
- ],
- [
- ["T"],
- ["T"],
- "Open one ore more URLs in a new tab, based on current location",
- "Works like t, but preselects current URL in the :tabopen query.",
- function(count) { vimperator.commandline.open(":", "tabopen " + getCurrentLocation(), vimperator.modes.EX); }
- ],
- [
- ["u"],
- ["{count}u"],
- "Undo closing of a tab",
- "If a count is given, don't close the last but the n'th last tab.",
- function(count) { execute_command(count, 'undo', false, ''); }
- ],
- [
- ["y"],
- ["y"],
- "Yank current location to the clipboard",
- "Under UNIX the location is also put into the selection, which can be pasted with the middle mouse button.",
- yankCurrentLocation
- ],
- [
- ["Y"],
- ["Y"],
- "Copy selected text",
- "The currently selected text is copied to the system clipboard.",
- yankCurrentSelection,
- null
- ],
- [
- ["zi", "+"],
- ["zi", "+"],
- "Zoom in current web page by 25%",
- "Currently no count supported.",
- function(count) { zoom_in(1); }
- ],
- [
- ["zI"],
- ["zI"],
- "Zoom in current web page by 100%",
- "Currently no count supported.",
- function(count) { zoom_in(4); }
- ],
- [
- ["zo", "-"],
- ["zo", "-"],
- "Zoom out current web page by 25%",
- "Currently no count supported.",
- function(count) { zoom_in(-1); }
- ],
- [
- ["zO"],
- ["zO"],
- "Zoom out current web page by 100%",
- "Currently no count supported.",
- function(count) { zoom_in(-4); }
- ],
- [
- ["zz"],
- ["{count}zz"],
- "Set zoom value of the webpage",
- "Zoom value can be between 25 and 500%. If it is omitted, zoom is reset to 100%.",
- zoom_to
- ],
- [
- ["ZQ"],
- ["ZQ"],
- "Quit and don't save the session",
- "Works like :qall.",
- function(count) { quit(false); }
- ],
- [
- ["ZZ"],
- ["ZZ"],
- "Quit and save the session",
- "Quit Vimperator, no matter how many tabs/windows are open. The session is stored.
" +
- "Works like :xall.",
- function(count) { quit(true); }
- ],
-
- /* scrolling commands */
- [
- ["0", "^"],
- ["0", "^"],
- "Scroll to the absolute left of the document",
- "Unlike in vim, 0 and ^ work exactly the same way.",
- function(count) { scrollBufferAbsolute(0, -1); }
- ],
- [
- ["$"],
- ["$"],
- "Scroll to the absolute right of the document",
- null,
- function(count) { scrollBufferAbsolute(100, -1); }
- ],
- [
- ["gg", "35gg vertically goes to 35% of the document.",
- function(count) { scrollBufferAbsolute(-1, count > 0 ? count : 0); }
- ],
- [
- ["G", "35G vertically goes to 35% of the document.",
- function(count) { scrollBufferAbsolute(-1, count >= 0 ? count : 100); }
- ],
- [
- ["h", "10h will move 10 times as much to the left.
"+
- "If the document cannot scroll more, a beep is emmited (unless 'beep' is turned off).",
- function(count) { scrollBufferRelative(-1, 0); }
- ],
- [
- ["j", "10j will move 10 times as much down.
"+
- "If the document cannot scroll more, a beep is emmited (unless 'beep' is turned off).",
- function(count) { scrollBufferRelative(0, 1); }
- ],
- [
- ["k", "10k will move 10 times as much up.
"+
- "If the document cannot scroll more, a beep is emmited (unless 'beep' is turned off).",
- function(count) { scrollBufferRelative(0, -1); }
- ],
- [
- ["l", "10l will move 10 times as much to the right.
"+
- "If the document cannot scroll more, a beep is emmited (unless 'beep' is turned off).",
- function(count) { scrollBufferRelative(1, 0); }
- ],
- [
- ["3H goes back 3 steps.",
- function(count) { stepInHistory(count > 0 ? -1 * count : -1); }
- ],
- [
- ["L", "3L goes forward 3 steps.",
- function(count) { stepInHistory(count > 0 ? count : 1); }
- ],
- [
- ["gu", "2gu on http://www.example.com/dir1/dir2/file.htm would open http://www.example.com/dir1/.",
- goUp
- ],
- [
- ["gU", "gU on http://www.example.com/dir1/dir2/file.htm opens http://www.example.com/.
"+
- "When browsing a local directory, it goes to the root document.",
- function(count) { openURLs("..."); }
- ],
-
- /* hint managment */
- [
- ["f"],
- ["f"],
- "Start QuickHint mode",
- "In QuickHint mode, every hintable item (according to the 'hinttags' XPath query) is assigned a label.
"+
- "If you then press the keys for a label, it is followed as soon as it can be uniquely identified and this mode is stopped. Or press <Esc> to stop this mode.
"+
- "If you write the hint in ALLCAPS, the hint is followed in a background tab.",
- function(count) { hah.enableHahMode(vimperator.modes.QUICK_HINT); }
- ],
- [
- ["F"],
- ["F"],
- "Start AlwaysHint mode",
- "In AlwaysHint mode, every hintable item (according to the 'hinttags' XPath query) is assigned a label.
"+
- "If you then press the keys for a label, it is followed as soon as it can be uniquely identified. Labels stay active after following a hint in this mode, press <Esc> to stop this mode.
"+
- "This hint mode is especially useful for browsing large sites like Forums as hints are automatically regenerated when switching to a new document.
"+
- "Also, most Ctrl-prefixed shortcut keys are available in this mode for navigation.",
- function(count) { hah.enableHahMode(vimperator.modes.ALWAYS_HINT); }
- ],
- [
- [";"],
- [";"],
- "Start ExtendedHint mode",
- "ExtendedHint mode is useful, since in this mode you can yank link locations, or open them in a new window.
"+
- "E.g., if you want to yank the location of hint AB, press ; to start this hint mode.
"+
- "Then press AB to select the hint. Now press y to yank its location.
"+
- "Actions for selected hints in ExtendedHint mode are:
"+
- "
"+
- "Multiple hints can be seperated by commas where it makes sense. y to yank its locationY to yank its text descriptiono to open its location in the current tabt to open its location in a new tabO to open its location in an :open query (not implemented yet)T to open its location in an :tabopen query (not implemented yet)s to save its destination (not implemented yet)<C-w> to open its destination in a new window;ab,ac,adt opens AB, AC and AD in a new tab.
"+
- "Hintable elements for this mode can be set in the 'extendedhinttags' XPath string.",
- function(count) { hah.enableHahMode(vimperator.modes.EXTENDED_HINT); }
- ],
-
- /* search managment */
- [
- ["g/"],
- ["g/"],
- "Open search dialog",
- "",
- function(count) { vimperator.search.openSearchDialog(); }
- ],
- [
- ["n"],
- ["n"],
- "Find next",
- "Repeat the last \"/\" 1 time (until count is supported).",
- function(count) { vimperator.search.findNext(); }
- ],
- [
- ["N"],
- ["N"],
- "Find previous",
- "Repeat the last \"/\" 1 time (until count is supported) in the opposite direction.",
- function(count) { vimperator.search.findPrevious(); }
- ],
-
- /* vimperator managment */
- [
- [":help <F1> (jumping to a specific section not implemented yet).",
- function(count) { help(null); }
- ],
- [
- [":"],
- [":"],
- "Start command line mode",
- "In command line mode, you can perform extended commands, which may require arguments.",
- function(count) { vimperator.commandline.open(":", "", vimperator.modes.EX); }
- ],
- [
- ["I"],
- ["I"],
- "Disable vimperator keys",
- "Starts an 'ignorekeys' mode, where all keys except <Esc> are passed to the next event handler.
"+
- "This is especially useful, if JavaScript controlled forms like the RichEdit form fields of GMail don't work anymore.
" +
- "To exit this mode, press <Esc>. If you also need to pass <Esc>"+
- "in this mode to the webpage, prepend it with <C-v>.",
- function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS);}
- ],
- [
- ["<C-v>.
"+
- "Also works to unshadow Firefox shortcuts like <C-o> which are otherwise hidden in Vimperator.
"+
- "When in 'ignorekeys' mode (activated by <I>), <C-v> will pass the next key to Vimperator instead of the webpage.",
- function(count) { vimperator.addMode(null, vimperator.modes.ESCAPE_ONE_KEY); }
- ],
- [
- ["
"+
- "Also focuses the web page, in case a form field has focus and eats our key presses.",
- onEscape
- ],
-
- /* quick bookmark access - will be customizable in future*/
- [
- ["'b"],
- ["'b"],
- "These quick bookmarks will be customizable in future releases, ignore for now",
- null,
- function(count) { openURLs('www.bwin.com'); }
- ],
- [
- ["'o"],
- ["'o"],
- "These quick bookmarks will be customizable in future releases, ignore for now",
- null,
- function(count) { openURLs('www.osnews.com'); }
- ],
- [
- ["'s"],
- ["'s"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLs('www.derstandard.at'); }
- ],
- [
- ["'w"],
- ["'w"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLs('wetter.orf.at'); }
- ],
- [
- ["'t"],
- ["'t"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLs('www.tvinfo.de'); }
- ],
- [
- ["\"b"],
- ["\"b"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLsInNewTab('www.bwin.com'); }
- ],
- [
- ["\"o"],
- ["\"o"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLsInNewTab('www.osnews.com'); }
- ],
- [
- ["\"s"],
- ["\"s"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLsInNewTab('www.derstandard.at'); }
- ],
- [
- ["\"w"],
- ["\"w"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLsInNewTab('wetter.orf.at'); }
- ],
- [
- ["\"t"],
- ["\"t"],
- "These quick bookmarks will be customizable in future releases, ignore for now
",
- null,
- function(count) { openURLsInNewTab('www.tvinfo.de'); }
- ]
-];/*}}}*/
-
// var g_insert_mappings = [ /*{{{*/
// ["xxx", "todo"],
// ["Mappings
\n'+
''
- mappings += makeHelpString(g_mappings, "#102663", "", "", null);
+ // FIXME: fix this when Command() is added and help patch is merged -- djk
+ var all_maps = [];
+ for (map in vimperator.mappings)
+ all_maps.push([map.commands, [map.usage], map.short_help, map.help])
+ mappings += makeHelpString(all_maps, "#102663", "", "", null);
+ //mappings += makeHelpString(g_mappings, "#102663", "", "", null);
mappings += '
2d removes two tabs and the one the right is selected.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.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
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["gh"], BrowserHome,
@@ -214,21 +243,22 @@ function Mappings()
{
short_help: "Go to the next tab",
help: "Cycles to the first tab, when the last is selected.3gt goes to the third tab.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["gT", "3gT goes to the third tab.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["m"], set_location_mark,
{
- short_help: "Set mark at the cursor position", usage: "m{a-zA-Z}",
+ 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
+ flags: Mappings.flags.ARGUMENT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["o"], function(count) { vimperator.commandline.open(":", "open ", vimperator.modes.EX); },
@@ -285,7 +315,7 @@ function Mappings()
{
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
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["y"], yankCurrentLocation,
@@ -328,7 +358,7 @@ function Mappings()
{
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
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["ZQ"], function(count) { quit(false); },
@@ -362,14 +392,14 @@ function Mappings()
{
short_help: "Goto the top of the document",
help: "Count is supported, 35gg vertically goes to 35% of the document.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["G", "35G vertically goes to 35% of the document.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["h", "10h will move 10 times as much to the left.'beep' is turned off).",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["j", "10j will move 10 times as much down.'beep' is turned off).",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["k", "10k will move 10 times as much up.'beep' is turned off).",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["l", "10l will move 10 times as much to the right.'beep' is turned off).",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["3H goes back 3 steps.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["L", "3L goes forward 3 steps.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["gu", "2gu on http://www.example.com/dir1/dir2/file.htm would open http://www.example.com/dir1/.",
- flags: this.flags.COUNT
+ flags: Mappings.flags.COUNT
}
));
addDefaultMap(new Map(vimperator.modes.NORMAL, ["gU", "