A Day in the Life

2009-03-18

マッチするドメインのバッファを全部閉じる vimperator のコード断片 (vimpChrome)

google の検索結果がタブにのこったまんまになって、それらだけ閉じたい!ということがよくあるので作った。

最近プラグイン化が面倒(coderepos にあげるにはドキュメント書かなくちゃ的なのがめんどい…)し、別に自分以外使わなそうだなー、というのは大体 .vimperator/sketch.js (autosource 監視対象のところ)に殴り書きして、とってこうと思ったら .vimperator/vimpChrome.js に書いてる。

f:id:secondlife:20090318213619p:image

commands.addUserCommand(['bdd[omain]'],
    'buffer delete by match domain',
    function (args) {
        var domain = args.string;
        let count = 0;
        Application.activeWindow.tabs.forEach(function(t) {
            // t #=> fuelIBrowserTab
            if (t.uri.scheme.indexOf('http') != -1 &&
                t.uri.host.indexOf(domain) != -1) {
                t.close();
                count++;
            }
        });
        if (count) liberator.echo('close ' + count + ' buffer(s).');
    }, 
    {
        completer: function (context) {
            context.title = ['domains', ''];
            let domains = [];
            Application.activeWindow.tabs.forEach(function(t) {
                if (t.uri.scheme.indexOf('http') != -1) {
                    if (!domains.some(function(domain) t.uri.host == domain))
                        domains.push(t.uri.host);
                }
            });
            context.completions = domains.map(function(d) [d, '']);
        },
        argCount: '1',
        bang: false,
    },
    true
);

今日の tablog

ページ読み込みエラーなのは xulplanet。最近落ちまくってて泣ける…。

f:id:secondlife:20090318202159p:image

記事の一覧 >