我正在为Sublime Text 3编写语法高亮显示,但我遇到了找到正确语法范围的问题。 例如
constants:
- match: \b(true|false)\b
scope: constants.language.boolean
- match: \b(void|new)\b
scope: constants.language
# operators
operators:
- match: \b(and|or|not)\b
scope: keyword.operator.logical
- match: \b(\+=|-=|*=|\/=|%=|==|!=|<=|>=|<|>|\+|-|\*|\/|%|\^)\b
scope: keyword.operator.arithmetic
我如何知道and
,+=
,true
,false
等的范围。
所有可用范围语法在哪里?
任何人都可以指示我的文档/源代码吗?任何帮助将不胜感激 我在语法高亮https://www.sublimetext.com/docs/3/syntax.html上找到了这个官方页面,但它没有多大帮助。
由于
答案 0 :(得分:2)
您应该阅读位于sublimehq/Packages
的Github上的现有.sublime-syntax
文件,了解正在使用的标准。我还建议在查看其他语言的文件时使用ScopeHunter
和ScopeAlways
插件,以确定在给定点上哪些范围处于活动状态。
以下是其他一些资源:
没有严格的“标准”,但尝试遵循TextMate约定是一个好主意。如果您编写定义的语言与现有语言类似,您也可以将其用作模板。但是,每个定义都略有不同,所以如果有必要,不要害怕组成自己独特的选择器。