diff options
author | anekos | 2009-10-15 15:10:03 +0000 |
---|---|---|
committer | anekos | 2009-10-15 15:10:03 +0000 |
commit | 7c7c2ba95937efffb9e9ee461fe9c6bf5b8a68db (patch) | |
tree | ead5a1163eaff742e082b4c726f4856db69ed6a6 | |
parent | 8ce2f2a00953a341028ef1fe845405ce2a00006e (diff) | |
download | vimperator-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.js | 20 |
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(); |