Я пытаюсь построить свой основной режим для подсветки синтаксиса файлов журналов из определенного потока инструментов. и я использовал это превосходное руководство, чтобы начать http://ergoemacs.org/emacs/elisp_syntax_coloring.html
, но я хотел бы выделить "* W", "* E" и "* F", но я не могу заставить это работать
вот мои ключевые слова для блокировки шрифтов
(setq mylog-font-lock-keywords
(let* (
;; define several category of keywords
(x-warnings '("UVM_ERROR" "UVM_FATAL" "^.*E" "F"))
(x-keywords '("UVM_INFO" "NOTE" "Note"))
(x-types '("UVM_WARNING" "*W," "xmsim"))
(x-constants '("ACTIVE" "AGENT" "ALL_SIDES" "ATTACH_BACK"))
(x-events '("at_rot_target" "at_target" "attach"))
(x-functions '("llAbs" "llAcos" "llAddToLandBanList" "llAddToLandPassList"))
;; generate regex string for each category of keywords
(x-keywords-regexp (regexp-opt x-keywords 'words))
(x-types-regexp (regexp-opt x-types 'words))
(x-constants-regexp (regexp-opt x-constants 'words))
(x-events-regexp (regexp-opt x-events 'words))
(x-functions-regexp (regexp-opt x-functions 'words))
(x-warnings-regexp (regexp-opt x-warnings 'words))
)
`(
(,x-types-regexp . font-lock-type-face)
(,x-constants-regexp . font-lock-constant-face)
(,x-events-regexp . font-lock-builtin-face)
(,x-functions-regexp . font-lock-function-name-face)
(,x-keywords-regexp . font-lock-keyword-face)
(,x-warnings-regexp . font-lock-warning-face)
;; note: order above matters, because once colored, that part won't change.
;; in general, put longer words first
)))
;;; ### autoload (режим определения режима ведения журнала mylog-mode "режим журнала" "Основной режим редактирования файлов журнала… "
;; код для подсветки синтаксиса (setq font-lock-defaults '((mylog-font-lock-Keywords)))) (set-face-foreground' font-lock-type-face" "желтый ")
;;добавьте режим в список «функций» (предоставьте «mylog-mode»)
, как вы можете видеть, я несколько раз безуспешно пытался сделать что-нибудь еще. Какие-нибудь другие слова выделены правильно?
В качестве последнего штриха я хотел бы, чтобы на все случаи ПРЕДУПРЕЖДЕНИЯ или ОШИБКИ я хотел бы выделить всю строку до EOL.
Я нашел несколько примеров, но ни один из них не показывает, как выделить до EOL в главномфайл режима lisp