Spec-Zone.ru › Elisp

Ключевые слова типа

Вы можете указать пары ключевого слова-аргумента в типе настройки после символа имени типа. Вот ключевые слова, которые вы можете использовать, и их значения:

: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

Spec-Zone.ru

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