Где я ошибаюсь при определении основного режима Emacs? - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь определить новый режим, который наследует все из режима Org, называемый веб-режим.

Вот предварительный любительский удар по этому.

(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))

  )

Однако, когда веб-режим загружается в текстовый файл, он кажется идентичным текстовому режиму простого ванили. Ключевые слова Sin, Cos и Sum правильно выделены синим цветом, а Pi и Infinity - жирным красным шрифтом, но в остальном кажется, что ничто не унаследовано от режима Org и кажется неотличимым от текстового режима.

Почему это?

...