aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2009-02-01 10:45:52 +0000
committeranekos2009-02-01 10:45:52 +0000
commit89eb7ab5509d41b29b4e039c3e12da2cfa580f33 (patch)
treebe2cee29a37169408ddb21ed3ea8548c9f38214f
parent4e7bbcf8cc60f43d556e7cb81172602ad07652cc (diff)
downloadvimperator-plugins-89eb7ab5509d41b29b4e039c3e12da2cfa580f33.tar.bz2
PLUGIN_INFO 対応
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@29386 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--asdfghjkl.js128
-rw-r--r--command_menu.js96
-rw-r--r--echopy.js143
-rw-r--r--garbage_finder.js4
4 files changed, 261 insertions, 110 deletions
diff --git a/asdfghjkl.js b/asdfghjkl.js
index b1b64fd..87888e4 100644
--- a/asdfghjkl.js
+++ b/asdfghjkl.js
@@ -1,42 +1,92 @@
-// ==VimperatorPlugin==
-// @name asdfghjkl;
-// @description Inputting numbers by asdfghjkl; keys in hint mode.
-// @description-ja Hintモードで、asdfghjkl;キーを使って数字入力をする。
-// @license Creative Commons 2.1 (Attribution + Share Alike)
-// @version 1.4
-// @minVersion 2.0pre
-// @maxVersion 2.0pre
-// @author anekos (anekos@snca.net)
-// ==/VimperatorPlugin==
-//
-// Usage:
-// In hint-mode, When press <Space>, enter into asdfghjkl; mode.
-// (If you want to leave this mode, re-press <Space>)
-//
-// You can change the keybind for enter into asdfghjkl like below:
-// let g:asdfghjkl_mode_change_key = "<C-c>"
-//
-// You can also change the keys for inputting numbers like below:
-// let g:asdfghjkl_hintchars = "/zxcvbnm,."
-//
-// Note that the numbers 0-9 are corresponding to
-// characters from the left side to the right side of the string.
-//
-// Usage-ja:
-// ヒントモードで、<Space> を押すと asdfghjkl; モード(?)に入ります。
-// 出たい場合は、もう一度押します。
-//
-// 切り替えキーを変更したい場合は、以下のように設定できます。
-// let g:asdfghjkl_mode_change_key = "<C-c>"
-//
-// 数字入力のためのキーは、以下のように変更出来ます。
-// let g:asdfghjkl_hintchars = "/zxcvbnm,."
-// それぞれの文字は左側から0-9の数字の入力に対応します。
-//
-//
-// Links:
-// http://d.hatena.ne.jp/nokturnalmortum/20081021#1224543467
-//
+/* {{{
+Copyright (c) 2008, anekos.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ 3. The names of the authors may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+
+
+###################################################################################
+# http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license #
+# に参考になる日本語訳がありますが、有効なのは上記英文となります。 #
+###################################################################################
+
+}}} */
+
+// PLUGIN_INFO {{{
+let PLUGIN_INFO =
+<VimperatorPlugin>
+ <name>asdfghjkl;</name>
+ <description>Inputting numbers by asdfghjkl; keys in hint mode.</description>
+ <description lang="ja">Hintモードで、asdfghjkl;キーを使って数字入力をする。</description>
+ <version>1.4.1</version>
+ <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
+ <license>new BSD License (Please read the source code comments of this plugin)</license>
+ <license lang="ja">修正BSDライセンス (ソースコードのコメントを参照してください)</license>
+ <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/asdfghjkl.js</updateURL>
+ <minVersion>2.0pre</minVersion>
+ <maxVersion>2.0pre</maxVersion>
+ <detail><![CDATA[
+ == Usage ==
+ In hint-mode, When press <Space>, enter into asdfghjkl; mode.
+ (If you want to leave this mode, re-press <Space>)
+
+ You can change the keybind for enter into asdfghjkl like below
+ >||
+ let g:asdfghjkl_mode_change_key = "<C-c>"
+ ||<
+
+ You can also change the keys for inputting numbers like below
+ >||
+ let g:asdfghjkl_hintchars = "/zxcvbnm,."
+ ||<
+
+ Note that the numbers 0-9 are corresponding to
+ characters from the left side to the right side of the string.
+
+ == Link ==
+ http://d.hatena.ne.jp/nokturnalmortum/20081021#1224543467
+ ]]></detail>
+ <detail lang="ja"><![CDATA[
+ == Usage-ja ==
+ ヒントモードで、<Space> を押すと asdfghjkl; モード(?)に入ります。
+ 出たい場合は、もう一度押します。
+
+ 切り替えキーを変更したい場合は、以下のように設定できます。
+ >||
+ let g:asdfghjkl_mode_change_key = "<C-c>"
+ ||<
+
+ 数字入力のためのキーは、以下のように変更出来ます。
+ >||
+ let g:asdfghjkl_hintchars = "/zxcvbnm,."
+ ||<
+ それぞれの文字は左側から0-9の数字の入力に対応します。
+
+ == Link ==
+ http://d.hatena.ne.jp/nokturnalmortum/20081021#1224543467
+ ]]></detail>
+</VimperatorPlugin>;
+// }}}
(function () {
let asdfghjkl_default = eval(liberator.globalVariables.asdfghjkl_default || 'false');
diff --git a/command_menu.js b/command_menu.js
index 8f72850..ffded3a 100644
--- a/command_menu.js
+++ b/command_menu.js
@@ -1,25 +1,77 @@
-// ==VimperatorPlugin==
-// @name Command-MainMenu
-// @description-ja メインメニューとツールバーをコマンドで実行できる
-// @license Creative Commons 2.1 (Attribution + Share Alike)
-// @version 1.5
-// @author anekos (anekos@snca.net)
-// ==/VimperatorPlugin==
-//
-// Usage:
-// :menu ツール-アドオン
-// :toolbar 戻る
-// のようにメニュー/ツールバーの"-"区切りのパスを渡すことで、メニュー/ツールバーをクリックします。
-// Migemo必須。
-//
-// TODO:
-// ・一度開かないと生成されないようなメニュー(ラベル)に対処できる魔法があったらいいな!
-//  (ScrapBook / ブックマークメニュー)
-// ・コンテクストメニューがうまくいかない。
-//
-// License:
-// http://creativecommons.org/licenses/by-sa/2.1/jp/
-// http://creativecommons.org/licenses/by-sa/2.1/jp/deed
+/* {{{
+Copyright (c) 2008, anekos.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ 3. The names of the authors may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+
+
+###################################################################################
+# http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license #
+# に参考になる日本語訳がありますが、有効なのは上記英文となります。 #
+###################################################################################
+
+}}} */
+
+// PLUGIN_INFO {{{
+let PLUGIN_INFO =
+<VimperatorPlugin>
+ <name>Command-MainMenu</name>
+ <description>Execute main-menu and tool-bar by ex-command.</description>
+ <description lang="ja">メインメニューとツールバーをコマンドで実行できる</description>
+ <version>1.5.1</version>
+ <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
+ <license>new BSD License (Please read the source code comments of this plugin)</license>
+ <license lang="ja">修正BSDライセンス (ソースコードのコメントを参照してください)</license>
+ <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/command_menu.js</updateURL>
+ <minVersion>2.0pre</minVersion>
+ <maxVersion>2.0pre</maxVersion>
+ <detail><![CDATA[
+ == Usage ==
+ >||
+ :menu tools-addons
+ :toolbar back
+ ||<
+ == Requires ==
+ XUL/Migemo addon
+ ]]></detail>
+ <detail lang="ja"><![CDATA[
+ == Usage ==
+ >||
+ :menu ツール-アドオン
+ :toolbar 戻る
+ ||<
+ のようにメニュー/ツールバーの"-"区切りのパスを渡すことで、メニュー/ツールバーをクリックします。
+ Migemo必須。
+ == Requires ==
+ XUL/Migemo アドオン
+ ]]></detail>
+</VimperatorPlugin>;
+// }}}
+
+// TODO ==
+// ・一度開かないと生成されないようなメニュー(ラベル)に対処できる魔法があったらいいな!
+//  (ScrapBook / ブックマークメニュー)
+// ・コンテクストメニューがうまくいかない。
(function () {
diff --git a/echopy.js b/echopy.js
index faca7e4..477baee 100644
--- a/echopy.js
+++ b/echopy.js
@@ -1,61 +1,110 @@
-// ==VimperatorPlugin==
-// @name echopy
-// @description echo and copy
-// @description-ja echo and copy
-// @license Creative Commons 2.1 (Attribution + Share Alike)
-// @version 1.0
-// @author anekos (anekos@snca.net)
-// @maxVersion 2.0pre
-// @minVersion 2.0pre
-// ==/VimperatorPlugin==
-//
-// Usage:
-// :echo <EXPRESSION>
-// echo with copy (to clipboard).
-//
-// Usage-ja:
-// :echo <EXPRESSION>
-// echo すると同時にクリップボードにコピー
-//
-// Links:
-// http://d.hatena.ne.jp/nokturnalmortum/20081111#1226414487
+/* {{{
+Copyright (c) 2008, anekos.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ 3. The names of the authors may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+
+
+###################################################################################
+# http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license #
+# に参考になる日本語訳がありますが、有効なのは上記英文となります。 #
+###################################################################################
+
+}}} */
+
+// PLUGIN_INFO {{{
+let PLUGIN_INFO =
+<VimperatorPlugin>
+ <name>{NAME}</name>
+ <name lang="ja">{NAME}</name>
+ <description>Echo and Copy(to clipboard)</description>
+ <description lang="ja">echo しつつクリップボードにコピーできる様にする</description>
+ <version>1.0.1</version>
+ <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
+ <license>new BSD License (Please read the source code comments of this plugin)</license>
+ <license lang="ja">修正BSDライセンス (ソースコードのコメントを参照してください)</license>
+ <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/echopy.js</updateURL>
+ <minVersion>2.0pre</minVersion>
+ <maxVersion>2.0pre</maxVersion>
+ <detail><![CDATA[
+ == Usage ==
+ :echo! <EXPRESSION>:
+ echo and copy (to clipboard).
+ When used without "!", "echo" does not copy to clipboard.
+ == Link ==
+ http://d.hatena.ne.jp/nokturnalmortum/20081111#1226414487
+ ]]></detail>
+ <detail lang="ja"><![CDATA[
+ == Usage ==
+ :echo! <EXPRESSION>:
+ echo しつつクリップボードにコピー
+ "!" とつけない場合は、クリップボードにコピーされません。
+ == Link ==
+ http://d.hatena.ne.jp/nokturnalmortum/20081111#1226414487
+ ]]></detail>
+</VimperatorPlugin>;
+// }}}
(function () {
- function neko (obj, useColor) {
- switch (typeof obj) {
- case 'object':
- return liberator.modules.util.objectToString(obj, useColor);
- case 'function':
- return liberator.modules.util.escapeHTML(obj.toString());
- case 'number':
- case 'boolean':
- return '' + obj;
- case 'undefined':
- return 'undefined';
+ function ea2s (arg) {
+ if (!arg)
+ return '';
+
+ let raw, res;
+ let value = liberator.eval(arg);
+
+ if (typeof value === 'object') {
+ res = util.objectToString(value, true);
+ raw = util.objectToString(value, false);
+ } else if (typeof value === 'function') {
+ raw = value.toString();
+ res = <pre>{raw}</pre>;
+ } else if (typeof value === 'string' && /\n/.test(value)) {
+ raw = value;
+ res = <span highlight="CmdOutput">{value}</span>;
+ } else {
+ raw = res = String(value);
}
- return obj;
+
+ return [raw, res];
}
let echo = commands.get('echo');
let original_action = echo.action;
- echo.action = function (arg, bang) {
- if (bang) {
- try {
- if (arg.string == '')
- return;
- let obj = liberator.eval(arg.string);
- liberator.echo(neko(obj, true));
- liberator.modules.util.copyToClipboard(neko(obj, false));
- } catch (e) {
- liberator.echoerr(e);
- }
- } else {
- original_action.apply(this, arguments);
+ echo.action = function (args) {
+ try {
+ if (args.string == '')
+ return;
+ let [raw, res] = ea2s(args.string);
+ commandline.echo(res, commandline.HL_NORMAL);
+ if (args.bang)
+ util.copyToClipboard(raw);
+ } catch (e) {
+ liberator.echoerr(e);
}
};
echo.bang = true;
-
})();
diff --git a/garbage_finder.js b/garbage_finder.js
index 2e1a992..bc57ee8 100644
--- a/garbage_finder.js
+++ b/garbage_finder.js
@@ -37,7 +37,7 @@ let PLUGIN_INFO =
<VimperatorPlugin>
<name>Garbage Finder</name>
<name lang="ja">ゴミ探し</name>
- <description>Finds the taints in global(window object)</description>
+ <description>Find the taints in global(window object)</description>
<description lang="ja">グローバル(window オブジェクト)の汚染を調べる</description>
<version>1.0.2</version>
<author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
@@ -112,7 +112,7 @@ let PLUGIN_INFO =
commands.addUserCommand(
['garbages'],
- 'Displays garbages',
+ 'Display garbages',
function (args) {
function makeLI (list) {
if (list.length) {