В Emacs, как добавить второй тип комментариев в производный режим CSS?

У меня есть шаблонный тип файла css, который позволяет комментариям начинаться с "##", независимо от того, что я пытаюсь, хотя, кажется, он не распознает это в моем производном режиме. Вот что у меня так далеко

(define-derived-mode cheetah-css-mode css-mode "cheetah-css"
   (make-face 'cheetah-css-variable-face)
   (font-lock-add-keywords
    nil
    '(("\\(##.*\\)\n" font-lock-comment-face)) (font-lock-mode 1)))

1 ответ

Решение

Что вы на самом деле хотите сделать, это изменить таблицу синтаксиса для вашего режима, чтобы определить ## в качестве комментария. Тогда Emacs сможет рассматривать его как таковой во всех отношениях (а не просто выделять).

Увидеть:

  • M-: (info "(elisp) Syntax Descriptors") RET
  • M-: (info "(elisp) Syntax Flags") RET
  • M-: (info "(elisp) Syntax Class Table") RET

Попробуйте это в своем определении производного режима:

(modify-syntax-entry ?# "' 12b" cheetah-css-mode-syntax-table)
(modify-syntax-entry ?\n "> b" cheetah-css-mode-syntax-table)
Другие вопросы по тегам