Taking inspiration from prefix keys and prefix arguments, Transient implements a similar abstraction involving a prefix command, infix arguments and suffix commands. We could call this abstraction a “transient command”, but because it always involves at least two commands (a prefix and a suffix) we prefer to call it just a “transient”.
When the user calls a transient prefix command, a transient
(temporary) keymap is activated, which binds the transient’s infix
and suffix commands, and functions that control the transient state
are added to
post-command-hook. The available
suffix and infix commands and their state are shown in a popup buffer
until the transient is exited by invoking a suffix command.
Calling an infix command causes its value to be changed, possibly by reading a new value in the minibuffer.
Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient.
This manual is for Transient version 0.3.7-git.
Copyright (C) 2018-2022 Free Software Foundation, Inc.
You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|• Modifying Existing Transients|
|• Defining New Commands|
|• Classes and Methods|
|• Related Abstractions and Packages|
|• Keystroke Index|
|• Command and Function Index|
|• Variable Index|
|• Concept Index|
|• GNU General Public License|
— The Detailed Node Listing — Usage
|• Invoking Transients|
|• Aborting and Resuming Transients|
|• Common Suffix Commands|
|• Saving Values|
|• Using History|
|• Getting Help for Suffix Commands|
|• Enabling and Disabling Suffixes|
|• Other Commands|
Defining New Commands
|• Defining Transients|
|• Binding Suffix and Infix Commands|
|• Defining Suffix and Infix Commands|
|• Using Infix Arguments|
|• Transient State|
Binding Suffix and Infix Commands
|• Group Specifications|
|• Suffix Specifications|
Classes and Methods
|• Group Classes|
|• Group Methods|
|• Prefix Classes|
|• Suffix Classes|
|• Suffix Methods|
|• Prefix Slots|
|• Suffix Slots|
|• Predicate Slots|
|• Suffix Value Methods|
|• Suffix Format Methods|
Related Abstractions and Packages
|• Comparison With Prefix Keys and Prefix Arguments|
|• Comparison With Other Packages|