Spec-Zone.ru › Elisp

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

После символа имени типа в типе настройки можно указывать пары «ключевое слово — аргумент». Ниже перечислены доступные ключевые слова и их значения:

: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

Spec-Zone.ru

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