sublimetext3 - 扩展现有的 tmLanguage 文件

标签 sublimetext3 sublimetext tmlanguage

我正在使用 Sublime Text 3,在本例中用于编辑 LaTeX。为了进一步自定义语法突出显示,我想定义一个新的范围,它只是扩展已交付的 LaTeX.tmLanguage(我无权访问,甚至无法阅读)。 注意我没有兴趣编写自己的 tmLanguage 文件,甚至没有下载现有的文件,我只想扩展它,就像在 Python 中重载一个类一样。

特别是我想添加 meta.footnote.latex\footnote{...} 添加自定义语法高亮显示(我在 https://github.com/bradrobertson/sublime-packages/blob/master/LaTeX/LaTeX.tmLanguage 中找到的一个定义)

最佳答案

您可以使用 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

关于sublimetext3 - 扩展现有的 tmLanguage 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43467232/

相关文章:

python-3.x - 如何强制 Sublime 为每个项目使用不同的 `flake8`?

scope - Sublime Text : scope selector operators

testing - 自动测试 tmLanguage 和 sublime-syntax 文件?

javascript - VS Code - 使用 TextMate 突出显示一些变量

sublimetext3 - 在包控件 : Install Package 中找不到某个包

sublimetext3 - 如何在 Sublime Text 3 中将文本文件 (.txt) 显示为带颜色的代码文件

macos - 我可以更改 Sublime 文本的标题栏像括号一样是黑色的吗?

python - 选定文本的构建系统

sublimetext - 在转到任何东西中查找图像

visual-studio-code - 在 Visual Studio Code 中创建自定义语言