aboutsummaryrefslogtreecommitdiffstats
path: root/applauncher.js
diff options
context:
space:
mode:
authoranekos2008-12-21 18:33:32 +0000
committeranekos2008-12-21 18:33:32 +0000
commite66181c7cba5b2ba53c8ee8319edbb6237bbff03 (patch)
tree83d22699f398b1bd5b9f4354aee90b61d104ac3f /applauncher.js
parentf8caa390332bd7554c49b071e2d7706b39dd62e1 (diff)
downloadvimperator-plugins-e66181c7cba5b2ba53c8ee8319edbb6237bbff03.tar.bz2
設定 g:applauncher_charset を追加
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@27179 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'applauncher.js')
-rw-r--r--applauncher.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/applauncher.js b/applauncher.js
index 253930d..424e73b 100644
--- a/applauncher.js
+++ b/applauncher.js
@@ -4,7 +4,7 @@ var PLUGIN_INFO =
<name lang='ja'>アプリケーションランチャー</name>
<description>Launch defined application</description>
<description lang='ja'>アプリケーションを起動します</description>
- <version>0.11</version>
+ <version>0.12</version>
<author>pekepeke</author>
<minVersion>2.0pre</minVersion>
<maxVersion>2.0pre</maxVersion>
@@ -20,18 +20,23 @@ var PLUGIN_INFO =
[ 'Internet Explorer', 'C:\\Program Files\\Internet Explorer\\iexplore.exe', '%URL%'],
[ 'Internet Explorer(Search)', 'C:\\Program Files\\Internet Explorer\\iexplore.exe', '%SEL%'],
];
+ liberator.globalVariables.applauncher_charset = 'Shift_JIS';
EOM
%URL% は実行時に選択中のリンクURL、もしくは開いているページのURLに置き換えられます。
%SEL% は選択中の文字列に置き換えられます。
%TITLE% はページのタイトルに置き換えられます。
引数を複数指定する場合は配列形式で指定してください。
+ applauncher_charset を指定すると、渡される文字列が指定の文字セットに変換されます。
]]></detail>
</VimperatorPlugin>
liberator.plugins.AppLauncher = (function(){
+ const UConv = Cc['@mozilla.org/intl/scriptableunicodeconverter'].getService(Ci.nsIScriptableUnicodeConverter);
const AppName = 'AppLauncher';
+
var global = liberator.globalVariables;
var settings = global.applauncher_list || [];
+ var defaultCharset = global.applauncher_charset;
if (!settings || settings.length <= 0) return;
var completer = settings.map( function([name, app, args]) [name, args ? app + ' ' + args.toString(): app] );
@@ -97,6 +102,10 @@ liberator.plugins.AppLauncher = (function(){
settings.some( function([name, app, args]){
args = args instanceof Array ? args : args ? [args] : [];
args = args.map( function( val ) val.replace(/%([A-Z]+)%/g, function( _, name ) self.variables[name]()) );
+ if (defaultCharset) {
+ UConv.charset = defaultCharset;
+ args = args.map( function( val ) UConv.ConvertFromUnicode(val) );
+ }
if (appName == name){
io.run(app, args);
return true;