【问题标题】:Highlighting Syntax in mcedit for assembly在 mcedit 中突出显示语法以进行汇编
【发布时间】:2022-01-23 06:41:01
【问题描述】:

我希望代码像这样突出显示

jmp 标签 ;cmets

我只想突出显示 label。我已经尝试过这样的事情

上下文独占 jmp\t \n 亮洋红色

但在这种情况下,“;cmets”也变成了亮洋红色,这不是我想要的。对于 cmets,还有另一个专有上下文。我也试过了

关键字 jmp\t\[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@\] 亮洋红色

但在这种情况下,jmp 也是brightmagenta。

我该如何实现呢?我只希望 label 受到突出显示的影响,而 cmets 在任何地方都以相同的方式突出显示(在所附图片中 jnz 的 cmets 是亮洋红色,在棕色之后的行中)并且所有跳跃都不受突出显示,因此我不需要将它们(以及所有其他命令、变量、常量等)手动添加到语法文件中。

密切相关的问题,由于每个汇编程序员都使用调用宏,是否可以像下面的屏幕截图那样只突出显示函数?函数被写为语法文件中的关键字但是我不希望所有函数都写入语法文件

【问题讨论】:

    标签: syntax-highlighting mc mcedit


    【解决方案1】:

    我绝不是专家,但玩了一点,我找到了一个可行的解决方案,将默认设置为突出显示,并为不需要的部分关闭它,如下所示:

    context default brightmagenta
    keyword whole jmp base
    context ; \n base
    

    它似乎确实符合您的要求,但您可能还有其他未提及的限制。

    【讨论】:

    • 感谢您的回答,小丑!但是,使用您的建议,我需要将所有命令以及所有变量和常量添加到语法文件中,否则它们也会变成brightmagenta。我添加了一个屏幕截图,其中包含所需的附加说明。
    【解决方案2】:

    我想我已经找到了跳跃的解决方案

    #for those who use tabs
    context exclusive j\[mpnzelc\]\t \n brightmagenta
    keyword wholeright ;* brown 
    #for those who use spaces
    context exclusive j\[mpnzelc\]\s \n brightmagenta
    keyword wholeright ;* brown
    

    仍在为调用实现而苦苦挣扎

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      • 2020-04-16
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多