mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 23:58:00 +01:00
:macros <filter> added + 2 additional autocommands events: BrowserRestart and BrowserQuit
This commit is contained in:
@@ -1439,6 +1439,24 @@ vimperator.Commands = function () //{{{
|
|||||||
completer: function (filter) { return vimperator.completion.autocommands(filter); }
|
completer: function (filter) { return vimperator.completion.autocommands(filter); }
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
commandManager.add(new vimperator.Command(["mac[ros]"],
|
||||||
|
function (arg)
|
||||||
|
{
|
||||||
|
var str = "<table>";
|
||||||
|
var macroRef = vimperator.events.getMacros(arg);
|
||||||
|
for (var item in macroRef)
|
||||||
|
str += "<tr><td>\"" + item + " </td><td>" +
|
||||||
|
vimperator.util.escapeHTML(macroRef[item]) + "</td></tr>";
|
||||||
|
|
||||||
|
str += "</table>";
|
||||||
|
|
||||||
|
vimperator.echo(str, vimperator.commandline.FORCE_MULTILINE);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
shortHelp: "List macros matching the argument; or all macros if no argument is given."
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
// 0 args -> list all maps
|
// 0 args -> list all maps
|
||||||
// 1 arg -> list the maps starting with args
|
// 1 arg -> list the maps starting with args
|
||||||
// 2 args -> map arg1 to arg*
|
// 2 args -> map arg1 to arg*
|
||||||
|
|||||||
@@ -133,6 +133,8 @@ vimperator.Completion = function () //{{{
|
|||||||
{
|
{
|
||||||
substrings = [];
|
substrings = [];
|
||||||
var nodes = [
|
var nodes = [
|
||||||
|
["BrowserExit", "when firefox exits"],
|
||||||
|
["BrowserRestart", "when firefox restarts"],
|
||||||
["PageLoad", "when a page gets (re)loaded/opened"]
|
["PageLoad", "when a page gets (re)loaded/opened"]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -539,6 +539,17 @@ vimperator.Events = function () //{{{
|
|||||||
vimperator.echoerr("Register " + lastMacro + " not set");
|
vimperator.echoerr("Register " + lastMacro + " not set");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getMacros: function (filter)
|
||||||
|
{
|
||||||
|
var mfiltered = {};
|
||||||
|
for (var item in macros)
|
||||||
|
{
|
||||||
|
if (filter == null || item.indexOf(filter) != -1)
|
||||||
|
mfiltered[item] = macros[item];
|
||||||
|
}
|
||||||
|
return mfiltered; //XXX: returns a real copy, since this is only a 'var ..'?
|
||||||
|
},
|
||||||
|
|
||||||
// This method pushes keys into the event queue from vimperator
|
// This method pushes keys into the event queue from vimperator
|
||||||
// it is similar to vim's feedkeys() method, but cannot cope with
|
// it is similar to vim's feedkeys() method, but cannot cope with
|
||||||
// 2 partially feeded strings, you have to feed one parsable string
|
// 2 partially feeded strings, you have to feed one parsable string
|
||||||
|
|||||||
@@ -374,6 +374,8 @@ const vimperator = (function () //{{{
|
|||||||
// quit vimperator, no matter how many tabs/windows are open
|
// quit vimperator, no matter how many tabs/windows are open
|
||||||
quit: function (saveSession)
|
quit: function (saveSession)
|
||||||
{
|
{
|
||||||
|
vimperator.autocommands.trigger("BrowserExit", "");
|
||||||
|
|
||||||
if (saveSession)
|
if (saveSession)
|
||||||
vimperator.options.setFirefoxPref("browser.startup.page", 3); // start with saved session
|
vimperator.options.setFirefoxPref("browser.startup.page", 3); // start with saved session
|
||||||
else
|
else
|
||||||
@@ -384,6 +386,8 @@ const vimperator = (function () //{{{
|
|||||||
|
|
||||||
restart: function ()
|
restart: function ()
|
||||||
{
|
{
|
||||||
|
vimperator.autocommands.trigger("BrowserRestart", "");
|
||||||
|
|
||||||
const nsIAppStartup = Components.interfaces.nsIAppStartup;
|
const nsIAppStartup = Components.interfaces.nsIAppStartup;
|
||||||
|
|
||||||
// notify all windows that an application quit has been requested.
|
// notify all windows that an application quit has been requested.
|
||||||
|
|||||||
Reference in New Issue
Block a user