Spec-Zone.ru › Elisp

Определение групп кастомизации

Каждый пакет Emacs Lisp должен иметь одну главную группу кастомизации, содержащую все опции, стили и другие группы в пакете. Если пакет имеет небольшое количество опций и стилей, используйте только одну группу и поместите все в неё. Если опций и стилей более двадцати, структурируйте их в подгруппы и поместите подгруппы под главной группой кастомизации пакета. Разрешается разместить некоторые опции и стили в основной группе пакета наряду с подгруппами.

Основная или единственная группа пакета должна быть членом одной или нескольких стандартных групп кастомизации. (Чтобы просмотреть полный список, используйте M-x customize.) Выберите одну или несколько (но не слишком много), и добавьте вашу группу к каждой из них, используя ключевое слово :group.

Способ объявления новых групп кастомизации с помощью defgroup.

Макрос: defgroup группа члены описание [ключевое слово значение]…

Объявить группу как группу кастомизации, содержащую члены. Не заключайте символ группа в кавычки. Аргумент описание определяет строку документации для группы.

Аргумент члены — список, определяющий начальный набор элементов кастомизации, которые будут членами группы. Однако чаще всего члены — nil, и вы определяете членов группы, используя ключевое слово :group при определении этих членов.

Если вы хотите указать членов группы через члены, каждый элемент должен иметь форму (name widget). Здесь имя — символ, а виджет — тип виджета для редактирования этого символа. Полезные виджеты — custom-variable для переменной, custom-face для стиля, и custom-group для группы.

Когда вы добавляете новую группу в Emacs, используйте ключевое слово :version в defgroup; тогда вам не нужно использовать его для отдельных членов группы.

В дополнение к общим ключевым словам (см. Общие ключевые слова), вы также можете использовать это ключевое слово в defgroup:

:prefix prefix

Если имя элемента в группе начинается с префикс, и настраиваемая переменная custom-unlispify-remove-prefixes не nil, тег элемента опустит префикс. Группа может иметь любое количество префиксов.

Переменные и подгруппы группы хранятся в свойстве custom-group символа группы. См. Список свойств символов. Значение этого свойства — список пар, где car — символ переменной или подгруппы, а cdr — либо custom-variable, либо custom-group.

Пользовательская опция: custom-unlispify-remove-prefixes

Если эта переменная не nil, префиксы, указанные ключевым словом :prefix группы, опускаются из имён тегов при кастомизации группы пользователем.

Значение по умолчанию — nil, т.е. функция отбрасывания префиксов отключена. Это связано с тем, что отбрасывание префиксов часто приводит к запутанным именам для опций и стилей.

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/Group-Definitions.html

Spec-Zone.ru

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