File: evil-types.el.html

A type defines a transformation on a pair of buffer positions.

Types are used by Visual state (character/line/block selection) and Operator-Pending state (character/line/block motions).

The basic transformation is "expansion". For example, the line type "expands" a pair of positions to whole lines by moving the first position to the beginning of the line and the last position to the end of the line. That expanded selection is what the rest of Emacs sees and acts on.

An optional transformation is "contraction", which is the opposite of expansion. If the transformation is one-to-one, expansion followed by contraction always returns the original range.
(The line type is not one-to-one, as it may expand multiple
positions to the same lines.)

Another optional transformation is "normalization", which takes two unexpanded positions and adjusts them before expansion. This is useful for cleaning up "invalid" positions.

Types are defined at the end of this file using the macro evil-define-type.

Defined variables (0)

Defined functions (17)

evil-block-contract
evil-block-expand
evil-block-rotate
evil-block-string
evil-exclusive-normalize
evil-exclusive-string
evil-inclusive-contract
evil-inclusive-expand
evil-inclusive-normalize
evil-inclusive-string
evil-line-contract
evil-line-expand
evil-line-string
evil-rectangle-expand
evil-screen-line-contract
evil-screen-line-expand
evil-screen-line-string

Defined faces (0)