是否可以在VS Code语法突出显示中动态添加“关键字”?

时间:2019-03-24 19:23:03

标签: visual-studio-code syntax-highlighting grammar vscode-extensions tmlanguage

我一直在使用VS Code中的语法高亮显示,到目前为止,使用自定义JSON TextMate语法可以获得相当不错的结果。尽管GCC ARM Assembly已有扩展,但我认为它很烂,所以我以源代码为起点来制作自己的扩展。

但是,在某种情况下,我似乎无法弄清楚如何处理。在GCC ARM中,您可以使用.macro指令来创建这样的宏:

                .macro print format, storage
                .data
string\@:       .asciz "\format"
                .align 2
                .text
                .ifnb \storage
                mov r1, \storage
                .endif
                ldr r0, =string\@
                bl printf
                .endm

如果您从未看过GCC ARM,那么您只需要知道第一行就是宏的开始,其中print是宏的名称,而format和{{1} }是其参数。然后,在宏内,可以在任何需要的地方使用storage\format的参数值。还有\storage,这是一个特殊的“变量”,仅在宏内部具有含义。只是每次宏调用时数字都会递增。

我想做的是以某种方式编写语法高亮显示,它将动态识别宏声明中的参数名称,然后为它们在宏中出现的任何位置使用相应的用法(从正斜杠开始)进行着色。这样做的问题似乎是,我将需要以某种方式动态创建一个新的“关键字”列表(或您想要调用文本字符串的任何列表),以便可以从宏上下文中的规则进行引用。

在带有TextMate语法的VS Code中这可能吗? VS Code是否有可能?如果没有,可以在ANY编辑器中进行吗?如果无法使用TextMate语法,我该怎么做才能做到这一点?

如果有什么我不好解释的问题,随时询问更多细节,我将编辑问题。

0 个答案:

没有答案