Show
Ignore:
Timestamp:
11/28/08 20:37:32 (6 weeks ago)
Author:
hogelog
Message:
  • add ":gmcommand" command to gmperator.js.
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/gmperator.js

    r25172 r25255  
    2929 *       -i[nclude] {expr[,expr,...]} -> change includes to expr list ("," demiliter) 
    3030 *       -e[xclude] {expr[,expr,...]} -> change excludes to expr list ("," demiliter) 
     31 * 
     32 * :gmcommand {command name}          -> run Greasemonkey Command 
    3133 * 
    3234 * Caution: 
     
    342344    } 
    343345); //}}} 
     346commands.addUserCommand(["gmcommand", "gmcmd"], "run Greasemonkey Command", //{{{ 
     347    function(args, special) { 
     348        var commander = GM_BrowserUI.getCommander(getBrowser().selectedTab.linkedBrowser.contentWindow); 
     349        for (var i = 0; i < commander.menuItems.length; i++) { 
     350            var menuItem = commander.menuItems[i]; 
     351            if (menuItem.getAttribute("label") == args) { 
     352                menuItem._commandFunc(); 
     353                return; 
     354            } 
     355        } 
     356        echoerr(args+" is not defined userscript command."); 
     357    }, 
     358    { 
     359        completer: function(filter) { 
     360            var commander = GM_BrowserUI.getCommander(getBrowser().selectedTab.linkedBrowser.contentWindow); 
     361            var completions = []; 
     362            var exp = new RegExp(".*" + filter + ".*"); 
     363            for (var i = 0; i < commander.menuItems.length; i++) { 
     364                var label = commander.menuItems[i].getAttribute("label"); 
     365                if (!filter || exp.test(label)) { 
     366                    completions.push([label, label]); 
     367                } 
     368            } 
     369            return [0, completions]; 
     370        } 
     371    } 
     372); //}}} 
    344373 
    345374// ---------------------------