From 05b1a6073537ceaf7248ea720f85a472248c5f22 Mon Sep 17 00:00:00 2001 From: anekos Date: Sat, 15 Nov 2008 08:02:28 +0000 Subject: Head で正しく動作しなくなったため、Vimperator での実装に近い形に修正 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@23774 d0d07461-0603-4401-acd4-de1884942a52 --- migemo_completion.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'migemo_completion.js') diff --git a/migemo_completion.js b/migemo_completion.js index ccc0004..e245125 100644 --- a/migemo_completion.js +++ b/migemo_completion.js @@ -38,9 +38,11 @@ let original_filter = liberator.modules.completion.filter; - liberator.modules.completion.filter = function(array,filter,matchFromBeginning){ - if(!filter) return array; + liberator.modules.completion.filter = function(array,filter,matchFromBeginning,favicon){ + if (!filter) + return [[a[0], a[1], favicon ? a[2] : null] for each (a in array)]; + // FIXME XUL/Migemo のバグに対処。治ったら消す if(/[()|]/.test(filter)) return original_filter.apply(this,arguments); @@ -56,6 +58,16 @@ return original_filter.apply(this,arguments); } - return array.filter(function([value,label]) migemoPattern.test(value) || migemoPattern.test(label)); + let result = []; + for (let [,item] in Iterator(array)) { + let complist = item[0] instanceof Array ? item[0] : [item[0]]; + for (let [,compitem] in Iterator(complist)) { + if (migemoPattern.test(compitem) || migemoPattern.test(item[1])) { + result.push([compitem,item[1],favicon ? item[2] : null]); + break; + } + } + } + return result; }; })(); -- cgit v1.2.3