我一直在使用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语法,我该怎么做才能做到这一点?
如果有什么我不好解释的问题,随时询问更多细节,我将编辑问题。