24.7.9 多行字体锁定结构

通常情况下,font-lock-keywords 中的元素**不应跨行匹配**; 这种方式无法可靠工作,因为字体锁定一般只扫描缓冲区的一部分, 可能会错过从扫描起始行边界开始的多行结构。(扫描通常从行首开始。)

让匹配多行结构的元素正常工作包含两个方面:正确的 识别(identification) 与正确的 重新高亮(rehighlinghting)。 前者指字体锁定能够找到所有多行结构;后者指当多行结构被修改时, 字体锁定能正确重新高亮所有相关文本—例如,原本属于多行结构的文本不再属于该结构时。 这两方面紧密相关,通常修复其中一个似乎会让另一个也正常工作。 但要获得可靠结果,必须显式处理这两方面。

确保正确识别多行结构有三种方法:

实现多行结构重新高亮有若干方法:

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike