aboutsummaryrefslogtreecommitdiff
path: root/devel/transient/pkg-descr
blob: 5682c2b2d72d3d00eb15f3b7ce6501a943fba33e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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, then 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 `pre-command-hook` and `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.

WWW: https://github.com/magit/transient