Определение групп настройки
Каждый пакет Emacs Lisp должен иметь одну основную группу настройки, содержащую все параметры, начертания и другие группы пакета. Если в пакете мало параметров и начертаний, используйте одну группу и поместите в неё всё. Если параметров и начертаний больше примерно двадцати, структурируйте их в подгруппы и поместите подгруппы в основную группу настройки пакета. Допускается помещать некоторые параметры и начертания в основную группу пакета наряду с подгруппами.
Основная или единственная группа пакета должна входить в одну или несколько стандартных групп настройки. (Чтобы отобразить полный список, выполните M-x customize.) Выберите одну или несколько таких групп (но не слишком много) и добавьте свою группу в каждую из них с помощью ключевого слова :group.
Новые группы настройки объявляются с помощью defgroup.
- Макрос: defgroup group members doc [keyword value]…
-
Объявляет group как группу настройки, содержащую members. Не заключайте символ group в кавычки. Аргумент doc задаёт строку документации для группы.
Аргумент members — это список, задающий исходный набор элементов настройки, входящих в группу. Однако чаще всего members — это
nil, а элементы группы задаются с помощью ключевого слова:groupпри их определении.Если вы хотите задать элементы группы через members, каждый элемент должен иметь вид
(name widget). Здесь name — это символ, а widget — тип виджета для редактирования этого символа. Полезные виджеты:custom-variableдля переменной,custom-faceдля начертания иcustom-groupдля группы.Добавляя в Emacs новую группу, используйте ключевое слово
:versionвdefgroup; тогда его не потребуется использовать для отдельных элементов группы.Помимо общих ключевых слов (см. Общие ключевые слова элементов), в
defgroupможно также использовать это ключевое слово:-
:prefix prefix Если имя элемента группы начинается с prefix, а настраиваемая переменная
custom-unlispify-remove-prefixesне равнаnil, тег элемента не будет содержать prefix. У группы может быть любое количество префиксов.
Переменные, начертания и подгруппы группы хранятся в свойстве
custom-groupсимвола группы. См. Доступ к свойствам символов. Значение этого свойства — список пар, у которыхcar— это символ переменной, начертания или подгруппы, аcdr— один из соответствующих символовcustom-variable,custom-faceилиcustom-group. -
- Пользовательская переменная: custom-unlispify-remove-prefixes
-
Если значение этой переменной не равно
nil, префиксы, указанные с помощью ключевого слова:prefixгруппы, исключаются из имён тегов при настройке группы пользователем.Значение по умолчанию —
nil, то есть функция удаления префиксов отключена. Это связано с тем, что удаление префиксов часто приводит к запутанным именам параметров и начертаний.
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/Group-Definitions.html