如果我使用<#input“ asd”>之类的标记,有什么方法可以避免Ace-Editor引发错误?就像白名单一样,建议AceEditor忽略它...总之,这是一个内部密钥,我无法避免使用它。 我正在使用反应。
谢谢
答案 0 :(得分:0)
我正在考虑两种解决问题的方法:
1)也许您可以绑定“>”,获取最后输入的值,然后清除错误:
editor.commands.addCommand({
name: "dotCommand1",
bindKey: { win: ".", mac: "."},
exec: function () {
var pos = editor.selection.getCursor();
var session = editor.session;
var curLine = (session.getDocument().getLine(pos.row)).trim();
var curTokens = curLine.slice(0, pos.column).split(/\s+/);
//You can build a logic using the curTokens array and then when you find <#input "asd"> clear the errors.
// If we assume curTokens[0] to have the value
if(curTokens[0] === '<#input "asd">') {
editor.session.setAnnotations([]); // This would remove the being shown error
}
}
});
2)使用on change事件并使用上面类似的逻辑,然后清除错误
editor.getSession().on('change', function () {
// same logic as above
})