Spec-Zone.ru › Elisp

Лица для Font Lock

Режим Font Lock может выделять текст с помощью любого лица, но в Emacs определено несколько лиц, специально предназначенных для выделения текста в Font Lock. Эти лица Font Lock перечислены ниже. Их также могут использовать основные режимы для синтаксического выделения вне режима Font Lock (см. Соглашения для основных режимов).

Лица перечислены с описанием их обычного применения в порядке убывания заметности. Если синтаксические категории режима плохо согласуются с описаниями применения, лица можно назначать, руководствуясь указанным порядком.

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;
//    ^ property
} obj;

int main()
{
  obj o;
  o.prop = 3;
//  ^ property
}
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.

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Faces-for-Font-Lock.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API