我有一个规则清单
const keywords = [Stop,.............]
monaco.languages.register({ id: "mySpecialLanguage" });
monaco.languages.setMonarchTokensProvider("mySpecialLanguage", {
tokenizer: {
root: [
[/(?<!\w)Stop(?!\w)/, 'keyword']
],
},
});
monaco.editor.defineTheme("myCoolTheme", {
base: "vs",
inherit: false,
rules: [
{ token: 'keyword', foreground: 'f1d710' },
],
colors: {
"editor.foreground": "#000000",
},
});
monaco.editor.create(document.getElementById("container"), {
theme: "myCoolTheme",
value: `Stop
QdStop
qdStop
11Stop
StopSS
Stop11
Stopdd
`,
language: "mySpecialLanguage",
});
我期望将 keywords
中的所有单词高亮显示,列表中包含 Stop
,但以 Stop
结尾的单词仍会高亮显示
Stop 开头的效果是正确的,但是 Stop 结尾的效果是错误的,应该显示为黑色,而不是黄色
如何将其突出显示为仅用于停用词的关键字,如果前后有字母或单词,则不应突出显示
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.