From 1570f104aa9b383a7ee46a3318678a93c7f437e9 Mon Sep 17 00:00:00 2001 From: anekos Date: Thu, 21 Aug 2008 08:33:04 +0000 Subject: 検索開始を遅延することで取りこぼしにくくした。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@17953 d0d07461-0603-4401-acd4-de1884942a52 --- migemized_find.js | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'migemized_find.js') diff --git a/migemized_find.js b/migemized_find.js index 0da0f04..2709576 100644 --- a/migemized_find.js +++ b/migemized_find.js @@ -11,6 +11,10 @@ // '?' => Migemo検索 // 以外 => Migemo検索 // +// Setting: +// let g:migemized_find_delay = "0" +// 検索開始の遅延時間 +// // Author: // anekos // @@ -18,7 +22,9 @@ // http://d.hatena.ne.jp/nokturnalmortum/20080805#1217941126 // // TODO: -// FIND_MODE_NATIVE のときうまく動かない。XUL/Migemoの問題? +// FIND_MODE_NATIVE のときうまく動かない。XUL/Migemoの問題? +// 検索時に取りこぼさないようにする。 +// (とりあえず検索開始を遅延することで取りこぼしにくくした) (function () { @@ -57,13 +63,21 @@ return [str, XMigemoFind.FIND_MODE_MIGEMO]; } + let timer = null; + let migemized = { find: function find (str, backwards) { - let [word, mode] = getFindMode(str); - if (!word) - return; - XMigemoFind.findMode = mode; - XMigemoFind.find(backwards, lastKeyword = word, true); + let f = function () { + liberator.log('called '); + let [word, mode] = getFindMode(str); + if (!word) + return; + XMigemoFind.findMode = mode; + XMigemoFind.find(backwards, lastKeyword = word, true); + }; + if (timer) + clearTimeout(timer); + timer = setTimeout(f, parseInt(liberator.globalVariables.migemized_find_delay || '300')); }, findAgain: function findAgain (reverse) { -- cgit v1.2.3