Режим Font Lock может использовать для подсветки любые лица, но Emacs определяет несколько лиц специально для использования в Font Lock при подсветке текста. Эти лица Font Lock перечислены ниже. Они также могут использоваться основными режимами для синтаксической подсветки вне режима Font Lock (см. Соглашения для основных режимов).
Каждый из этих символов является одновременно именем лица и переменной,
значение по умолчанию которой равно самому символу. Таким образом, значение по умолчанию
font-lock-comment-face равно font-lock-comment-face.
Лица перечислены с описаниями их типичного использования и в порядке от более значимых к менее значимым. Если синтаксические категории режима не совсем соответствуют описаниям использования, лица можно назначать, руководствуясь этим порядком.
font-lock-warning-face ¶для конструкции, которая является необычной (например, незаэкранированная похожая по написанию кавычка в символе Emacs Lisp, например ‘‘foo’), или которая сильно меняет смысл другого текста, например ‘;;;###autoload’ в Emacs Lisp и ‘#error’ в C.
font-lock-function-name-face ¶для имени определяемой или объявляемой функции.
font-lock-function-call-face ¶для имени вызываемой функции. Это лицо наследует, по
умолчанию, от font-lock-function-name-face.
font-lock-variable-name-face ¶для имени определяемой или объявляемой переменной.
font-lock-variable-use-face ¶для имени используемой переменной. Это лицо наследует, по
умолчанию, от font-lock-variable-name-face.
font-lock-keyword-face ¶для ключевого слова с особым синтаксическим значением, например ‘for’ и ‘if’ в C.
font-lock-comment-face ¶для комментариев.
font-lock-comment-delimiter-face ¶для разделителей комментариев, например ‘/*’ и ‘*/’ в C. На большинстве
терминалов это лицо наследуется от font-lock-comment-face.
font-lock-type-face ¶для имен пользовательских типов данных.
font-lock-constant-face ¶для имен констант, например ‘NULL’ в C.
font-lock-builtin-face ¶для имен встроенных функций.
font-lock-preprocessor-face ¶для команд препроцессора. Это лицо наследует, по умолчанию, от
font-lock-builtin-face.
font-lock-string-face ¶для строковых констант.
font-lock-doc-face ¶для документации, встроенной в программный код внутри специально оформленных
комментариев или строк. Это лицо наследует, по умолчанию, от
font-lock-string-face.
font-lock-doc-markup-face ¶для элементов разметки в тексте, использующем font-lock-doc-face.
Обычно используется для конструкций разметки в документации, встроенной
в программный код, в соответствии с такими соглашениями, как Haddock, Javadoc или Doxygen.
Это лицо наследует, по умолчанию, от font-lock-constant-face.
font-lock-negation-char-face ¶для легко упускаемых из виду символов отрицания.
font-lock-escape-face ¶для escape-последовательностей в строках.
Это лицо наследует, по умолчанию, от font-lock-regexp-grouping-backslash.
Вот пример на Python, где используется escape-последовательность \n:
print('Hello world!\n')
font-lock-number-face ¶для чисел.
font-lock-operator-face ¶для операторов.
font-lock-property-name-face ¶для свойств объекта, например объявления полей в
структуре. Это лицо наследует, по умолчанию, от
font-lock-variable-name-face.
font-lock-property-use-face ¶для свойств объекта, например использования полей в структуре. Это
лицо наследует, по умолчанию, от font-lock-property-name-face.
Например,
typedef struct
{
int prop;
// ^ свойство
} obj;
int main()
{
obj o;
o.prop = 3;
// ^ свойство
}
font-lock-punctuation-face ¶для знаков пунктуации, таких как скобки и разделители.
font-lock-bracket-face ¶для скобок (например, (), [], {}).
Это лицо наследует, по умолчанию, от font-lock-punctuation-face.
font-lock-delimiter-face ¶для разделителей (например, ;, :, ,).
Это лицо наследует, по умолчанию, от font-lock-punctuation-face.
font-lock-misc-punctuation-face ¶для пунктуации, не являющейся скобками или разделителями.
Это лицо наследует, по умолчанию, от font-lock-punctuation-face.