我正在使用Sublime Text 3,在这种情况下编辑LaTeX。为了进一步自定义语法突出显示,我想定义一个新的范围,它只是扩展了传送的LaTeX.tmLanguage
(我没有访问权限,甚至没有阅读)。的 N.B。我没有兴趣编写我自己的tmLanguage文件,甚至没有下载现有文件,我只是想扩展它,就像在Python中重载类一样。
特别是我想添加meta.footnote.latex
以获得\footnote{...}
的自定义语法高亮(我在https://github.com/bradrobertson/sublime-packages/blob/master/LaTeX/LaTeX.tmLanguage中找到的一个定义)
答案 0 :(得分:5)
您可以使用include伪指令从其他文件导入现有规则,并覆盖或扩展其规则。
<强> .tmLanguage:强>
<dict>
<key>fileTypes</key>
<array>
<string>mylatex</string>
</array>
<key>name</key>
<string>MyLatex</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>text.tex.latex</string>
</dict>
<!-- your rules -->
</array>
<key>scopeName</key>
<string>text.tex.latex.mylatex</string>
</dict>
<强> .sublime-语法:强>
%YAML 1.2
---
name: MyLatex
file_extensions:
- mylatex
scope: text.tex.latex.mylatex
contexts:
main:
- include: scope:text.tex.latex
# your rules