Previous: Defining Prefix Commands, Up: Defining Prefix and Suffix Commands [Contents]
Commands intended to be invoked from a particular popup should
determine the currently effective arguments by calling the function
SHORTNAME-arguments
inside their interactive
form. This function
is created by the magit-define-popup
macro. For a popup named
prefix-foo-popup
the name of this function is prefix-foo-arguments
.
When the command was invoked as an action in the respective popup,
then this function returns the arguments that were set in the popup.
Otherwise when the command was invoked as the default of the popup (by
calling the popup command with a prefix argument), or without using
the popup command at all, then this function returns the buffer-local
or global value of the variable SHORTNAME-arguments
.
Internally arguments are handled as a list of strings. This might not
be appropriate for the intended use inside commands, or it might be
necessary to manipulate that list somehow, i.e. to split "–ARG=VAL"
into "–ARG""VAL". This should be done by advising or redefining the
function SHORTNAME-arguments
.
Internally SHORNAME-arguments
used following variables and function.
Except when redefining the former, you should not use these directly.
The popup from which this editing command was invoked.
The value of the popup arguments for this editing command.
If the current command was invoked from a popup, then this is a list of strings of all the set switches and options. This includes arguments which are set by default not only those explicitly set during this invocation.
When the value is nil, then that can be because no argument is set, or because the current command wasn’t invoked from a popup at all.
This function returns the value of the popup arguments for this
editing command. The value is the same as that of the variable by
the same name, except that FILTER is applied. FILTER is a list of
regexps; only arguments that match one of them are returned. The
first element of FILTER may also be :not
in which case only
arguments that don’t match any of the regexps are returned, or :only
which doesn’t change the behavior.
Previous: Defining Prefix Commands, Up: Defining Prefix and Suffix Commands [Contents]