我正在研究我使用的降价+乳胶组合的语法高亮。该文件的主要模式是降价,我坚持的位是突出乳胶块内乳胶的特殊字符。
如果我们采用乳胶环境:
\begin{align*}
f(x) &= x^2
g(x) &= x^3
\end{align*}
我可以将简单环境与(没有emacs'转义)^\\begin{.*}(.|\n)*?\\end{.*}$
(我知道这不适用于环境中的环境,我知道必须让{.*}
部分在开始和结束时都相同 - 我很乐意就最好的方法提出建议编辑:修正它,只需捕获开始标记,然后在结束标记中使用它。
我有兴趣在环境中突出乳胶的特殊字符(但不在其外部):这些字符是$#^_{}&
。如果有人能指出我修改环境检测器的方向,让一个或多个组包含这些字符,我将非常感激。 (我不确定这完全有可能)。
干杯!
答案 0 :(得分:0)
使用锚定 font-lock关键字,将匹配锚定在环境中的某个位置。请参阅Elisp手册,节点Search-based Fontification。请参阅(MATCHER . ANCHORED-HIGHLIGHTER)
和(MATCHER HIGHLIGHTERS...)
的说明。
(但请注意,正则表达式不够强大,无法在此处进行您想要进行的匹配。我猜您已经根据您对嵌套等的评论了解这一点。)