Internals¶
Command properties¶
Evil defines command properties to store information about commands
[1], such as whether they should be repeated. A command
property is a :keyword
with an associated value, e.g.
:repeat nil
.
- (evil-add-command-properties COMMAND [PROPERTIES...])¶
Add PROPERTIES to COMMAND. PROPERTIES should be a property list. To replace all properties at once, use
evil-set-command-properties
.
- (evil-set-command-properties COMMAND [PROPERTIES...])¶
Replace all of COMMAND’s properties with PROPERTIES. PROPERTIES should be a property list. This erases all previous properties; to only add properties, use
evil-set-command-property
.
- (evil-get-command-properties COMMAND)¶
Return all Evil properties of COMMAND. See also
evil-get-command-property
.
- (evil-get-command-property COMMAND PROPERTY [DEFAULT])¶
Return the value of Evil PROPERTY of COMMAND. If the command does not have the property, return DEFAULT. See also
evil-get-command-properties
.
- (evil-define-command COMMAND (ARGS...) DOC [[KEY VALUE]...] BODY...)¶
Define a command COMMAND.
For setting repeat properties, use the following functions:
- (evil-declare-repeat COMMAND)¶
Declare COMMAND to be repeatable.
- (evil-declare-not-repeat COMMAND)¶
Declare COMMAND to be nonrepeatable.
- (evil-declare-change-repeat COMMAND)¶
Declare COMMAND to be repeatable by buffer changes rather than keystrokes.
Footnotes
[1] | In this context, a command may mean any Evil motion, text object, operator or indeed other Emacs commands, which have not been defined through the Evil machinery. |