blob: 824f87d71fa0a6d53c23564d8d78faaaa161f00e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* ==VimperatorPlugin==
* @name migemo_completion.js
* @description replace completion function with using Migemo
* @description-ja �⊮����Migemo���g�p�������̂Ɏ����ւ���
* @author Trapezoid
* @version 0.1
* ==/VimperatorPlugin==
*
* Support commands:
* - :buffer
**/
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]);
}
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)
})];
},[""]);
|