aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2008-08-21 08:33:04 +0000
committeranekos2008-08-21 08:33:04 +0000
commit1570f104aa9b383a7ee46a3318678a93c7f437e9 (patch)
treea84f6939a449d32921706f402fc94d7ad8545691
parentadfacf089ef973e240f23684bd1c5e1c0b009703 (diff)
downloadvimperator-plugins-1570f104aa9b383a7ee46a3318678a93c7f437e9.tar.bz2
検索開始を遅延することで取りこぼしにくくした。
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@17953 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--migemized_find.js26
1 files changed, 20 insertions, 6 deletions
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) {