diff options
Diffstat (limited to 'migemo_completion.js')
-rw-r--r-- | migemo_completion.js | 59 |
1 files changed, 31 insertions, 28 deletions
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)
+ });
+ }
+})();
|