是否 possible/easy 构建一个使用词法分析器进行语法高亮显示的 VS Code 扩展?
Is it possible/easy to build a VS Code extension that does syntax highlighting with a lexer?
我正在构建一个实验性词法分析器生成器,我认为为 VS Code 输出简单的语法荧光笔会很酷。输入文法经过经典的正则语言->NFA->DFA变换,生成状态机代码(它还有一些非常规的特性支持嵌套语言)。将所有这些转换回 tmlanguage 定义是一个复杂的问题,我开始怀疑 VS Code 扩展是否是更好的选择。问题是:
- VS Code 语法高亮内部结构是否完全依赖于 tmlanguage 正则表达式扫描器,或者是否可以编写一个以编程方式提供标记/高亮范围的扩展?
- 是否有 API 可以使这个相当简单,或者这个项目会是一个杰作吗?
从 VSCode 1.15 开始,您必须使用 textmate 语法来突出显示语法。有一个打开的功能请求可以跟踪您的需求:https://github.com/Microsoft/vscode/issues/1967
我正在构建一个实验性词法分析器生成器,我认为为 VS Code 输出简单的语法荧光笔会很酷。输入文法经过经典的正则语言->NFA->DFA变换,生成状态机代码(它还有一些非常规的特性支持嵌套语言)。将所有这些转换回 tmlanguage 定义是一个复杂的问题,我开始怀疑 VS Code 扩展是否是更好的选择。问题是:
- VS Code 语法高亮内部结构是否完全依赖于 tmlanguage 正则表达式扫描器,或者是否可以编写一个以编程方式提供标记/高亮范围的扩展?
- 是否有 API 可以使这个相当简单,或者这个项目会是一个杰作吗?
从 VSCode 1.15 开始,您必须使用 textmate 语法来突出显示语法。有一个打开的功能请求可以跟踪您的需求:https://github.com/Microsoft/vscode/issues/1967