Suffix Slots
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.
Slots of transient-suffix
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, which is called with zero or one argument (the suffix object), and returns a string.faceFace used for the description. In simple cases it is easier to use this instead of using a function asdescriptionand adding the styling there.faceis appended usingadd-face-text-property.show-helpA function used to display help for the suffix. If unspecified, the prefix controls how help is displayed for its suffixes.
Slots of transient-infix
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.,--verbose.shortargThe short argument, e.g.,-v.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 primarytransient-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 usingcompleting-read-multipleby default and if you specify your own reader, then it should read the values using that function or similar.Supported non-
nilvalues are:Use
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 asgit log -- file1 file2).In the list returned by
transient-argssuch an option and its values are represented by a single list of the form(ARGUMENT . VALUES).Use
repeatfor an option that can be specified multiple times.In the list returned by
transient-argseach 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
transient-args, e.g.,("--other" "--o=1" "--o=2" ("--" "f1" "f2")).always-readFor options, whether to read a value on every invocation. If this isnil, 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-INPUTandHISTORY, 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, or a function that returns such a list. The latter is not implemented fortransient-switches, because I couldn’t think of a use-case. How exactly the choices are used varies depending on the class of the suffix.
Slots of transient-variable
variableThe variable.
Slots of transient-switches
argument-formatThe display format. Must contain%s, one of thechoicesis substituted for that. E.g.,--%s-order.argument-regexpThe regexp used to match any one of the switches. E.g.,\\(--\\(topo\\|author-date\\|date\\)-order\\).