1

我有一个模板 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)))
4

1 回答 1

2

您真正想要做的是修改您的模式的语法表以识别##为注释。然后 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)
于 2012-04-18T02:17:28.833 回答