【发布时间】:2015-03-07 22:51:26
【问题描述】:
当使用自定义前缀提取正则表达式 identifierRegexps
时,我似乎无法让 getCompletions 函数在我的自定义完成器中触发基本上,我正在尝试创建一个自动完成器,它将触发以字母开头的句点 (.)。例如。在“富”中。当键入句号时,我想提出我的自定义建议。
var lang = ace.require("ace/ext/language_tools");
var editor = ace.edit("editor");
editor.getSession().setMode("ace/mode/javascript");
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});
var compl = {
identifierRegexps: [/[a-zA-Z_0-9\.\$\-\u00A2-\uFFFF]/],
getCompletions: function (editor, session, pos, prefix, callback) {
alert(prefix);
callback(null, []);
return;
}
}
lang.addCompleter(compl);
使用上面的 sn-p,在键入点时会出现建议弹出窗口,但 getCompletions 不会触发。但是,它确实会在任何其他角色上触发。
更新:
在添加自定义完成程序之前删除默认完成程序
lang.setCompleters();
使 getCompletion 函数触发。但是 prefix 参数在这种情况下是空的。
【问题讨论】:
标签: ace-editor