为现有Roslyn语言lexer/parser选择基于javascript的代码编辑器



我已经将Roslyn项目的语法解析器部分转换为javascript(Typescript),并且它已经成功了,现在我想找到一个基于javascript的代码编辑器,它可以与Roslyn lexer/parser集成,用于突出显示

到目前为止,我已经找到了2个编辑器:

使用ace编辑器,看起来只支持正则表达式规则的高亮显示

带代码镜像(_https://codemirror.net/),它确实支持您的lexer是否可以被处理为具有状态的sream,但我不知道文本代码镜像的哪些部分何时/哪些部分会触发lexer作为用户键入进行重新分析(Roslyn解析器已经有检测更改的机制,所以我想重用它)

(ace编辑器和代码镜像都支持标记文本,但我不确定这是否有利于性能,因为在再次设置新标记之前,您可能必须清除标记)

那么,我该如何实现这一点,我应该选择任何其他代码编辑器,有什么想法吗?感谢

CodeMirror将在更改的文档片段上重新运行其模式,您不需要自己的更改检测。阅读这篇博客文章,了解CodeMirror模式的解释。

最新更新