From 92cf3fa2041d42e7139e52af46f03010ff41a91c Mon Sep 17 00:00:00 2001 From: anekos Date: Wed, 29 Oct 2008 17:59:03 +0000 Subject: 変数を外に漏らす問題を修正 head に対応 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22341 d0d07461-0603-4401-acd4-de1884942a52 --- migemo_completion.js | 59 +++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'migemo_completion.js') diff --git a/migemo_completion.js b/migemo_completion.js index b3ede9f..255725f 100644 --- a/migemo_completion.js +++ b/migemo_completion.js @@ -17,35 +17,38 @@ * - :play * and more **/ -var XMigemoCore; -try{ - XMigemoCore = Components.classes['@piro.sakura.ne.jp/xmigemo/factory;1'] - .getService(Components.interfaces.pIXMigemoFactory) - .getService("ja"); -} -catch(ex if ex instanceof TypeError){} -function replaceFunction(target,symbol,f,originalArguments){ - var oldFunction = target[symbol]; - target[symbol] = function() f.apply(target,[oldFunction.apply(target,originalArguments || arguments), arguments]); -} +(function () { + var XMigemoCore; + try{ + XMigemoCore = Components.classes['@piro.sakura.ne.jp/xmigemo/factory;1'] + .getService(Components.interfaces.pIXMigemoFactory) + .getService("ja"); + } + catch(ex if ex instanceof TypeError){} -replaceFunction(liberator.completion,"buffer",function(oldResult,args){ - var filter = args[0]; - var migemoPattern = new RegExp(XMigemoCore.getRegExp(filter)); - return [0, oldResult[1].filter(function([value,label]){ - return migemoPattern.test(value) || migemoPattern.test(label) - })]; -},[""]); -liberator.completion.filter = function(array,filter,matchFromBeginning){ - if(!filter) return array; + function replaceFunction(target,symbol,f,originalArguments){ + var oldFunction = target[symbol]; + target[symbol] = function() f.apply(target,[oldFunction.apply(target,originalArguments || arguments), arguments]); + } - var migemoString = XMigemoCore.getRegExp(filter); - if(matchFromBeginning) - migemoString ="^(" + migemoString + ")"; - var migemoPattern = new RegExp(migemoString); + replaceFunction(liberator.modules.completion,"buffer",function(oldResult,args){ + var filter = args[0]; + var migemoPattern = new RegExp(XMigemoCore.getRegExp(filter)); + return [0, oldResult[1].filter(function([value,label]){ + return migemoPattern.test(value) || migemoPattern.test(label) + })]; + },[""]); + liberator.modules.completion.filter = function(array,filter,matchFromBeginning){ + if(!filter) return array; - return array.filter(function([value,label]){ - return migemoPattern.test(value) || migemoPattern.test(label) - }); -} + var migemoString = XMigemoCore.getRegExp(filter); + if(matchFromBeginning) + migemoString ="^(" + migemoString + ")"; + var migemoPattern = new RegExp(migemoString); + + return array.filter(function([value,label]){ + return migemoPattern.test(value) || migemoPattern.test(label) + }); + } +})(); -- cgit v1.2.3