Monaco 中可以对关键字进行高亮的自定义,通过提供关键字位置信息和关键字颜色进行实现,先看一下效果,这里自定了 zzz 为关键字,背景色为绿色。
通过 registerDocumentSemanticTokensProvider 进行注册
实现一下方法:
- getLegend:返回关键字和修饰符信息
- provideDocumentSemanticTokens:返回 Token 位置信息
- releaseDocumentSemanticTokens:可以在此方法中做数据的清理工作
provideDocumentSemanticTokens 放回返回的 SemanticTokens,这个是数据结构很重要,但是文档中什么都没写,只能看代码。
data.pu