Попробуйте что-то вроде этого:
("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face))
( т.е. то же самое, что и у вас, но без лишних кавычек).
Я говорю это, потому что в моих пользовательских определениях font-lock-keyword есть разные биты, подобные этому. У некоторых из них nil t
в конце второго, например:
("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face nil t))
, которые соответствуют опциональным флагам OVERRIDE
и LAXMATCH
и могут быть необходимы в зависимости от ваших конкретных обстоятельств.
Документация для font-lock-keywords
обсуждает это в некоторой глубине, хотя не всегда проще всего следовать - мне проще просто скопировать чужую рабочую настройку, например, существующее значение c-font-lock-keywords-3
. 1018 *