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

Legend:

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

    r25251 r25253  
    55 * @author         teramako teramako@gmail.com 
    66 * @namespace      http://d.hatena.ne.jp/teramako/ 
    7  * @version        0.5b 
     7 * @version        0.6b 
    88 * ==/VimperatorPlugin== 
    99 * 
     
    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: 
     
    343345    } 
    344346); //}}} 
     347liberator.commands.addUserCommand(["gmcommand", "gmcmd"], "run Greasemonkey Command", //{{{ 
     348    function(args, special) { 
     349        var commander = GM_BrowserUI.getCommander(getBrowser().selectedTab.linkedBrowser.contentWindow); 
     350        for (var i = 0; i < commander.menuItems.length; i++) { 
     351            var menuItem = commander.menuItems[i]; 
     352            if (menuItem.getAttribute("label") == args) { 
     353                menuItem._commandFunc(); 
     354                return; 
     355            } 
     356        } 
     357        liberator.echoerr(args+" is not defined userscript command."); 
     358    }, 
     359    { 
     360        completer: function(filter) { 
     361            var commander = GM_BrowserUI.getCommander(getBrowser().selectedTab.linkedBrowser.contentWindow); 
     362            var completions = []; 
     363            var exp = new RegExp(".*" + filter + ".*"); 
     364            for (var i = 0; i < commander.menuItems.length; i++) { 
     365                var label = commander.menuItems[i].getAttribute("label"); 
     366                if (!filter || exp.test(label)) { 
     367                    completions.push([label, label]); 
     368                } 
     369            } 
     370            return [0, completions]; 
     371        } 
     372    } 
     373); //}}} 
    345374 
    346375// ---------------------------