我正在使用一种与python类似的语法制作的语言,并且我也想对我的语言使用python语法突出显示。
唯一的问题是我的语言使用大括号而不是:和缩进。
例如,当我键入return时,有时会以红色突出显示返回。
有什么方法可以禁用错误突出显示吗?
答案 0 :(得分:0)
关于什么代码有效和什么代码无效的决定是在语法定义(在本例中为Python.sublime-syntax
包中的Python
)内发生的。它认为不正确的任何代码都以invalid
的形式来表示,并且您的配色方案知道以某种方式显示无效的代码。
因此,最好的做法是为您的语言创建自己的语法定义,以便将代码结构视为有效。就是说,这是一项很大的工作,具体取决于您希望获得的深度。但是,使用现有语法作为起点可能会有所帮助。
从另一个角度来看,您无需修改语法规范以知道代码是有效的,而是可以通过修改配色方案来掩盖该问题,以便它不会对{{ 1}}范围。
为进行检查,invalid
包含以下规则,用于使无效代码变成红色白色:
Monokai.sublime-color-scheme
通过在配色方案上创建替代并删除或注释掉该规则(或您使用的配色方案中匹配的任何规则),无效代码将丢失您在图像中显示的突出显示颜色。
不利的一面是,由于语法确定该代码无效,因此唯一适用的{
"name": "Invalid",
"scope": "invalid",
"foreground": "var(white2)",
"background": "var(red2)"
},
范围是scope
范围;该特殊语言关键字的信息已丢失。
这意味着在您的情况下,invalid
不会显示为无效,但是也不会突出显示“适当”语法,而将显示为纯文本。
取决于多少代码看起来无效,这可能是可接受的折衷方案,也可能不是。