Определение групп кастомизации
Каждый пакет 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