Свойства в строке режима
Некоторые свойства текста имеют значение в строке режима. Свойство face влияет на внешний вид текста; свойство help-echo связывает строки справки с текстом, а keymap может сделать текст чувствительным к нажатию мыши.
Существует четыре способа определения свойств текста для текста в строке режима:
- Поместите строку со свойством текста непосредственно в структуру данных строки режима, но см. Данные строки режима для ограничений в этом случае.
- Поместите свойство текста на %-конструкцию строки режима, например, ‘%12b’; затем расширение %-конструкции будет иметь то же самое свойство текста.
- Используйте конструкцию
(:propertize elt props…)для присвоения элементу elt свойства текста, указанного в props. - Используйте список, содержащий
: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