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

javascript-based code editor choice for existing Roslyn language lexer/parser

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

到目前为止,我找到了 2 位编辑:

使用ace editor,貌似只支持正则表达式高亮

使用 codemirror(_https://codemirror.net/),它确实支持你的词法分析器是否可以作为带状态的 sream 处理,但我不知道 when/which 部分文本 codemirror 会触发词法分析器在用户输入时重新解析(Roslyn 解析器已经有检测变化的机制,所以我想重用它)

(ace编辑器,代码镜像都支持标记文本,但我不确定是否对性能有好处,因为你可能需要清除标记才能再次设置新标记)

那么我怎样才能做到这一点,我应该选择任何其他代码编辑器,知道吗?谢谢

CodeMirror 将重新运行 其对更改的文档片段的模式,您不需要自己的更改检测。阅读 this blog post 了解 CodeMirror 模式的解释。