1

我正在尝试定义一种新模式,它继承了 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 模式继承的,并且似乎与文本模式没有区别。

为什么是这样?

4

0 回答 0