Типы настройки
При определении пользовательского параметра с помощью defcustom необходимо указать его тип настройки. Это объект Lisp, который описывает (1) допустимые значения и (2) способ отображения значения в буфере настройки для редактирования.
Тип настройки указывается в defcustom с помощью ключевого слова :type. Аргумент :type вычисляется, но только один раз — при выполнении defcustom, поэтому нет смысла делать значение переменным. Обычно используют константу в кавычках. Например:
(defcustom diff-command "diff" "The command to use to run diff." :type '(string) :group 'diff)
В общем случае тип настройки представляет собой список, первый элемент которого — символ, одно из имён типов настройки, определённых в следующих разделах. За этим символом следуют несколько аргументов, количество которых зависит от символа. Между символом типа и его аргументами можно дополнительно указать пары «ключевое слово — значение» (см. Ключевые слова типов).
Некоторые символы типов не используют аргументов; такие типы называются простыми типами. Для простого типа, если пары «ключевое слово — значение» не используются, можно опустить скобки вокруг символа типа. Например, string в качестве типа настройки эквивалентно (string).
Все типы настройки реализованы в виде виджетов; подробности см. в разделе Введение в Библиотеку виджетов Emacs.
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/Customization-Types.html