Here we document most of the slots that are only available for suffix objects. Some slots are shared by suffix and group objects, they are documented in Predicate Slots.
Also see Suffix Classes.
keyThe key, a key vector or a key description string.
commandThe command, a symbol.
transientWhether to stay transient. See Transient State.
formatThe format used to display the suffix in the popup buffer. It must contain the following %-placeholders:
%kFor the key.
%dFor the description.
%vFor the infix value. Non-infix suffixes don’t have a value.
descriptionThe description, either a string or a function that is called with no argument and returns a string.
show-helpA function used to display help for the suffix. If unspecified, the prefix controls how help is displayed for its suffixes.
Some of these slots are only meaningful for some of the subclasses. They are defined here anyway to allow sharing certain methods.
argumentThe long argument, e.g.,
shortargThe short argument, e.g.,
valueThe value. Should not be accessed directly.
init-valueFunction that is responsible for setting the object’s value. If bound, then this is called with the object as the only argument. Usually this is not bound, in which case the object’s primary
transient-init-valuemethod is called instead.
unsavableWhether the value of the suffix is not saved as part of the prefixes.
multi-valueFor options, whether the option can have multiple values. If this is non-
nil, then the values are read using
completing-read-multipleby default and if you specify your own reader, then it should read the values using that function or similar.
nil values are:
restfor an option that can have multiple values. This is useful e.g., for an
--argument that indicates that all remaining arguments are files (such as
git log -- file1 file2).
In the list returned by
transient-args such an option and its
values are represented by a single list of the form
repeatfor an option that can be specified multiple times.
In the list returned by
transient-args each instance of the option
and its value appears separately in the usual from, for example:
("--another-argument" "--option=first" "--option=second").
In both cases the option’s values have to be specified in the
default value of a prefix using the same format as returned by
("--other" "--o=1" "--o=2" ("--" "f1" "f2")).
always-readFor options, whether to read a value on every invocation. If this is nil, then options that have a value are simply unset and have to be invoked a second time to set a new value.
allow-emptyFor options, whether the empty string is a valid value.
history-keyThe key used to store the history. This defaults to the command name. This is useful when multiple infixes should share the same history because their values are of the same kind.
readerThe function used to read the value of an infix. Not used for switches. The function takes three arguments, PROMPT, INITIAL-INPUT and HISTORY, and must return a string.
promptThe prompt used when reading the value, either a string or a function that takes the object as the only argument and which returns a prompt string.
choicesA list of valid values. How exactly that is used depends on the class of the object.
argument-formatThe display format. Must contain
%s, one of the
choicesis substituted for that. E.g.,
argument-regexpThe regexp used to match any one of the switches. E.g.,