自定义自动完成程序和句点 (.) [英] Custom autocompleter and periods (.)
问题描述
当使用自定义前缀提取正则表达式 identifierRegexps
I can't seem to make getCompletions function to trigger in my custom completer when using custom prefix extraction regex identifierRegexps
基本上,我正在尝试创建一个自动完成程序,它将在以字母开头的句点 (.) 上触发.例如.在foo"中.当输入句号时,我想展示我的自定义建议.
Basically I am trying to create an autocompleter which will trigger on periods (.) preceded by letters. E.g. In "foo." when the period is typed I would like to present my custom suggestions.
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);
使用上述代码段,输入点时会出现建议弹出窗口,但 getCompletions 不会触发.但是,它确实会在任何其他字符上触发.
With the above snippet, suggestions popup appears when typing a dot but getCompletions doesn't trigger. However, it does trigger on any other character.
更新:
在使用
lang.setCompleters();
使 getCompletion 函数触发.但是在这种情况下 prefix 参数是空的.
makes the getCompletion function to trigger. However prefix argument is empty in that case.
推荐答案
通过修改language_tools.js中的ID_REGEX var成功解决.
Managed to solve it by modifying the ID_REGEX var in language_tools.js.
这篇关于自定义自动完成程序和句点 (.)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!