mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 23:58:00 +01:00
all mappings apart from various insert modes are finally there where they should be
This commit is contained in:
@@ -181,18 +181,6 @@ vimperator.Mappings = function () //{{{
|
||||
return mappingsIterator([vimperator.modes.NORMAL], main);
|
||||
},
|
||||
|
||||
// FIXME: unused?
|
||||
/*getDefaultIterator: function (mode)
|
||||
{
|
||||
return mappingsIterator(mode, main);
|
||||
},
|
||||
|
||||
// FIXME: unused?
|
||||
getUserIterator: function (mode)
|
||||
{
|
||||
return mappingsIterator(mode, user);
|
||||
},*/
|
||||
|
||||
add: function (modes, keys, description, action, extra)
|
||||
{
|
||||
addMap (new vimperator.Map(modes, keys,
|
||||
@@ -351,226 +339,6 @@ vimperator.Mappings = function () //{{{
|
||||
////////////////////// DEFAULT MAPPINGS ////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////{{{
|
||||
|
||||
//
|
||||
// NORMAL mode
|
||||
// {{{
|
||||
|
||||
|
||||
// move to bookmarks.js:
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["a"],
|
||||
function ()
|
||||
{
|
||||
var title = "";
|
||||
if (vimperator.buffer.title != vimperator.buffer.URL)
|
||||
title = " -title=\"" + vimperator.buffer.title + "\"";
|
||||
vimperator.commandline.open(":", "bmark " + vimperator.buffer.URL + title, vimperator.modes.EX);
|
||||
},
|
||||
{ shortHelp: "Open a prompt to bookmark the current URL" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["A"],
|
||||
function () { vimperator.bookmarks.toggle(vimperator.buffer.URL); },
|
||||
{ shortHelp: "Toggle bookmarked state of current URL" }
|
||||
));
|
||||
|
||||
// move to vimperator.js:
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["~"],
|
||||
function () { vimperator.open("~"); },
|
||||
{ shortHelp: "Open home directory" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gh"],
|
||||
function() { BrowserHome(); },
|
||||
{ shortHelp: "Go home" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gH"],
|
||||
function ()
|
||||
{
|
||||
var homepages = gHomeButton.getHomePage();
|
||||
vimperator.open(homepages, /\bhomepage\b/.test(vimperator.options["activate"]) ?
|
||||
vimperator.NEW_TAB : vimperator.NEW_BACKGROUND_TAB);
|
||||
},
|
||||
{ shortHelp: "Go home in a new tab" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gu"],
|
||||
function (count)
|
||||
{
|
||||
function isDirectory(url)
|
||||
{
|
||||
if (/^file:\/|^\//.test(url))
|
||||
{
|
||||
//var strippedFilename = url.replace(/^(file:\/\/)?(.*)/, "$2");
|
||||
var file = vimperator.io.getFile(url);
|
||||
if (!file.exists() || !file.isDirectory())
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
// for all other locations just check if the URL ends with /
|
||||
return /\/$/.test(url);
|
||||
}
|
||||
|
||||
if (count < 1)
|
||||
count = 1;
|
||||
|
||||
var url = vimperator.buffer.URL;
|
||||
for (var i = 0; i < count; i++)
|
||||
{
|
||||
if (isDirectory(url))
|
||||
url = url.replace(/^(.*?:)(.*?)([^\/]+\/*)$/, "$1$2/");
|
||||
else
|
||||
url = url.replace(/^(.*?:)(.*?)(\/+[^\/]+)$/, "$1$2/");
|
||||
}
|
||||
url = url.replace(/^(.*:\/+.*?)\/+$/, "$1/"); // get rid of more than 1 / at the end
|
||||
|
||||
if (url == vimperator.buffer.URL)
|
||||
{
|
||||
vimperator.beep();
|
||||
return;
|
||||
}
|
||||
vimperator.open(url);
|
||||
},
|
||||
{
|
||||
shortHelp: "Go to parent directory",
|
||||
flags: vimperator.Mappings.flags.COUNT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gU"],
|
||||
function ()
|
||||
{
|
||||
var uri = content.document.location;
|
||||
if (/(about|mailto):/.test(uri.protocol)) // exclude these special protocols for now
|
||||
{
|
||||
vimperator.beep();
|
||||
return;
|
||||
}
|
||||
vimperator.open(uri.protocol + "//" + (uri.host || "") + "/");
|
||||
},
|
||||
{ shortHelp: "Go to the root of the website" }
|
||||
));
|
||||
|
||||
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["o"],
|
||||
function () { vimperator.commandline.open(":", "open ", vimperator.modes.EX); },
|
||||
{ shortHelp: "Open one or more URLs in the current tab" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["O"],
|
||||
function () { vimperator.commandline.open(":", "open " + vimperator.buffer.URL, vimperator.modes.EX); },
|
||||
{ shortHelp: "Open one or more URLs in the current tab, based on current location" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["<C-l>"],
|
||||
function () { vimperator.commands.redraw(); },
|
||||
{ shortHelp: "Redraw the screen" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["t"],
|
||||
function () { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); },
|
||||
{ shortHelp: "Open one or more URLs in a new tab" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["T"],
|
||||
function () { vimperator.commandline.open(":", "tabopen " + vimperator.buffer.URL, vimperator.modes.EX); },
|
||||
{ shortHelp: "Open one or more URLs in a new tab, based on current location" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["y"],
|
||||
function () { vimperator.copyToClipboard(vimperator.buffer.URL, true); },
|
||||
{ shortHelp: "Yank current location to the clipboard" }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL, vimperator.modes.VISUAL], ["Y"],
|
||||
function ()
|
||||
{
|
||||
var sel = window.content.document.getSelection();
|
||||
if (sel)
|
||||
vimperator.copyToClipboard(sel, true);
|
||||
else
|
||||
vimperator.beep();
|
||||
},
|
||||
{ shortHelp: "Copy selected text" }
|
||||
));
|
||||
|
||||
// move to quickmarks:
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["go"],
|
||||
function (arg) { vimperator.quickmarks.jumpTo(arg, vimperator.CURRENT_TAB); },
|
||||
{
|
||||
shortHelp: "Jump to a QuickMark in the current tab",
|
||||
flags: vimperator.Mappings.flags.ARGUMENT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["gn"],
|
||||
function (arg)
|
||||
{
|
||||
vimperator.quickmarks.jumpTo(arg,
|
||||
/\bquickmark\b/.test(vimperator.options["activate"]) ?
|
||||
vimperator.NEW_TAB : vimperator.NEW_BACKGROUND_TAB);
|
||||
},
|
||||
{
|
||||
shortHelp: "Jump to a QuickMark in a new tab",
|
||||
flags: vimperator.Mappings.flags.ARGUMENT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["M"],
|
||||
function (arg)
|
||||
{
|
||||
if (/[^a-zA-Z0-9]/.test(arg))
|
||||
{
|
||||
vimperator.beep();
|
||||
return;
|
||||
}
|
||||
|
||||
vimperator.quickmarks.add(arg, vimperator.buffer.URL);
|
||||
},
|
||||
{
|
||||
shortHelp: "Add new QuickMark for current URL",
|
||||
flags: vimperator.Mappings.flags.ARGUMENT
|
||||
}
|
||||
));
|
||||
|
||||
// move to v.Marks:
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["m"],
|
||||
function (arg)
|
||||
{
|
||||
if (/[^a-zA-Z]/.test(arg))
|
||||
{
|
||||
vimperator.beep();
|
||||
return;
|
||||
}
|
||||
|
||||
vimperator.marks.add(arg);
|
||||
},
|
||||
{
|
||||
shortHelp: "Set mark at the cursor position",
|
||||
flags: vimperator.Mappings.flags.ARGUMENT
|
||||
}
|
||||
));
|
||||
|
||||
// history manipulation and jumplist, move to bookmarks.js
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["<C-o>"],
|
||||
function (count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
||||
{
|
||||
shortHelp: "Go to an older position in the jump list",
|
||||
flags: vimperator.Mappings.flags.COUNT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["<C-i>"],
|
||||
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||
{
|
||||
shortHelp: "Go to a newer position in the jump list",
|
||||
flags: vimperator.Mappings.flags.COUNT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["H", "<A-Left>", "<M-Left>"],
|
||||
function (count) { vimperator.history.stepTo(-(count > 1 ? count : 1)); },
|
||||
{
|
||||
shortHelp: "Go back in the browser history",
|
||||
flags: vimperator.Mappings.flags.COUNT
|
||||
}
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.NORMAL], ["L", "<A-Right>", "<M-Right>"],
|
||||
function (count) { vimperator.history.stepTo(count > 1 ? count : 1); },
|
||||
{
|
||||
shortHelp: "Go forward in the browser history",
|
||||
flags: vimperator.Mappings.flags.COUNT
|
||||
}
|
||||
));
|
||||
|
||||
// }}}
|
||||
// CARET mode, most commands should be moved to buffer.js i guess
|
||||
// {{{
|
||||
|
||||
@@ -1179,20 +947,6 @@ vimperator.Mappings = function () //{{{
|
||||
));
|
||||
|
||||
//}}}
|
||||
// COMMAND_LINE mode, move to ui.js
|
||||
//{{{
|
||||
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.COMMAND_LINE], ["<Space>"],
|
||||
function () { return vimperator.editor.expandAbbreviation("c"); },
|
||||
{ flags: vimperator.Mappings.flags.ALLOW_EVENT_ROUTING }
|
||||
));
|
||||
addDefaultMap(new vimperator.Map([vimperator.modes.COMMAND_LINE], ["<C-]>", "<C-5>"],
|
||||
function () { vimperator.editor.expandAbbreviation("c"); }, { }
|
||||
));
|
||||
|
||||
|
||||
|
||||
//}}} }}}
|
||||
|
||||
return mappingManager;
|
||||
}; //}}}
|
||||
|
||||
Reference in New Issue
Block a user