Ключевые слова типа
Вы можете указать пары ключевого слова-аргумента в типе настройки после символа имени типа. Вот ключевые слова, которые вы можете использовать, и их значения:
:value default-
Указать значение по умолчанию.
Если
nilне является допустимым значением для альтернативы, необходимо указать допустимое значение по умолчанию с помощью:value.Если вы используете это для типа, который появляется как альтернатива внутри
choice, это указывает значение по умолчанию, которое используется в первую очередь, если и когда пользователь выбирает эту альтернативу с помощью меню в буфере настройки.Конечно, если фактическое значение параметра соответствует этой альтернативе, оно будет отображено, показывая фактическое значение, а не default.
:format format-string-
Эта строка будет вставлена в буфер для представления значения, соответствующего типу. Доступны следующие экранирования «%» для использования в 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-
Использовать тег (строку) в качестве тега для значения (или части значения), соответствующего этому типу.
: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, если значение приемлемо. См. Вставка в списки для получения дополнительной информации об inline-значениях. :validate function-
Указать функцию валидации для входных данных. function принимает виджет в качестве аргумента и должна возвращать
nil, если текущее значение виджета является допустимым для виджета. В противном случае она должна вернуть виджет, содержащий недопустимые данные, и установить свойство:errorэтого виджета на строку, объясняющую ошибку. :type-error string-
строка должна быть строкой, описывающей причину, по которой значение не соответствует типу, как определено функцией
:match. Когда функция:matchвозвращаетnil, свойство:errorвиджета будет установлено на строку.
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/Type-Keywords.html