Skip to content

Prefix Slots

  • show-help, man-page or info-manual can be used to specify the documentation for the prefix and its suffixes. The command transient-help uses the method transient-show-help (which see) to lookup and use these values.
  • history-key If multiple prefix commands should share a single value, then this slot has to be set to the same value for all of them. You probably don’t want that.
  • transient-suffix and transient-non-suffix play a part when determining whether the currently active transient prefix command remains active/transient when a suffix or arbitrary non-suffix command is invoked. See Transient State.
  • refresh-suffixes Normally suffix objects and keymaps are only setup once, when the prefix is invoked. Setting this to t, causes them to be recreated after every command. This is useful when using :if... predicates, and those need to be rerun for some reason. Doing this is somewhat costly, and there is a risk of losing state, so this is disabled by default and still considered experimental.
  • incompatible A list of lists. Each sub-list specifies a set of mutually exclusive arguments. Enabling one of these arguments causes the others to be disabled. An argument may appear in multiple sub-lists. Arguments must me given in the same form as used in the argument or argument-format slot of the respective suffix objects, usually something like --switch or --option=%s. For options and transient-switches suffixes it is also possible to match against a specific value, as returned by transient-infix-value, for example, --option=one.
  • scope For some transients it might be necessary to have a sort of secondary value, called a “scope”. See transient-define-prefix.

Internal Prefix Slots

These slots are mostly intended for internal use. They should not be set in calls to transient-define-prefix.

  • prototype When a transient prefix command is invoked, then a clone of that object is stored in the global variable transient--prefix and the prototype is stored in the clone’s prototype slot.
  • command The command, a symbol. Each transient prefix command consists of a command, which is stored in a symbol’s function slot and an object, which is stored in the transient--prefix property of the same symbol.
  • level The level of the prefix commands. The suffix commands whose layer is equal or lower are displayed. see Enabling and Disabling Suffixes.
  • value The likely outdated value of the prefix. Instead of accessing this slot directly you should use the function transient-get-value, which is guaranteed to return the up-to-date value.
  • history and history-pos are used to keep track of historic values. Unless you implement your own transient-infix-read method you should not have to deal with these slots.