transient-suffix, which in turn derives from
transient-child, from which
transient-groupalso derives (see Group Classes).
transient-infixclass, which in turn derives from the
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
Also infixes and non-infix suffixes are usually defined using different macros (see Defining Suffix and Infix Commands).
transient-switchclass (or a derived class) is used for infix arguments that represent command-line switches (arguments that do not take a value).
transient-optionclass (or a derived class) is used for infix arguments that represent command-line options (arguments that do take a value).
transient-switchesclass can be used for a set of mutually exclusive command-line switches.
transient-filesclass can be used for a "–" argument that indicates that all remaining arguments are files.
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.