如何自定义 Sublime Text 3 中的语法高亮?特别是,我想忽略以 分隔的文本$
(以及$
在输入 时抑制“结束” $
)。
我在用LaTeXTools
。
我尝试使用PackageResourceViewer: Open Resource
并查看YAML 资源,但我能看到的LaTeX.sublime-syntax
唯一与之相关的行是:$
- match: '(?:<|>)(\{)\$(\})'
scope: meta.column-specials.latex
captures:
1: punctuation.definition.column-specials.begin.latex
2: punctuation.definition.column-specials.end.latex
- include: scope:text.tex
我不明白这个语法。
答案1
您找不到该规则的原因是,在当前版本的语法中,它不在 中LaTeX.sublime-syntax
,而是在 中TeX.sublime-syntax
,您会在其中找到:
- match: \$\$
captures:
0: punctuation.definition.string.begin.tex
push:
- meta_scope: string.other.math.block.tex
- match: \$\$
captures:
0: punctuation.definition.string.end.tex
pop: true
- include: scope:text.tex.math
- include: main
和
- match: \$
captures:
0: punctuation.definition.string.begin.tex
push:
- meta_scope: string.other.math.tex
- match: \$
captures:
0: punctuation.definition.string.end.tex
pop: true
- match: \\\$
scope: constant.character.escape.tex
- include: scope:text.tex.math
- include: main
您可以更改meta_scope
属性。我建议将第一个更改为 ,meta.environment.math.block.dollar.latex
将第二个更改为meta.environment.math.inline.dollar.latex
,因为这些是下一个测试版中 LaTeX 语法修订版中使用的范围,它们将确保数学模式补全继续有效。如果您不关心数学模式补全,您可以将其更改为您想要的任何内容。
覆盖$
键绑定有很大不同。选择偏好设置 | 按键绑定 – 用户并添加以下键绑定:
{"keys": ["$"], "command": "insert_snippet", "args": {"contents": "\\$"},
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}
]
}
请记住,这是 JSON 列表中的一个条目,因此文件应以 开头[
,]
并且如果有前面的条目,则需要在它前面加一个逗号,等等。(请参阅文档$
在这个例子中)。这只是告诉 ST在你$
在 LaTeX 文档中输入内容时插入一个。