繁体   English   中英

Emacs指定字体锁定规则

[英]Emacs Specifying Rules for font-lock

我正在将我正在学习的解析技术付诸实践。 我正在尝试在Emacs中编写编程模式,因此我可以利用语法突出显示等功能。 不幸的是,字体锁定无效。 在Google上搜索并按照教程进行搜索,结果没有任何结果。 下面是我的代码。 任何建议表示赞赏。

;;;###autoload
(defgroup use-mode nil
  "Mode for editing Use source files."
  :group 'languages)

;;;###autoload
(defcustom use-mode-hook nil
  "Hook run when use-mode is started.")

(defvar use-mode-map (make-sparse-keymap)
"Keymap for use-mode.")

;;;###autoload
(add-to-list 'auto-mode-alist '("\\.use\\'" . use-mode))

(defvar use-keywords-1 '("use" . font-lock-keyword-face)
  "First level of font-lock in Use")

(defvar  use-font-lock-keywords use-keywords-1
  "Code highlighting.")

;;;###autoload
(define-derived-mode use-mode prog-mode "Use"
  "Major mode for editing Use source files."
  (setq font-lock-defaults '(use-font-lock-keywords)))

(provide 'use-mode)

定义字体锁定关键字时,应提供条目列表。 因此,如果您替换:

(defvar use-keywords-1 '("use" . font-lock-keyword-face)
  "First level of font-lock in Use")

通过以下操作,它将起作用:

(defvar use-keywords-1 '(("use" . font-lock-keyword-face))
  "First level of font-lock in Use")

请注意,除非计划编写一个真正高级的系统,否则无需提供其他级别,因此可以删除*-1变量。

(以防万一您还没有看到它,我想推荐我的一个软件包font-lock-studio 。它是一个用于font-lock关键字的交互式调试器。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM