Вы можете просто добавить регулярные выражения через font-lock-add-keywords
, который уже будет учитывать синтаксис комментариев в буфере, например.
(defun my-font-lock-additions ()
(require 'hi-lock) ; fonts
(font-lock-add-keywords
nil
'(("\\btrue\\b" . 'hi-green)
("\\bfalse\\b" . 'hi-pink)))
(font-lock-flush))
И вызвать (font-lock-refresh-defaults)
, чтобы вернуться к настройкам OG.
Придерживаясь чисто регулярного выражения с highlight-regexp
, в нечетных случаях, несомненно, возникнут некоторые ошибки, но я думаю, что просто настройка вашего регулярного выражения для проверки префикса комментария также, вероятно, будет работать достаточно хорошо,
(defun my/highlight-in-properties-files ()
"Highlight regexps in PROPERTIES files."
(when (string-match-p ".properties" (file-name-nondirectory buffer-file-name))
(comment-normalize-vars) ; ensure comment variables are setup
(let ((cmt-re (format "^[^%s]*" (regexp-quote (string-trim comment-start)))))
(highlight-regexp (format "%s\\(\\_<true\\_>\\)" cmt-re) 'hi-green 1)
(highlight-regexp (format "%s\\(\\_<false\\_>\\)" cmt-re) 'hi-pink 1))))