[英]Push my values to top of auto completion list in Ace editor
我正在使用自定义完成程序,它使用jQuery.getJSON
从服务器中提取值。
我的自定义完成情况与local
和snippets
,我希望自己能够始终处于领先地位。 我认为score
会这样做,但不会像这样工作。 我得分值为1000。
var langTools = ace.require("ace/ext/language_tools");
editor = ace.edit("editor");
editor.setOptions({
enableBasicAutocompletion: true,
enableLiveAutocompletion: true,
enableSnippets: true
});
var myCompleter = {
getCompletions: function(editor, session, pos, prefix, callback) {
if (prefix.length === 0) {
callback(null, []);
return;
}
$.getJSON("/server/completions", function(json) {
callback(null, json.map(function(c) {
return {value: c.value, caption: c.caption, meta: c.meta, score:c.score};
}));
})
}
};
langTools.addCompleter(myCompleter);
有任何想法吗? 谢谢,/ w
确保您提供的完成分数高于默认分数。 默认完成者都给出得分0,所以类似{..., score:100 + (c.score || 0)};
应该管用
根据距离,在autocomplete.js( https://github.com/ajaxorg/ace/blob/4a55188fdb0eee9e2d3854f175e67408a1e47655/lib/ace/autocomplete.js#L488 )中进行了额外的处理。 一些ace插件的作用(例如参见https://github.com/ajaxorg/ace/blob/4a55188fdb0eee9e2d3854f175e67408a1e47655/lib/ace/mode/html_completions.js#L300 )将得分设置为Number.MAX_VALUE
,它适用于我也是:我的完成出现在列表的顶部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.