最简单的Emacs语法高亮教程?

时间:2010-10-08 02:54:14

标签: emacs elisp emacs23 xemacs

我想只为Emacs创建一个突出显示次要模式的语法。我有O'Reilly的“编写GNU Emacs Extensions”,但它没有深入细节。是否有一个简单的教程,用于真实或伪造的编程语言高亮模式?

谢谢

3 个答案:

答案 0 :(得分:22)

定义自定义Generic Mode可能是最好的起点。您可以像下面的代码片段一样为语言定义基本语法高亮显示。

(require 'generic-x)

(define-generic-mode 
  'my-mode                          ;; name of the mode
  '("//")                           ;; comments delimiter
  '("function" "var" "return")      ;; some keywords
  '(("=" . 'font-lock-operator) 
    ("+" . 'font-lock-operator)     ;; some operators
    (";" . 'font-lock-builtin))     ;; a built-in 
  '("\\.myext$")                    ;; files that trigger this mode
   nil                              ;; any other functions to call
  "My custom highlighting mode"     ;; doc string
)

很快就为晦涩的语言快速定义了一些基本的语法突出显示。在某些情况下我甚至将它用于日志文件。

答案 1 :(得分:5)

EmacsWiki的Mode tutorial提供了有关创建主要模式的更多信息,以防您只想从语法突出显示扩展。

答案 2 :(得分:3)

你也可能会发现this answer有用,它有一个指向代码的指针,用于定义一个次要模式以突出显示某些关键词 - 但仅限于字符串和注释。

如果你想要的只是亮点,那么次要模式会更好 - 减去行李。

本手册的相关部分适用于功能'font-lock-add-keywords和变量font-lock-keywords