Ace编辑器忽略/白名单一些标签/字符串

时间:2018-08-06 11:31:03

标签: reactjs ace-editor

如果我使用<#input“ asd”>之类的标记,有什么方法可以避免Ace-Editor引发错误?就像白名单一样,建议AceEditor忽略它...总之,这是一个内部密钥,我无法避免使用它。 我正在使用反应。

谢谢

1 个答案:

答案 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
})