Ace 编辑器自动完成 color.red

Ace Editor autocomplete color.red

我正在尝试让 ACE 编辑器自动完成颜色列表。

理想情况下,我希望这样颜色不会出现在自动完成中,除非用户只输入 colors.

如何检查用户是否在 return 我的颜色列表之前输入了 colors.

可以使用splice获取最后输入的关键词,查看用户是否输入了colors或者Colors:

var pos = editor.selection.getCursor();
var session = editor.session;
var curLine = session.getDocument().getLine(pos.row);
var curTokens = curLine.slice(0, pos.column).split(/\s+/);
var curCmd = curTokens[0];
if (!curCmd) return;
var lastToken = curTokens[curTokens.length - 1];

if (lastToken === "colors" || (lastToken.indexOf("colors") > -1) || lastToken === "Colors" || (lastToken.indexOf("Colors") > -1)) {
     console.log("Colors found"); 
} else {
     console.log("Colors not found");
}