Spec-Zone.ru › Elisp

Отображение лиц

При отображении Emacs заданного фрагмента текста визуальный вид текста может определяться лицами, взятыми из разных источников. Если эти различные источники вместе указывают на более чем одно лицо для определенного символа, Emacs объединяет атрибуты различных лиц. Вот порядок, в котором Emacs объединяет лица, от самого высокого до самого низкого приоритета:

  • Если текст состоит из специального глифа, глиф может указать на конкретное лицо. См. Глифы.
  • Если текст находится в активной области, Emacs выделяет его, используя лицо region. См. Стандартные лица в Справочнике GNU Emacs.
  • Если текст находится в наложении со свойством не-nil face, Emacs применяет лицо(а), указанное(ые) этим свойством. Если у наложения есть свойство mouse-face и курсор достаточно близок к наложению, Emacs применяет лицо или атрибуты лица, указанные свойством mouse-face. См. Свойства наложений.

    Когда несколько наложений покрывают один символ, наложение с более высоким приоритетом перекрывает наложения с более низким приоритетом. См. Наложения.

  • Если текст содержит свойство face или mouse-face, Emacs применяет указанные лица и атрибуты лица. См. Специальные свойства. (Так применяются лица режима Font Lock. См. Режим Font Lock.)
  • Если текст находится в строке режима выбранного окна, Emacs применяет лицо mode-line. Для строки режима невыбранного окна Emacs применяет лицо mode-line-inactive. Для строки заголовка Emacs применяет лицо header-line. Для строки вкладок Emacs применяет лицо tab-line.
  • Если текст получен из строки наложения через свойства before-string или after-string (см. Свойства наложений), или из строки отображения (см. Другие параметры отображения), и строка не содержит свойства face или mouse-face, или эти свойства оставляют некоторые атрибуты лица неопределенными, но текст буфера, затронутый свойством наложения/отображения, определяет лицо или эти атрибуты, Emacs применяет атрибуты лица "основного" текста буфера. Обратите внимание, что это так даже если наложение или строка отображения отображаются в полях отображения (см. Поля отображения).
  • Если какой-либо атрибут не был указан на предыдущих этапах, Emacs применяет атрибут лица default.

На каждом этапе, если у лица есть допустимый атрибут :inherit, Emacs обрабатывает любой атрибут со значением unspecified как имеющий соответствующее значение, взятое из родительского лица(лиц). См. Атрибуты лица. Обратите внимание, что родительские лицо(лица) также могут оставить атрибут неопределенным; в этом случае атрибут остается неопределенным на следующем уровне объединения лиц.

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

Spec-Zone.ru

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