pub enum CoarseMode {
Normal,
Insert,
Select,
SelectLine,
SelectBlock,
}Expand description
Discipline-agnostic coarse mode for app chrome (status badge, cursor
shape) that must work the same whether the active keybinding discipline is
vim, vscode, or a future helix/emacs. Unlike VimMode — which names
vim-specific states — CoarseMode is the projection every discipline can
express: “are we inserting text, selecting, in a command prompt, or idle?”
This is the seam app chrome reads instead of VimMode (epic #265 G3): the
vim discipline maps its modes onto these; non-modal disciplines (vscode)
project their own state. Today it is derived from VimMode; once the FSM
state is pluggable, each discipline supplies its own projection.
Variants§
Normal
Idle / command-ready (vim Normal).
Insert
Text is being inserted at the caret (vim Insert).
Select
A character-wise selection is active (vim Visual).
SelectLine
A line-wise selection is active (vim VisualLine).
SelectBlock
A block / column selection is active (vim VisualBlock).
Trait Implementations§
Source§impl Clone for CoarseMode
impl Clone for CoarseMode
Source§fn clone(&self) -> CoarseMode
fn clone(&self) -> CoarseMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CoarseMode
Source§impl Debug for CoarseMode
impl Debug for CoarseMode
Source§impl Default for CoarseMode
impl Default for CoarseMode
Source§fn default() -> CoarseMode
fn default() -> CoarseMode
impl Eq for CoarseMode
Source§impl PartialEq for CoarseMode
impl PartialEq for CoarseMode
Source§fn eq(&self, other: &CoarseMode) -> bool
fn eq(&self, other: &CoarseMode) -> bool
self and other values to be equal, and is used by ==.