aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2009-10-15 15:10:03 +0000
committeranekos2009-10-15 15:10:03 +0000
commit7c7c2ba95937efffb9e9ee461fe9c6bf5b8a68db (patch)
treeead5a1163eaff742e082b4c726f4856db69ed6a6
parent8ce2f2a00953a341028ef1fe845405ce2a00006e (diff)
downloadvimperator-plugins-7c7c2ba95937efffb9e9ee461fe9c6bf5b8a68db.tar.bz2
新しいオプションに対応
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@35615 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--localkeymode.js20
1 files changed, 14 insertions, 6 deletions
diff --git a/localkeymode.js b/localkeymode.js
index 4bec49e..1f7616c 100644
--- a/localkeymode.js
+++ b/localkeymode.js
@@ -3,10 +3,10 @@ var PLUGIN_INFO =
<name>localkeymode</name>
<description>assign temporary keymap</description>
<description lang="ja">一時的なキーマップの割り当て</description>
- <version>0.2.1c</version>
+ <version>0.2.2</version>
<author homepage="http://d.hatena.ne.jp/pekepekesamurai/">pekepeke</author>
- <minVersion>2.0pre</minVersion>
- <maxVersion>2.0pre</maxVersion>
+ <minVersion>2.2pre</minVersion>
+ <maxVersion>2.2pre</maxVersion>
<updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/localkeymode.js</updateURL>
<detail><![CDATA[
== Usage ==
@@ -84,10 +84,18 @@ liberator.plugins.LocalKeyMode = (function() {
function cloneMap(org, key) {
return new Map(
org.modes, key || org.names, org.description, org.action,
- {flags:org.flags, rhs:org.rhs, noremap:org.noremap }
+ cloneExtraInfo(org)
);
}
+ function cloneExtraInfo(org) {
+ let result = {};
+ for (let name in org)
+ if (/^(rhs|noremap|count|motion|arg|silent|route)$/.test(name))
+ result[name] = org[name];
+ return result;
+ }
+
var Class = function() function() {this.initialize.apply(this, arguments);};
var LocalKeyMode = new Class();
@@ -217,7 +225,7 @@ liberator.plugins.LocalKeyMode = (function() {
else self.delkeychars.push( key );
} );
mappings.addUserMap([modes.NORMAL], m.names, m.description, m.action,
- {flags:m.flags, rhs:m.rhs, noremap:m.noremap });
+ cloneExtraInfo(m));
self.helpstring += m.names+' -> '+m.rhs+'<br/>\n';
} );
this.isBinding = true;
@@ -273,7 +281,7 @@ liberator.plugins.LocalKeyMode = (function() {
for (; 0 < this.storekeymaps.length; ) {
let m = this.storekeymaps.shift();
mappings.addUserMap([modes.NORMAL], m.names, m.description, m.action,
- {flags:m.flags, rhs:m.rhs, noremap:m.noremap});
+ cloneExtraInfo(m));
}
for (; 0 < this.delkeychars.length; ) {
let keys = this.delkeychars.shift();