Ключевые слова типов
После символа имени типа в типе настройки можно указывать пары «ключевое слово — аргумент». Ниже перечислены доступные ключевые слова и их значения:
:value default-
Указывает значение по умолчанию.
Если
nilне является допустимым значением для альтернативы, необходимо указать допустимое значение по умолчанию с помощью:value.Если использовать это для типа, который входит в качестве альтернативы в
choice, оно указывает значение по умолчанию, которое сначала будет использоваться, если пользователь выберет эту альтернативу в меню буфера настройки.Разумеется, если фактическое значение параметра подходит для этой альтернативы, будет показано фактическое значение, а не значение по умолчанию.
-
:format format-string -
Эта строка будет вставлена в буфер для представления значения, соответствующего типу. В строке формата можно использовать следующие последовательности ‘%’:
- ‘%[button%]’
-
Показать текст button в виде кнопки. Атрибут
:actionзадает действие, выполняемое при нажатии пользователем кнопки; его значением является функция, принимающая два аргумента — виджет, в котором отображается кнопка, и событие.Нельзя задать две разные кнопки с разными действиями.
- ‘%{sample%}’
-
Показать sample специальным начертанием, заданным с помощью
:sample-face. - ‘%v’
-
Подставить значение элемента. Представление значения зависит от типа элемента и (для переменных) от типа настройки.
- ‘%d’
-
Подставить строку документации элемента.
- ‘%h’
-
Работает как ‘%d’, но если строка документации состоит более чем из одной строки, добавляет кнопку, позволяющую выбрать, показывать её целиком или только первую строку.
- ‘%t’
-
Подставить здесь метку. Метка задается с помощью ключевого слова
:tag. - ‘%%’
Показать символ ‘%’.
-
:action action -
Выполнить действие, если пользователь нажмет кнопку.
-
:button-face face -
Использовать начертание face (имя начертания или список имен начертаний) для текста кнопки, отображаемого с помощью ‘%[…%]’.
-
:button-prefix prefix :button-suffix suffix-
Задают текст, отображаемый перед кнопкой и после неё. Каждое из них может быть:
nil-
Текст не вставляется.
- строкой
-
Строка вставляется без изменений.
- символом
Используется значение символа.
:tag tag-
Использовать tag (строку) в качестве метки для значения (или его части), соответствующего этому типу. Важно задать информативную метку для интерфейса настройки, особенно если используется тип
restricted-sexpили определяется новый тип. См. Определение новых типов. -
:doc doc -
Использовать doc в качестве строки документации для значения (или его части), соответствующего этому типу. Чтобы это работало, необходимо указать значение для
:formatи использовать в этом значении ‘%d’ или ‘%h’.Обычно строку документации для типа указывают, чтобы подробнее описать значения альтернатив внутри типа
choiceили части другого составного типа. -
:help-echo motion-doc -
При переходе к этому элементу с помощью
widget-forwardилиwidget-backwardстрока motion-doc отображается в области эха. Кроме того, motion-doc используется как строкаhelp-echoмыши и может быть функцией или формой, вычисляемой для получения строки справки. Если это функция, она вызывается с одним аргументом — виджетом. -
:match function -
Указывает, как определять, соответствует ли значение типу. Соответствующее значение function должно быть функцией, принимающей два аргумента — виджет и значение; она должна возвращать значение, отличное от
nil, если значение допустимо. -
:match-inline function -
Указывает, как определять, соответствует ли встроенное значение типу. Соответствующее значение function должно быть функцией, принимающей два аргумента — виджет и встроенное значение; она должна возвращать значение, отличное от
nil, если значение допустимо. Дополнительные сведения о встроенных значениях см. в разделе Вставка в списки. :validate function-
Указывает функцию проверки введённых данных. function принимает виджет в качестве аргумента и должна возвращать
nil, если текущее значение виджета допустимо для него. В противном случае она должна возвращать виджет, содержащий недопустимые данные, и задавать свойство:errorэтого виджета строкой с описанием ошибки. -
:type-error string -
string должна быть строкой, описывающей, почему значение не соответствует типу, согласно функции
:match. Когда функция:matchвозвращаетnil, свойству:errorвиджета присваивается значение string.
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/Type-Keywords.html