transient-suffix
, which in
turn derives from transient-child
, from which transient-group
also
derives (see Group Classes).
transient-infix
class,
which in turn derives from the transient-suffix
class.
Infixes are a special type of suffixes. The primary difference is
that infixes always use the transient--do-stay
pre-command, while
non-infix suffixes use a variety of pre-commands (see Transient State). Doing that is most easily achieved by using this class,
though theoretically it would be possible to define an infix class
that does not do so. If you do that then you get to implement many
methods.
Also, infixes and non-infix suffixes are usually defined using different macros (see Defining Suffix and Infix Commands).
transient-argument
class.
transient-switch
class (or a derived class) is used for infix
arguments that represent command-line switches (arguments that do
not take a value).
transient-option
class (or a derived class) is used for infix
arguments that represent command-line options (arguments that do
take a value).
transient-switches
class can be used for a set of mutually
exclusive command-line switches.
transient-files
class can be used for a ‘--’ argument that
indicates that all remaining arguments are files.
transient-variable
class.
Magit defines additional classes, which can serve as examples for the fancy things you can do without modifying Transient. Some of these classes will likely get generalized and added to Transient. For now they are very much subject to change and not documented.