Spec-Zone.ru › Elisp

Свойства в строке режима

Некоторые свойства текста имеют значение в строке режима. Свойство face влияет на внешний вид текста; свойство help-echo связывает строки справки с текстом, а keymap может сделать текст чувствительным к нажатию мыши.

Существует четыре способа определения свойств текста для текста в строке режима:

  1. Поместите строку со свойством текста непосредственно в структуру данных строки режима, но см. Данные строки режима для ограничений в этом случае.
  2. Поместите свойство текста на %-конструкцию строки режима, например, ‘%12b’; затем расширение %-конструкции будет иметь то же самое свойство текста.
  3. Используйте конструкцию (:propertize elt props…) для присвоения элементу elt свойства текста, указанного в props.
  4. Используйте список, содержащий :eval form в структуре данных строки режима, и заставьте form вычисляться в строку, которая имеет свойство текста.

Вы можете использовать свойство keymap для указания ключевой карты. Эта ключевая карта вступает в силу только при нажатии мышью; привязка символьных и функциональных клавиш к ней не имеет эффекта, поскольку невозможно переместить курсор в строку режима.

Когда строка режима ссылается на переменную, которая не имеет свойства, отличного от nil risky-local-variable, любые свойства текста, заданные или указанные в значениях этой переменной, игнорируются. Это связано с тем, что такие свойства в противном случае могли бы указывать на функции, которые должны быть вызваны, а эти функции могут поступать из локальных переменных файла.

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/Properties-in-Mode.html

Spec-Zone.ru

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