monaco-editor tokenizer 不支持 "ignore case" 正则表达式
monaco-editor tokenizer do not support "ignore case" regex
monaco-editor
中的 tokenizer
似乎不支持正则表达式中的 'ignore case' i
标志。下面的示例代码,
要复制,您可以将其粘贴到 playground 中,然后自己尝试 运行。
monaco.languages.register({ id: 'sample' });
monaco.languages.setMonarchTokensProvider('sample', {
tokenizer: {
root: [
[/cmd1|cmd2/i, 'keyword']
]
}
});
monaco.editor.create(document.getElementById('container'), {
value: "cmd1 10\nCMD2 10",
language: 'sample'
});
cmd1
变成蓝色,而 CMD2
没有。
这是故意的吗?有办法吗?
在选项中添加 ignoreCase:true
应该可以。
monaco.languages.register({ id: 'sample' });
monaco.languages.setMonarchTokensProvider('sample', {
ignoreCase:true,
tokenizer: {
root: [
[/cmd1|cmd2/, 'keyword']
]
}
});
monaco.editor.create(document.getElementById('container'), {
value: "cmd1 10\nCMD2 10",
language: 'sample'
});
monaco-editor
中的 tokenizer
似乎不支持正则表达式中的 'ignore case' i
标志。下面的示例代码,
要复制,您可以将其粘贴到 playground 中,然后自己尝试 运行。
monaco.languages.register({ id: 'sample' });
monaco.languages.setMonarchTokensProvider('sample', {
tokenizer: {
root: [
[/cmd1|cmd2/i, 'keyword']
]
}
});
monaco.editor.create(document.getElementById('container'), {
value: "cmd1 10\nCMD2 10",
language: 'sample'
});
cmd1
变成蓝色,而 CMD2
没有。
这是故意的吗?有办法吗?
在选项中添加 ignoreCase:true
应该可以。
monaco.languages.register({ id: 'sample' });
monaco.languages.setMonarchTokensProvider('sample', {
ignoreCase:true,
tokenizer: {
root: [
[/cmd1|cmd2/, 'keyword']
]
}
});
monaco.editor.create(document.getElementById('container'), {
value: "cmd1 10\nCMD2 10",
language: 'sample'
});