aboutsummaryrefslogtreecommitdiffstats
path: root/walk-input.js
AgeCommit message (Expand)Author
2011-07-27coderepos ちゃうんやでanekos
2011-07-05type=file を飛ばすようにしたanekos
2011-06-27デバッグ用の削除anekos
2011-06-27値は関係ないっぽいanekos
2011-06-27input[@disabled="disabled"] を無視するようにしたanekos
2011-06-27上の要素が非表示だと困ったことなってしまうんじゃanekos
2011-06-03fix typoteramako
2010-12-22supports html5 input typesteramako
2009-11-14replace new help systemteramako
2009-10-31oops, add count up version infoteramako
2009-10-31follow version-2.2teramako
2009-03-31PLUGIN_INFO に対応anekos
2009-01-24display: none の要素は対象にしないようにしたanekos
2008-11-25フレームに対応anekos
2008-11-21 * 小さな変更でありんす。drry
2008-11-19フレーム対応。anekos
2008-11-12 * fixed regexes.drry
2008-11-10revertpekepeke
2008-11-10revertpekepeke
2008-11-10bug fix - 2.0preにちゃんと対応できてなかったので、ちゃん...pekepeke
2008-11-09 * cosmetic changes.drry
2008-11-06なぜか消えている逆向き移動を復活。anekos
2008-11-06 * cosmetic changes.drry
2008-11-052.0pre対応pekepeke
SCLAIMED. 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'); let mode_change_key = liberator.globalVariables.asdfghjkl_mode_change_key || '<Space>'; let useShift = eval(liberator.globalVariables.asdfghjkl_useShift || 'false'); let asdfghjkl_hintchars = liberator.globalVariables.asdfghjkl_hintchars || ";asdfghjkl"; let active = false; function around (obj, name, func) { let next = obj[name]; obj[name] = function () let (self = this, args = arguments) func.call(self, function () next.apply(self, args), args); } around(events, 'onKeyPress', function (next, [event]) { if (modes.extended & modes.HINTS) { let act = active; let key = events.toString(event); if (key == mode_change_key) { active = !active; event.preventDefault(); event.stopPropagation(); return; } if (key.length == 1) { if (useShift && event.shiftKey) { act = !act; key = key.toLowerCase(); } if (act) { let n = asdfghjkl_hintchars.indexOf(key); if (n >= 0) { events.feedkeys(n.toString(), true); event.preventDefault(); event.stopPropagation(); return; } } } } return next(); }); around(hints, 'show', function (next) { active = asdfghjkl_default; return next(); }); })();