diff options
Diffstat (limited to 'proxy.js')
-rw-r--r-- | proxy.js | 112 |
1 files changed, 52 insertions, 60 deletions
@@ -1,85 +1,78 @@ /** - * vimperator plugin + * Vimperator plugin * - * proxy setting plugin (for vimperator-0.6pre) + * proxy setting plugin (for Vimperator 0.6pre) * * @author cho45 * @author halt feits - * @version 0.6.1 + * @version 0.6 */ (function() { const proxy_settings = [ - { - conf_name: 'disable', - conf_usage: 'direct connection', - setting: [ - { - label: 'type', - param: 0 - } - ] - }, - { - conf_name: 'polipo', - conf_usage: 'use polipo cache proxy', - setting: [ - { - label: 'type', - param: 1 - }, - { - label: 'http', - param: 'localhost' - }, - { - label: 'http_port', - param: 8123 - } - ] - } + { + conf_name: 'disable', + conf_usage: 'direct connection', + settings: [ + { + label: 'type', + param: 0 + } + ] + }, + { + conf_name: 'polipo', + conf_usage: 'use polipo cache proxy', + settings: [ + { + label: 'type', + param: 1 + }, + { + label: 'http', + param: 'localhost' + }, + { + label: 'http_port', + param: 8123 + } + ] + } ]; - liberator.commands.addUserCommand(["proxy"], 'proxy settings', - function (args) { - const prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); + liberator.commands.addUserCommand(["proxy"], 'Proxy settings', function (args) { + const prefs = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefService); var name = args; if (!name) { liberator.echo("Usage: proxy {setting name}"); } - for (var i = 0; i < proxy_settings.length; i++) { - var proxy_setting = proxy_settings[i]; - if (proxy_setting.conf_name.toLowerCase() == name.toLowerCase()) { + proxy_settings.some(function (proxy_setting) { + if (proxy_setting.conf_name.toLowerCase() != name.toLowerCase()) { + return false; + } - //delete setting - ['http', 'ssl', 'ftp', 'gopher'].forEach( - function (p) { - prefs.setCharPref("network.proxy." + p, ''); - prefs.setIntPref("network.proxy." + p + "_port", 0); - } - ); + //delete setting + ['http', 'ssl', 'ftp', 'gopher'].forEach(function (scheme_name) { + prefs.setCharPref("network.proxy." + scheme_name, ''); + prefs.setIntPref("network.proxy." + scheme_name + "_port", 0); + }); - for (var j = 0; j < proxy_setting.setting.length; j++) { - var conf = proxy_setting.setting[j]; - liberator.options.setPref('network.proxy.' + conf.label, conf.param); - } + proxy_setting.settings.forEach(function (conf) { + liberator.options.setPref('network.proxy.' + conf.label, conf.param); + }); - liberator.echo("set config:" + name); - break; - } - } + liberator.echo("Set config: " + name); + return true; + }); }, { completer: function (filter) { var completions = []; + var exp = new RegExp("^" + filter); - for (var i = 0; i < proxy_settings.length; i++) { - var name = proxy_settings[i].conf_name; - var usage = proxy_settings[i].conf_usage; - - var exp = new RegExp("^" + filter); - + for each (let { conf_name: name, conf_usage: usage } in proxy_settings) { if (exp.test(name)) { completions.push([name, usage]); } @@ -87,8 +80,7 @@ return [0, completions]; } - } -); + }); })(); // vim: set sw=4 ts=4 et: |