1

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

但是,有一种情况我似乎无法弄清楚如何处理。在 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并且storage是它的参数。然后在宏内部,您可以在任何您想要的地方使用参数\format的值。\storage还有\@, 这是一个特殊的“变量”,只在宏内部有意义。它只是一个每次调用宏时递增的数字。

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

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

如果我解释得不好,请随时询问更多详细信息,我将编辑问题。

4

0 回答 0