如何扩展 Sublime 的语言语法理解以合并自定义语法?
How can I expand Sublime's language syntax understanding to incorporate custom syntax?
我知道这听起来很模糊。基本上我只是想让 Sublime 突出显示自定义语法(为文本着色),就像它在原生语法中所做的那样。
我正在使用 Sublime 编写 LaTeX 代码。对于那些不知道的人,LaTeX 方程通常用 \[
\]
括起来,例如
\[ E = m c^2 \]
Sublime 理解语法并适当地为封闭代码着色。
但是,我使用自定义命令 \eq{ ... }
,它包装了 \[
\]
功能(因此我可以通过重新定义 \eq
定义)。例如
\eq{ E = m c^2 }
除了基本的键绑定之外,我对 Sublime 的幕后一无所知。我想扩展 Sublime 对语法的理解以合并我的自定义命令,而不用浪费大量时间来研究教程等。
既然你主要对结果而不是推理感兴趣,我会尽量直截了当。
Sublime Text 的 LaTeX 语法将在发行版 3119
中更改,如果您想更改某些内容,我建议您使用它。
只需从 https://github.com/sublimehq/Packages 下载并将 LaTeX
文件夹放入该文件夹,当您在 Sublime Text 菜单中 select Preferences >> Browse Packages...
时打开该文件夹。
然后打开文件 LaTeX.sublime-syntax
并搜索 ensuremath
(LaTeX.sublime-syntax#L498)。复制该部分 (缩进更高的所有内容) 并将命令更改为您想要的命令,例如在您的示例中,这将是 - match: '((\)eq)(\{)'
.
此外,新语法删除了数学环境作为字符串的突出显示,因为这导致了几个问题。
我在 LaTeXTools wiki 中做了一个小条目来解释,你如何恢复高光。
我知道这听起来很模糊。基本上我只是想让 Sublime 突出显示自定义语法(为文本着色),就像它在原生语法中所做的那样。
我正在使用 Sublime 编写 LaTeX 代码。对于那些不知道的人,LaTeX 方程通常用 \[
\]
括起来,例如
\[ E = m c^2 \]
Sublime 理解语法并适当地为封闭代码着色。
但是,我使用自定义命令 \eq{ ... }
,它包装了 \[
\]
功能(因此我可以通过重新定义 \eq
定义)。例如
\eq{ E = m c^2 }
除了基本的键绑定之外,我对 Sublime 的幕后一无所知。我想扩展 Sublime 对语法的理解以合并我的自定义命令,而不用浪费大量时间来研究教程等。
既然你主要对结果而不是推理感兴趣,我会尽量直截了当。
Sublime Text 的 LaTeX 语法将在发行版 3119
中更改,如果您想更改某些内容,我建议您使用它。
只需从 https://github.com/sublimehq/Packages 下载并将 LaTeX
文件夹放入该文件夹,当您在 Sublime Text 菜单中 select Preferences >> Browse Packages...
时打开该文件夹。
然后打开文件 LaTeX.sublime-syntax
并搜索 ensuremath
(LaTeX.sublime-syntax#L498)。复制该部分 (缩进更高的所有内容) 并将命令更改为您想要的命令,例如在您的示例中,这将是 - match: '((\)eq)(\{)'
.
此外,新语法删除了数学环境作为字符串的突出显示,因为这导致了几个问题。 我在 LaTeXTools wiki 中做了一个小条目来解释,你如何恢复高光。