24.2.8 通用模式

通用模式(Generic modes) 是具备注释语法与字体锁定模式基础支持的简易主模式。定义通用模式可使用宏 define-generic-mode。文件 generic-x.el 中包含若干使用 define-generic-mode 的示例。

Macro: define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring

该宏定义一个名为 mode 的通用模式命令(符号,无需引号)。可选参数 docstring 为该模式命令的文档字符串;若未提供,define-generic-mode 会自动生成默认文档。

参数 comment-list 为一个列表,每个元素可以是字符、单个或双字符的字符串,或序对。字符或字符串会在该模式的语法表中设为注释起始符。若元素为序对,则 CAR 设为注释起始符,CDR 设为注释结束符(若希望注释在行尾结束,可将后者设为 nil)。注意,语法表机制对可使用的注释起止符存在限制,参见 See Syntax Tables

参数 keyword-list 为需要以 font-lock-keyword-face 高亮的关键字列表,每个关键字为字符串。而 font-lock-list 为需要高亮的额外表达式列表,其中每个元素的格式与 font-lock-keywords 中的元素一致,参见 See 基于搜索的字体高亮

参数 auto-mode-list 为一组正则表达式,会被添加到变量 auto-mode-alist 中;添加动作在 define-generic-mode 表达式执行时完成,而非宏展开阶段。

最后,function-list 为模式命令用于执行额外初始化的函数列表。这些函数会在运行模式钩子变量 mode-hook 之前被调用。

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike