从elisp脚本突出显示文本/区域

时间:2012-02-13 11:52:19

标签: emacs elisp

我正在开发一个特殊的宏来帮助我编辑LaTeX代码。在宏中,宏识别最多四个区域,然后询问用户输入,并对这些区域采取行动。

在我要求用户输入时,我希望宏突出显示四个区域,最好使用两种不同的颜色(区域分为两个不同的类别),以便用户知道宏已识别的内容(更安全而不是抱歉)

有关如何执行此操作的优秀教程的任何指示?

1 个答案:

答案 0 :(得分:5)

Elisp Manual 38.9 Overlays。例如,

(let ((x (make-overlay start end)))
  (overlay-put x 'face '(:background "grey20")))

两个点startend定义了您要突出显示的区域。

另一种可能性是使用 text-properties ;但这可能会干扰 font-lock-mode ,它也使用它们,所以通常前者更直接。