yi-0.11.0: The Haskell-Scriptable Editor

Portabilityportable
Stabilityexperimental
Maintaineryi-devel@googlegroups.com
Safe HaskellNone

Yi.Keymap.Vim.Common

Description

Common types used by the vim keymap.

Documentation

data VimMode Source

Constructors

Normal 
NormalOperatorPending OperatorName 
Insert Char

char denotes how state got into insert mode (i, a, etc.)

Replace 
ReplaceSingleChar 
InsertNormal

after C-o

InsertVisual

after C-o and one of v, V, C-v

Visual RegionStyle 
Ex 
Search 

Instances

Eq VimMode 
Show VimMode 
Typeable VimMode 
Default VimMode 
Binary VimMode 

data GotoCharCommand Source

Constructors

GotoCharCommand !Char !Direction !RegionStyle 

Instances

data VimState Source

Constructors

VimState 

Fields

vsMode :: !VimMode
 
vsCount :: !(Maybe Int)
 
vsAccumulator :: !EventString

for repeat and potentially macros

vsTextObjectAccumulator :: !EventString
 
vsRegisterMap :: !(HashMap RegisterName Register)
 
vsActiveRegister :: !RegisterName
 
vsRepeatableAction :: !(Maybe RepeatableAction)
 
vsStringToEval :: !EventString

see Yi.Keymap.Vim.vimEval comment

vsStickyEol :: !Bool

is set on $, allows j and k walk the right edge of lines

vsOngoingInsertEvents :: !EventString
 
vsLastGotoCharCommand :: !(Maybe GotoCharCommand)
 
vsBindingAccumulator :: !EventString
 
vsSecondaryCursors :: ![Point]
 
vsPaste :: !Bool

like vim's :help paste

vsCurrentMacroRecording :: !(Maybe (MacroName, EventString))
 

Instances

data Register Source

Instances

Binary Register 

data RepeatToken Source

Constructors

Finish 
Drop 
Continue 

Instances

data MatchResult a Source

Constructors

NoMatch 
PartialMatch 
WholeMatch a 

Instances

Functor MatchResult 
Applicative MatchResult 
Alternative MatchResult 
Show (MatchResult a) 

newtype EventString Source

Constructors

Ev 

Fields

_unEv :: Text
 

Instances

newtype OperatorName Source

Constructors

Op 

Fields

_unOp :: Text
 

Instances

type RegisterName = CharSource