我正在尝试定义一种新模式,它继承了 Org 模式的所有内容,称为 web 模式。
这是对此的初步业余尝试。
(defvar web-mode-syntax-table
org-mode-syntax-table
"Syntax table used while in `web-mode'.")
;; Create the keymap for this mode.
(defvar web-mode-map
org-mode-map
"Keymap for `web-mode'.")
(setq web-highlights
'(("Sin\\|Cos\\|Sum" . font-lock-function-name-face)
("Pi\\|Infinity" . font-lock-warning-face)))
;; set files ending in .web to open in web mode.
(add-to-list 'auto-mode-alist '("\\.web\\'" . web-mode))
(define-derived-mode web-mode org-mode "web-mode"
"Major mode based on Org-mode"
(kill-all-local-variables)
(setq major-mode 'web-mode)
(setq mode-name "Web Mode")
;; Tell font-lock mode about some things which
;; need to be highlighted.
(setq font-lock-defaults '(web-highlights))
)
但是,当 web 模式加载到文本文件中时,它似乎与普通文本模式相同。关键字 Sin、Cos 和 Sum 正确地以蓝色突出显示, Pi 和 Infinity 以粗体红色字体突出显示,但除此之外,似乎没有任何东西是从 Org 模式继承的,并且似乎与文本模式没有区别。
为什么是这样?