如何在保持原始状态的同时修改文本?

时间:2010-08-30 11:20:32

标签: emacs elisp

我正在写一种模式,实际上是一个美化的降价读者。然而,这是一个只读模式,虽然我想改变大胆,斜体和链接的面孔,但我喜欢去除那些面孔周围的装饰。然而,当我这样做时,我失去了忠诚。反正有没有将fontified-text修改为不再与任何语法正则表达式匹配的东西,并且仍然保持着真实性?

1 个答案:

答案 0 :(得分:3)

Org-mode为其链接标记执行此操作。我不是模式编写者(但是),但Org-mode将是我寻找演示如何执行此操作的代码的第一个地方。奇怪的是,它没有为它的任何形象做到这一点:斜体,粗体和下划线都保留了它们的标记。

具体来说,隐藏链接标记的代码位于org-mode 7.01版org.el的第4612行:

(if org-descriptive-links (add-to-invisibility-spec '(org-link)))

其中add-to-invisibility-spec实际上由内置的elisp文件subr.el提供,并允许隐藏特定类型的标记。这将是我将采取的方法,特别是如果缓冲区是只读的。