15.4.1 Simple Types
This section describes all the simple customization types. For several of these customization types, the customization widget provides inline completion with C-M-i
or M-TAB
.
sexp
β
The value may be any Lisp object that can be printed and read back. You can use sexp
as a fall-back for any option, if you donβt want to take the time to work out a more specific type to use.
integer
β
The value must be an integer.
number
β
The value must be a number (floating point or integer).
float
β
The value must be floating point.
string
β
The value must be a string. The customization buffer shows the string without delimiting β"
β characters or β\
β quotes.
regexp
β
Like string
except that the string must be a valid regular expression.
character
β
The value must be a character code. A character code is actually an integer, but this type shows the value by inserting the character in the buffer, rather than by showing the number.
file
β
The value must be a file name. The widget provides completion.
(file :must-match t)
β
The value must be a file name for an existing file. The widget provides completion.
directory
β
The value must be a directory. The widget provides completion.
hook
β
The value must be a list of functions. This customization type is used for hook variables. You can use the :options
keyword in a hook variableβs defcustom
to specify a list of functions recommended for use in the hook; See Variable Definitions.
symbol
β
The value must be a symbol. It appears in the customization buffer as the symbol name. The widget provides completion.
function
β
The value must be either a lambda expression or a function name. The widget provides completion for function names.
variable
β
The value must be a variable name. The widget provides completion.
face
β
The value must be a symbol which is a face name. The widget provides completion.
boolean
β
The value is booleanβeither nil
or t
. Note that by using choice
and const
together (see the next section), you can specify that the value must be nil
or t
, but also specify the text to describe each value in a way that fits the specific meaning of the alternative.
key-sequence
β
The value is a key sequence. The customization buffer shows the key sequence using the same syntax as the kbd
function. See Key Sequences.
coding-system
β
The value must be a coding-system name, and you can do completion with M-TAB
.
color
β
The value must be a valid color name. The widget provides completion for color names, as well as a sample and a button for selecting a color name from a list of color names shown in a *Colors*
buffer.