#if __GLASGOW_HASKELL__ < 802
{-# OPTIONS_GHC -Wno-redundant-constraints #-}
#endif
module System.Console.Haskeline.Vi where
import System.Console.Haskeline.Command
import System.Console.Haskeline.Monads
import System.Console.Haskeline.Key
import System.Console.Haskeline.Command.Completion
import System.Console.Haskeline.Command.History
import System.Console.Haskeline.Command.KillRing
import System.Console.Haskeline.Command.Undo
import System.Console.Haskeline.LineState
import System.Console.Haskeline.InputT
import Data.Char
import Control.Monad(liftM)
import Control.Monad.Catch (MonadMask)
type EitherMode = Either CommandMode InsertMode
type SavedCommand m = Command (ViT m) (ArgMode CommandMode) EitherMode
data ViState m = ViState {
ViState m -> SavedCommand m
lastCommand :: SavedCommand m,
ViState m -> [Grapheme]
lastSearch :: [Grapheme]
}
emptyViState :: Monad m => ViState m
emptyViState :: ViState m
emptyViState = ViState :: forall (m :: * -> *). SavedCommand m -> [Grapheme] -> ViState m
ViState {
lastCommand :: SavedCommand m
lastCommand = Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (ArgMode CommandMode -> Either CommandMode InsertMode)
-> SavedCommand m
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left (CommandMode -> Either CommandMode InsertMode)
-> (ArgMode CommandMode -> CommandMode)
-> ArgMode CommandMode
-> Either CommandMode InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState,
lastSearch :: [Grapheme]
lastSearch = []
}
type ViT m = StateT (ViState m) (InputCmdT m)
type InputCmd s t = forall m . (MonadIO m, MonadMask m) => Command (ViT m) s t
type InputKeyCmd s t = forall m . (MonadIO m, MonadMask m) => KeyCommand (ViT m) s t
viKeyCommands :: InputKeyCmd InsertMode (Maybe String)
viKeyCommands :: KeyCommand (ViT m) InsertMode (Maybe String)
viKeyCommands = [KeyCommand (ViT m) InsertMode (Maybe String)]
-> KeyCommand (ViT m) InsertMode (Maybe String)
forall a. [KeyMap a] -> KeyMap a
choiceCmd [
Char -> Key
simpleChar Char
'\n' Key
-> Command (ViT m) InsertMode (Maybe String)
-> KeyCommand (ViT m) InsertMode (Maybe String)
forall a. Key -> a -> KeyMap a
+> Command (ViT m) InsertMode (Maybe String)
forall (m :: * -> *) s.
(Monad m, Result s) =>
Command m s (Maybe String)
External instance of the constraint type Result InsertMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
finish
, Char -> Key
ctrlChar Char
'd' Key
-> Command (ViT m) InsertMode (Maybe String)
-> KeyCommand (ViT m) InsertMode (Maybe String)
forall a. Key -> a -> KeyMap a
+> Command (ViT m) InsertMode (Maybe String)
forall (m :: * -> *) s.
(Monad m, Save s, Result s) =>
Command m s (Maybe String)
External instance of the constraint type Result InsertMode
External instance of the constraint type Save InsertMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
eofIfEmpty
, KeyCommand (ViT m) InsertMode InsertMode
InputKeyCmd InsertMode InsertMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
simpleInsertions KeyCommand (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode (Maybe String)
-> KeyCommand (ViT m) InsertMode (Maybe String)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) InsertMode (Maybe String)
InputCmd InsertMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommands
, Char -> Key
simpleChar Char
'\ESC' Key
-> Command (ViT m) InsertMode (Maybe String)
-> KeyCommand (ViT m) InsertMode (Maybe String)
forall a. Key -> a -> KeyMap a
+> (InsertMode -> CommandMode)
-> Command (ViT m) InsertMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change InsertMode -> CommandMode
enterCommandMode
Command (ViT m) InsertMode CommandMode
-> Command (ViT m) CommandMode (Maybe String)
-> Command (ViT m) InsertMode (Maybe String)
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> Command (ViT m) CommandMode (Maybe String)
InputCmd CommandMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommandActions
]
viCommands :: InputCmd InsertMode (Maybe String)
viCommands :: Command (ViT m) InsertMode (Maybe String)
viCommands = KeyCommand (ViT m) InsertMode (Maybe String)
-> Command (ViT m) InsertMode (Maybe String)
forall (m :: * -> *) s t. KeyCommand m s t -> Command m s t
keyCommand KeyCommand (ViT m) InsertMode (Maybe String)
InputKeyCmd InsertMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viKeyCommands
simpleInsertions :: InputKeyCmd InsertMode InsertMode
simpleInsertions :: KeyCommand (ViT m) InsertMode InsertMode
simpleInsertions = [KeyCommand (ViT m) InsertMode InsertMode]
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd
[ BaseKey -> Key
simpleKey BaseKey
LeftKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goLeft
, BaseKey -> Key
simpleKey BaseKey
RightKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight
, BaseKey -> Key
simpleKey BaseKey
Backspace Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
deletePrev
, BaseKey -> Key
simpleKey BaseKey
Delete Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
deleteNext
, BaseKey -> Key
simpleKey BaseKey
Home Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart
, BaseKey -> Key
simpleKey BaseKey
End Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToEnd
, KeyCommand (ViT m) InsertMode InsertMode
InputKeyCmd InsertMode InsertMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
insertChars
, Char -> Key
ctrlChar Char
'l' Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s. Command m s s
clearScreenCmd
, BaseKey -> Key
simpleKey BaseKey
UpKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) InsertMode InsertMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save InsertMode
historyBack
, BaseKey -> Key
simpleKey BaseKey
DownKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) InsertMode InsertMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save InsertMode
historyForward
, BaseKey -> Key
simpleKey BaseKey
SearchReverse Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> Direction -> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *).
MonadState HistLog m =>
Direction -> Command m InsertMode InsertMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
searchForPrefix Direction
Reverse
, BaseKey -> Key
simpleKey BaseKey
SearchForward Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> Direction -> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *).
MonadState HistLog m =>
Direction -> Command m InsertMode InsertMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
searchForPrefix Direction
Forward
, KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *).
MonadState HistLog m =>
KeyCommand m InsertMode InsertMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
searchHistory
, BaseKey -> Key
simpleKey BaseKey
KillLine Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t.
(MonadState KillRing m, MonadState Undo m, Save s, Save t) =>
KillHelper -> Command m s t
External instance of the constraint type Save InsertMode
External instance of the constraint type Save InsertMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
killFromHelper ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart)
, Char -> Key
ctrlChar Char
'w' Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t.
(MonadState KillRing m, MonadState Undo m, Save s, Save t) =>
KillHelper -> Command m s t
External instance of the constraint type Save InsertMode
External instance of the constraint type Save InsertMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
killFromHelper KillHelper
wordErase
, Key -> KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *).
(MonadState Undo m, CommandMonad m) =>
Key -> KeyCommand m InsertMode InsertMode
External instance of the constraint type forall (t :: (* -> *) -> * -> *) (m :: * -> *).
(MonadTrans t, CommandMonad m, MonadReader Prefs (t m),
MonadIO (t m), MonadMask (t m), MonadReader Layout (t m)) =>
CommandMonad (t m)
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *).
(MonadIO m, MonadMask m) =>
CommandMonad (InputCmdT m)
Evidence bound by a type signature of the constraint type MonadIO m
Evidence bound by a type signature of the constraint type MonadMask m
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => MonadReader r (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall r. MonadTrans (ReaderT r)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall (m :: * -> *) s. MonadIO m => MonadIO (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadIO m => MonadIO (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadIO m => MonadIO (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadIO m => MonadIO (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall (m :: * -> *) s. MonadMask m => MonadMask (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadMask m => MonadMask (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadMask m => MonadMask (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. MonadMask m => MonadMask (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. MonadMask m => MonadMask (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadMask m => MonadMask (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadMask m => MonadMask (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadMask m
External instance of the constraint type forall r (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadReader r m, MonadTrans t, Monad (t m)) =>
MonadReader r (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadReader s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
completionCmd (Char -> Key
simpleChar Char
'\t')
]
insertChars :: InputKeyCmd InsertMode InsertMode
insertChars :: KeyCommand (ViT m) InsertMode InsertMode
insertChars = (Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t.
(Char -> Command m s t) -> KeyCommand m s t
useChar ((Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode)
-> (Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode
forall a b. (a -> b) -> a -> b
$ String -> Char -> Command (ViT m) InsertMode InsertMode
forall {m :: * -> *}.
Monad m =>
String -> Char -> Command (ViT m) InsertMode InsertMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
loop []
where
loop :: String -> Char -> Command (ViT m) InsertMode InsertMode
loop String
ds Char
d = (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState InsertMode
change (Char -> InsertMode -> InsertMode
insertChar Char
d) Command (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> [KeyCommand (ViT m) InsertMode InsertMode]
-> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [
(Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t.
(Char -> Command m s t) -> KeyCommand m s t
useChar ((Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode)
-> (Char -> Command (ViT m) InsertMode InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode
forall a b. (a -> b) -> a -> b
$ String -> Char -> Command (ViT m) InsertMode InsertMode
loop (Char
dChar -> String -> String
forall a. a -> [a] -> [a]
:String
ds)
, Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming (String -> Command (ViT m) InsertMode InsertMode
forall {m :: * -> *} {s}. Monad m => String -> Command (ViT m) s s
Evidence bound by a type signature of the constraint type Monad m
storeCharInsertion (String -> String
forall a. [a] -> [a]
reverse String
ds))
]
storeCharInsertion :: String -> Command (ViT m) s s
storeCharInsertion String
s = SavedCommand m -> Command (ViT m) s s
forall (m :: * -> *) s.
Monad m =>
SavedCommand m -> Command (ViT m) s s
Evidence bound by a type signature of the constraint type Monad m
storeLastCmd (SavedCommand m -> Command (ViT m) s s)
-> SavedCommand m -> Command (ViT m) s s
forall a b. (a -> b) -> a -> b
$ (ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change ((CommandMode -> CommandMode) -> ArgMode CommandMode -> CommandMode
forall s. (s -> s) -> ArgMode s -> s
applyArg
((CommandMode -> CommandMode)
-> ArgMode CommandMode -> CommandMode)
-> (CommandMode -> CommandMode)
-> ArgMode CommandMode
-> CommandMode
forall a b. (a -> b) -> a -> b
$ (InsertMode -> InsertMode) -> CommandMode -> CommandMode
withCommandMode ((InsertMode -> InsertMode) -> CommandMode -> CommandMode)
-> (InsertMode -> InsertMode) -> CommandMode -> CommandMode
forall a b. (a -> b) -> a -> b
$ String -> InsertMode -> InsertMode
insertString String
s)
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
-> SavedCommand m
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (CommandMode -> Either CommandMode InsertMode)
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left
eofIfEmpty :: (Monad m, Save s, Result s) => Command m s (Maybe String)
eofIfEmpty :: Command m s (Maybe String)
eofIfEmpty s
s
| s -> InsertMode
forall s. Save s => s -> InsertMode
Evidence bound by a type signature of the constraint type Save s
save s
s InsertMode -> InsertMode -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq InsertMode
== InsertMode
emptyIM = Maybe String -> CmdM m (Maybe String)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
Evidence bound by a type signature of the constraint type Monad m
return Maybe String
forall a. Maybe a
Nothing
| Bool
otherwise = Command m s (Maybe String)
forall (m :: * -> *) s.
(Monad m, Result s) =>
Command m s (Maybe String)
Evidence bound by a type signature of the constraint type Result s
Evidence bound by a type signature of the constraint type Monad m
finish s
s
viCommandActions :: InputCmd CommandMode (Maybe String)
viCommandActions :: Command (ViT m) CommandMode (Maybe String)
viCommandActions = [KeyCommand (ViT m) CommandMode (Maybe String)]
-> Command (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [
Char -> Key
simpleChar Char
'\n' Key
-> Command (ViT m) CommandMode (Maybe String)
-> KeyCommand (ViT m) CommandMode (Maybe String)
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s.
(Monad m, Result s) =>
Command m s (Maybe String)
External instance of the constraint type Result CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
finish
, Char -> Key
ctrlChar Char
'd' Key
-> Command (ViT m) CommandMode (Maybe String)
-> KeyCommand (ViT m) CommandMode (Maybe String)
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s.
(Monad m, Save s, Result s) =>
Command m s (Maybe String)
External instance of the constraint type Result CommandMode
External instance of the constraint type Save CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
eofIfEmpty
, KeyCommand (ViT m) CommandMode CommandMode
InputKeyCmd CommandMode CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
simpleCmdActions KeyCommand (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode (Maybe String)
-> KeyCommand (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) CommandMode (Maybe String)
InputCmd CommandMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommandActions
, KeyCommand (ViT m) CommandMode InsertMode
InputKeyCmd CommandMode InsertMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
exitingCommands KeyCommand (ViT m) CommandMode InsertMode
-> Command (ViT m) InsertMode (Maybe String)
-> KeyCommand (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) InsertMode (Maybe String)
InputCmd InsertMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommands
, KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
InputKeyCmd CommandMode (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
repeatedCommands KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
-> Command (ViT m) (Either CommandMode InsertMode) (Maybe String)
-> KeyCommand (ViT m) CommandMode (Maybe String)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) (Either CommandMode InsertMode) (Maybe String)
InputCmd (Either CommandMode InsertMode) (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
chooseEitherMode
]
where
chooseEitherMode :: InputCmd EitherMode (Maybe String)
chooseEitherMode :: Command (ViT m) (Either CommandMode InsertMode) (Maybe String)
chooseEitherMode (Left CommandMode
cm) = Command (ViT m) CommandMode (Maybe String)
InputCmd CommandMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommandActions CommandMode
cm
chooseEitherMode (Right InsertMode
im) = Command (ViT m) InsertMode (Maybe String)
InputCmd InsertMode (Maybe String)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
viCommands InsertMode
im
exitingCommands :: InputKeyCmd CommandMode InsertMode
exitingCommands :: KeyCommand (ViT m) CommandMode InsertMode
exitingCommands = [KeyCommand (ViT m) CommandMode InsertMode]
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd [
Char -> Key
simpleChar Char
'i' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change CommandMode -> InsertMode
insertFromCommandMode
, Char -> Key
simpleChar Char
'I' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change (InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart (InsertMode -> InsertMode)
-> (CommandMode -> InsertMode) -> CommandMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> InsertMode
insertFromCommandMode)
, BaseKey -> Key
simpleKey BaseKey
Home Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change (InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart (InsertMode -> InsertMode)
-> (CommandMode -> InsertMode) -> CommandMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> InsertMode
insertFromCommandMode)
, Char -> Key
simpleChar Char
'a' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change CommandMode -> InsertMode
appendFromCommandMode
, Char -> Key
simpleChar Char
'A' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change (InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToEnd (InsertMode -> InsertMode)
-> (CommandMode -> InsertMode) -> CommandMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> InsertMode
appendFromCommandMode)
, BaseKey -> Key
simpleKey BaseKey
End Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change (InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart (InsertMode -> InsertMode)
-> (CommandMode -> InsertMode) -> CommandMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> InsertMode
insertFromCommandMode)
, Char -> Key
simpleChar Char
's' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change (CommandMode -> InsertMode
insertFromCommandMode (CommandMode -> InsertMode)
-> (CommandMode -> CommandMode) -> CommandMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> CommandMode
deleteChar)
, Char -> Key
simpleChar Char
'S' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) s. Monad m => Command m s (ArgMode s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
noArg Command (ViT m) CommandMode (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) CommandMode InsertMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreI KillHelper
killAll
, Char -> Key
simpleChar Char
'C' Key
-> Command (ViT m) CommandMode InsertMode
-> KeyCommand (ViT m) CommandMode InsertMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) s. Monad m => Command m s (ArgMode s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
noArg Command (ViT m) CommandMode (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) CommandMode InsertMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreI ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToEnd)
]
simpleCmdActions :: InputKeyCmd CommandMode CommandMode
simpleCmdActions :: KeyCommand (ViT m) CommandMode CommandMode
simpleCmdActions = [KeyCommand (ViT m) CommandMode CommandMode]
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd [
Char -> Key
simpleChar Char
'\ESC' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> CommandMode)
-> Command (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change CommandMode -> CommandMode
forall a. a -> a
id
, Char -> Key
simpleChar Char
'r' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
InputCmd CommandMode CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
replaceOnce
, Char -> Key
simpleChar Char
'R' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
InputCmd CommandMode CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
replaceLoop
, Char -> Key
simpleChar Char
'D' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) s. Monad m => Command m s (ArgMode s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
noArg Command (ViT m) CommandMode (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreCmd ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToEnd)
, Char -> Key
ctrlChar Char
'l' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s. Command m s s
clearScreenCmd
, Char -> Key
simpleChar Char
'u' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s.
(MonadState Undo m, Save s) =>
Command m s s
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
commandUndo
, Char -> Key
ctrlChar Char
'r' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s.
(MonadState Undo m, Save s) =>
Command m s s
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
commandRedo
, Char -> Key
simpleChar Char
'j' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
historyForward Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (CommandMode -> CommandMode)
-> Command (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change CommandMode -> CommandMode
forall s. Move s => s -> s
External instance of the constraint type Move CommandMode
moveToStart
, Char -> Key
simpleChar Char
'k' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
historyBack Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (CommandMode -> CommandMode)
-> Command (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change CommandMode -> CommandMode
forall s. Move s => s -> s
External instance of the constraint type Move CommandMode
moveToStart
, BaseKey -> Key
simpleKey BaseKey
DownKey Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
historyForward Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (CommandMode -> CommandMode)
-> Command (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change CommandMode -> CommandMode
forall s. Move s => s -> s
External instance of the constraint type Move CommandMode
moveToStart
, BaseKey -> Key
simpleKey BaseKey
UpKey Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode CommandMode
forall s (m :: * -> *).
(Save s, MonadState HistLog m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
historyBack Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (CommandMode -> CommandMode)
-> Command (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change CommandMode -> CommandMode
forall s. Move s => s -> s
External instance of the constraint type Move CommandMode
moveToStart
, Char -> Key
simpleChar Char
'/' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Char -> Direction -> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *).
Monad m =>
Char -> Direction -> Command (ViT m) CommandMode CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
viEnterSearch Char
'/' Direction
Reverse
, Char -> Key
simpleChar Char
'?' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Char -> Direction -> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *).
Monad m =>
Char -> Direction -> Command (ViT m) CommandMode CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
viEnterSearch Char
'?' Direction
Forward
, Char -> Key
simpleChar Char
'n' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *).
Monad m =>
Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
viSearchHist Direction
Reverse []
, Char -> Key
simpleChar Char
'N' Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *).
Monad m =>
Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
viSearchHist Direction
Forward []
, BaseKey -> Key
simpleKey BaseKey
KillLine Key
-> Command (ViT m) CommandMode CommandMode
-> KeyCommand (ViT m) CommandMode CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) s. Monad m => Command m s (ArgMode s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
noArg Command (ViT m) CommandMode (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreCmd ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart)
]
replaceOnce :: InputCmd CommandMode CommandMode
replaceOnce :: Command (ViT m) CommandMode CommandMode
replaceOnce = KeyCommand (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s.
Monad m =>
KeyCommand m s s -> Command m s s
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
try (KeyCommand (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode)
-> KeyCommand (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall a b. (a -> b) -> a -> b
$ (Char -> CommandMode -> CommandMode)
-> KeyCommand (ViT m) CommandMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(Char -> s -> t) -> KeyCommand m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
changeFromChar Char -> CommandMode -> CommandMode
replaceChar
repeatedCommands :: InputKeyCmd CommandMode EitherMode
repeatedCommands :: KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
repeatedCommands = [KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)]
-> KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
forall a. [KeyMap a] -> KeyMap a
choiceCmd [KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
argumented, Command (ViT m) CommandMode (ArgMode CommandMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> KeyCommand m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
doBefore Command (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) s. Monad m => Command m s (ArgMode s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
noArg KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
InputKeyCmd (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableCommands]
where
start :: KeyCommand (ViT m) CommandMode (ArgMode CommandMode)
start = (Int -> CommandMode -> ArgMode CommandMode)
-> String -> KeyCommand (ViT m) CommandMode (ArgMode CommandMode)
forall (m :: * -> *) t s.
(Monad m, LineState t) =>
(Int -> s -> t) -> String -> KeyCommand m s t
External instance of the constraint type forall s. LineState s => LineState (ArgMode s)
External instance of the constraint type LineState CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
foreachDigit Int -> CommandMode -> ArgMode CommandMode
forall s. Int -> s -> ArgMode s
startArg [Char
'1'..Char
'9']
addDigit :: KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
addDigit = (Int -> ArgMode CommandMode -> ArgMode CommandMode)
-> String
-> KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall (m :: * -> *) t s.
(Monad m, LineState t) =>
(Int -> s -> t) -> String -> KeyCommand m s t
External instance of the constraint type forall s. LineState s => LineState (ArgMode s)
External instance of the constraint type LineState CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
foreachDigit Int -> ArgMode CommandMode -> ArgMode CommandMode
forall s. Int -> ArgMode s -> ArgMode s
addNum [Char
'0'..Char
'9']
argumented :: KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
argumented = KeyCommand (ViT m) CommandMode (ArgMode CommandMode)
start KeyCommand (ViT m) CommandMode (ArgMode CommandMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand (ViT m) CommandMode (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
loop
loop :: Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
loop = [KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)]
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
addDigit KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
loop
, KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
InputKeyCmd (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableCommands
, Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming ((ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState) KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (CommandMode -> Either CommandMode InsertMode)
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left
]
pureMovements :: InputKeyCmd (ArgMode CommandMode) CommandMode
pureMovements :: KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
pureMovements = [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd ([KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a b. (a -> b) -> a -> b
$ [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
charMovements [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
forall a. [a] -> [a] -> [a]
++ ((Key, InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> [(Key, InsertMode -> InsertMode)]
-> [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
forall a b. (a -> b) -> [a] -> [b]
map (Key, InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
(Key, InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
mkSimpleCommand [(Key, InsertMode -> InsertMode)]
movements
where
charMovements :: [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
charMovements = [ Char
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
Char
-> (Char -> InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
charMovement Char
'f' ((Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
overChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
Char
-> (Char -> InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
charMovement Char
'F' ((Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
overChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
Char
-> (Char -> InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
charMovement Char
't' ((Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
beforeChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
Char
-> (Char -> InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
charMovement Char
'T' ((Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode)
-> (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
afterChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
]
mkSimpleCommand :: (Key, InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
mkSimpleCommand (Key
k,InsertMode -> InsertMode
move) = Key
k Key
-> Command m (ArgMode CommandMode) CommandMode
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
forall a. Key -> a -> KeyMap a
+> (ArgMode CommandMode -> CommandMode)
-> Command m (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change ((InsertMode -> InsertMode) -> ArgMode CommandMode -> CommandMode
applyCmdArg InsertMode -> InsertMode
move)
charMovement :: Char
-> (Char -> InsertMode -> InsertMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
charMovement Char
c Char -> InsertMode -> InsertMode
move = Char -> Key
simpleChar Char
c Key
-> Command m (ArgMode CommandMode) CommandMode
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
forall a. Key -> a -> KeyMap a
+> [KeyMap (Command m (ArgMode CommandMode) CommandMode)]
-> Command m (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [
(Char -> Command m (ArgMode CommandMode) CommandMode)
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
forall (m :: * -> *) s t.
(Char -> Command m s t) -> KeyCommand m s t
useChar ((ArgMode CommandMode -> CommandMode)
-> Command m (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change ((ArgMode CommandMode -> CommandMode)
-> Command m (ArgMode CommandMode) CommandMode)
-> (Char -> ArgMode CommandMode -> CommandMode)
-> Char
-> Command m (ArgMode CommandMode) CommandMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (InsertMode -> InsertMode) -> ArgMode CommandMode -> CommandMode
applyCmdArg ((InsertMode -> InsertMode) -> ArgMode CommandMode -> CommandMode)
-> (Char -> InsertMode -> InsertMode)
-> Char
-> ArgMode CommandMode
-> CommandMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> InsertMode -> InsertMode
move)
, Command m (ArgMode CommandMode) CommandMode
-> KeyMap (Command m (ArgMode CommandMode) CommandMode)
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming ((ArgMode CommandMode -> CommandMode)
-> Command m (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState)
]
useMovementsForKill :: Command m s t -> (KillHelper -> Command m s t) -> KeyCommand m s t
useMovementsForKill :: Command m s t -> (KillHelper -> Command m s t) -> KeyCommand m s t
useMovementsForKill Command m s t
alternate KillHelper -> Command m s t
useHelper = [KeyCommand m s t] -> KeyCommand m s t
forall a. [KeyMap a] -> KeyMap a
choiceCmd ([KeyCommand m s t] -> KeyCommand m s t)
-> [KeyCommand m s t] -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$
[KeyCommand m s t]
specialCases
[KeyCommand m s t] -> [KeyCommand m s t] -> [KeyCommand m s t]
forall a. [a] -> [a] -> [a]
++ ((Key, InsertMode -> InsertMode) -> KeyCommand m s t)
-> [(Key, InsertMode -> InsertMode)] -> [KeyCommand m s t]
forall a b. (a -> b) -> [a] -> [b]
map (\(Key
k,InsertMode -> InsertMode
move) -> Key
k Key -> Command m s t -> KeyCommand m s t
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command m s t
useHelper ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
move)) [(Key, InsertMode -> InsertMode)]
movements
where
specialCases :: [KeyCommand m s t]
specialCases = [ Char -> Key
simpleChar Char
'e' Key -> Command m s t -> KeyCommand m s t
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command m s t
useHelper ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
goToWordDelEnd)
, Char -> Key
simpleChar Char
'E' Key -> Command m s t -> KeyCommand m s t
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command m s t
useHelper ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
goToBigWordDelEnd)
, Char -> Key
simpleChar Char
'%' Key -> Command m s t -> KeyCommand m s t
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command m s t
useHelper ((InsertMode -> ([Grapheme], InsertMode)) -> KillHelper
GenericKill InsertMode -> ([Grapheme], InsertMode)
deleteMatchingBrace)
, Char -> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
charMovement Char
'f' ((Char -> InsertMode -> InsertMode) -> KeyCommand m s t)
-> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
afterChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char -> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
charMovement Char
'F' ((Char -> InsertMode -> InsertMode) -> KeyCommand m s t)
-> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
overChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char -> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
charMovement Char
't' ((Char -> InsertMode -> InsertMode) -> KeyCommand m s t)
-> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
overChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
, Char -> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
charMovement Char
'T' ((Char -> InsertMode -> InsertMode) -> KeyCommand m s t)
-> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$ \Char
c -> (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
afterChar (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
c)
]
charMovement :: Char -> (Char -> InsertMode -> InsertMode) -> KeyCommand m s t
charMovement Char
c Char -> InsertMode -> InsertMode
move = Char -> Key
simpleChar Char
c Key -> Command m s t -> KeyCommand m s t
forall a. Key -> a -> KeyMap a
+> [KeyCommand m s t] -> Command m s t
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [
(Char -> Command m s t) -> KeyCommand m s t
forall (m :: * -> *) s t.
(Char -> Command m s t) -> KeyCommand m s t
useChar (KillHelper -> Command m s t
useHelper (KillHelper -> Command m s t)
-> (Char -> KillHelper) -> Char -> Command m s t
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (InsertMode -> InsertMode) -> KillHelper
SimpleMove ((InsertMode -> InsertMode) -> KillHelper)
-> (Char -> InsertMode -> InsertMode) -> Char -> KillHelper
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> InsertMode -> InsertMode
move)
, Command m s t -> KeyCommand m s t
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming Command m s t
alternate]
repeatableCommands :: InputKeyCmd (ArgMode CommandMode) EitherMode
repeatableCommands :: KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
repeatableCommands = [KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)]
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. [KeyMap a] -> KeyMap a
choiceCmd
[ KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
InputKeyCmd (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableCmdToIMode
, KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
InputKeyCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableCmdMode KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (CommandMode -> Either CommandMode InsertMode)
-> Command (ViT m) CommandMode (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left
, Char -> Key
simpleChar Char
'.' Key
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. Key -> a -> KeyMap a
+> Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall s (m :: * -> *).
(Save s, MonadState Undo m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. Save s => Save (ArgMode s)
External instance of the constraint type Save CommandMode
saveForUndo Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall {m :: * -> *}.
Monad m =>
ArgMode CommandMode -> CmdM (ViT m) (Either CommandMode InsertMode)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
runLastCommand
]
where
runLastCommand :: ArgMode CommandMode -> CmdM (ViT m) (Either CommandMode InsertMode)
runLastCommand ArgMode CommandMode
s = (ViState m
-> ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> CmdM (ViT m) (ViState m)
-> CmdM
(ViT m)
(ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
liftM ViState m
-> ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *). ViState m -> SavedCommand m
lastCommand CmdM (ViT m) (ViState m)
forall s (m :: * -> *). MonadState s m => m s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type MonadTrans CmdM
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
get CmdM
(ViT m)
(ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> ((ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>>= ((ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> ArgMode CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall a b. (a -> b) -> a -> b
$ ArgMode CommandMode
s)
repeatableCmdMode :: InputKeyCmd (ArgMode CommandMode) CommandMode
repeatableCmdMode :: KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
repeatableCmdMode = [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd
[ Char -> Key
simpleChar Char
'x' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
(CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableChange CommandMode -> CommandMode
deleteChar
, Char -> Key
simpleChar Char
'X' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
(CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableChange ((InsertMode -> InsertMode) -> CommandMode -> CommandMode
withCommandMode InsertMode -> InsertMode
deletePrev)
, Char -> Key
simpleChar Char
'~' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> (CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall {m :: * -> *}.
Monad m =>
(CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
repeatableChange (CommandMode -> CommandMode
forall s. Move s => s -> s
External instance of the constraint type Move CommandMode
goRight (CommandMode -> CommandMode)
-> (CommandMode -> CommandMode) -> CommandMode -> CommandMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> CommandMode
flipCase)
, Char -> Key
simpleChar Char
'p' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedCmdAction (([Grapheme] -> CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall s (m :: * -> *).
(Save s, MonadState KillRing m, MonadState Undo m) =>
([Grapheme] -> s -> s) -> Command m (ArgMode s) s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
pasteCommand [Grapheme] -> CommandMode -> CommandMode
pasteGraphemesAfter)
, Char -> Key
simpleChar Char
'P' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedCmdAction (([Grapheme] -> CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall s (m :: * -> *).
(Save s, MonadState KillRing m, MonadState Undo m) =>
([Grapheme] -> s -> s) -> Command m (ArgMode s) s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
pasteCommand [Grapheme] -> CommandMode -> CommandMode
pasteGraphemesBefore)
, Char -> Key
simpleChar Char
'd' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) (ArgMode CommandMode) CommandMode
InputCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
deletionCmd
, Char -> Key
simpleChar Char
'y' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> Command (ViT m) (ArgMode CommandMode) CommandMode
InputCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
yankCommand
, Char -> Key
ctrlChar Char
'w' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreCmd KillHelper
wordErase
, KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
InputKeyCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
pureMovements
]
where
repeatableChange :: (CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
repeatableChange CommandMode -> CommandMode
f = Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type Monad m
storedCmdAction (Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall s (m :: * -> *).
(Save s, MonadState Undo m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. Save s => Save (ArgMode s)
External instance of the constraint type Save CommandMode
saveForUndo Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> (ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change ((CommandMode -> CommandMode) -> ArgMode CommandMode -> CommandMode
forall s. (s -> s) -> ArgMode s -> s
applyArg CommandMode -> CommandMode
f))
flipCase :: CommandMode -> CommandMode
flipCase :: CommandMode -> CommandMode
flipCase CommandMode
CEmpty = CommandMode
CEmpty
flipCase (CMode [Grapheme]
xs Grapheme
y [Grapheme]
zs) = [Grapheme] -> Grapheme -> [Grapheme] -> CommandMode
CMode [Grapheme]
xs ((Char -> Char) -> Grapheme -> Grapheme
modifyBaseChar Char -> Char
flipCaseG Grapheme
y) [Grapheme]
zs
where
flipCaseG :: Char -> Char
flipCaseG Char
c | Char -> Bool
isLower Char
c = Char -> Char
toUpper Char
c
| Bool
otherwise = Char -> Char
toLower Char
c
repeatableCmdToIMode :: InputKeyCmd (ArgMode CommandMode) EitherMode
repeatableCmdToIMode :: KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
repeatableCmdToIMode = Char -> Key
simpleChar Char
'c' Key
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. Key -> a -> KeyMap a
+> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
InputCmd (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
deletionToInsertCmd
deletionCmd :: InputCmd (ArgMode CommandMode) CommandMode
deletionCmd :: Command (ViT m) (ArgMode CommandMode) CommandMode
deletionCmd = [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd
[ KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall s. LineState s => InputKeyCmd (ArgMode s) (ArgMode s)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
reinputArg KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) (ArgMode CommandMode) CommandMode
InputCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
deletionCmd
, Char -> Key
simpleChar Char
'd' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreCmd KillHelper
killAll
, Command (ViT m) (ArgMode CommandMode) CommandMode
-> (KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t.
Command m s t -> (KillHelper -> Command m s t) -> KeyCommand m s t
useMovementsForKill ((ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState) KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
MonadIO m =>
KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreCmd
, Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming ((ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState)
]
deletionToInsertCmd :: InputCmd (ArgMode CommandMode) EitherMode
deletionToInsertCmd :: Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
deletionToInsertCmd = [KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)]
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd
[ KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall s. LineState s => InputKeyCmd (ArgMode s) (ArgMode s)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
reinputArg KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
InputCmd (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
deletionToInsertCmd
, Char -> Key
simpleChar Char
'c' Key
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. Key -> a -> KeyMap a
+> KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *).
MonadIO m =>
KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreIE KillHelper
killAll
, Char -> Key
simpleChar Char
'w' Key
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. Key -> a -> KeyMap a
+> KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *).
MonadIO m =>
KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreIE ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
goToWordDelEnd)
, Char -> Key
simpleChar Char
'W' Key
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall a. Key -> a -> KeyMap a
+> KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *).
MonadIO m =>
KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreIE ((InsertMode -> InsertMode) -> KillHelper
SimpleMove InsertMode -> InsertMode
goToBigWordDelEnd)
, Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> (KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode))
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t.
Command m s t -> (KillHelper -> Command m s t) -> KeyCommand m s t
useMovementsForKill ((CommandMode -> Either CommandMode InsertMode)
-> CmdM (ViT m) CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
liftM CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left (CmdM (ViT m) CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (ArgMode CommandMode -> CmdM (ViT m) CommandMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ArgMode CommandMode -> CommandMode)
-> ArgMode CommandMode -> CmdM (ViT m) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState) KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *).
MonadIO m =>
KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
Evidence bound by a type signature of the constraint type MonadIO m
killAndStoreIE
, Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> KeyCommand
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (ArgMode CommandMode -> Either CommandMode InsertMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left (CommandMode -> Either CommandMode InsertMode)
-> (ArgMode CommandMode -> CommandMode)
-> ArgMode CommandMode
-> Either CommandMode InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState)
]
yankCommand :: InputCmd (ArgMode CommandMode) CommandMode
yankCommand :: Command (ViT m) (ArgMode CommandMode) CommandMode
yankCommand = [KeyCommand (ViT m) (ArgMode CommandMode) CommandMode]
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd
[ KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall s. LineState s => InputKeyCmd (ArgMode s) (ArgMode s)
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
reinputArg KeyCommand (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) (ArgMode CommandMode) CommandMode
InputCmd (ArgMode CommandMode) CommandMode
Evidence bound by a type signature of the constraint type MonadMask m
Evidence bound by a type signature of the constraint type MonadIO m
yankCommand
, Char -> Key
simpleChar Char
'y' Key
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall a. Key -> a -> KeyMap a
+> KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
copyAndStore KillHelper
killAll
, Command (ViT m) (ArgMode CommandMode) CommandMode
-> (KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t.
Command m s t -> (KillHelper -> Command m s t) -> KeyCommand m s t
useMovementsForKill ((ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState) KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
copyAndStore
, Command (ViT m) (ArgMode CommandMode) CommandMode
-> KeyCommand (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming ((ArgMode CommandMode -> CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change ArgMode CommandMode -> CommandMode
forall s. ArgMode s -> s
argState)
]
where
copyAndStore :: KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
copyAndStore = Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedCmdAction (Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> (KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s.
(MonadState KillRing m, Save s) =>
KillHelper -> Command m (ArgMode s) s
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
copyFromArgHelper
reinputArg :: LineState s => InputKeyCmd (ArgMode s) (ArgMode s)
reinputArg :: InputKeyCmd (ArgMode s) (ArgMode s)
reinputArg = (Int -> ArgMode s -> ArgMode s)
-> String -> KeyCommand (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) t s.
(Monad m, LineState t) =>
(Int -> s -> t) -> String -> KeyCommand m s t
External instance of the constraint type forall s. LineState s => LineState (ArgMode s)
Evidence bound by a type signature of the constraint type LineState s
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a HsWrapper of the constraint type MonadIO m
foreachDigit Int -> ArgMode s -> ArgMode s
forall s. Int -> ArgMode s -> ArgMode s
restartArg [Char
'1'..Char
'9'] KeyCommand (ViT m) (ArgMode s) (ArgMode s)
-> Command (ViT m) (ArgMode s) (ArgMode s)
-> KeyCommand (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a HsWrapper of the constraint type MonadIO m
>+> Command (ViT m) (ArgMode s) (ArgMode s)
loop
where
restartArg :: Int -> ArgMode s -> ArgMode s
restartArg Int
n = Int -> s -> ArgMode s
forall s. Int -> s -> ArgMode s
startArg Int
n (s -> ArgMode s) -> (ArgMode s -> s) -> ArgMode s -> ArgMode s
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArgMode s -> s
forall s. ArgMode s -> s
argState
loop :: Command (ViT m) (ArgMode s) (ArgMode s)
loop = [KeyCommand (ViT m) (ArgMode s) (ArgMode s)]
-> Command (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd
[ (Int -> ArgMode s -> ArgMode s)
-> String -> KeyCommand (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) t s.
(Monad m, LineState t) =>
(Int -> s -> t) -> String -> KeyCommand m s t
External instance of the constraint type forall s. LineState s => LineState (ArgMode s)
Evidence bound by a type signature of the constraint type LineState s
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a HsWrapper of the constraint type MonadIO m
foreachDigit Int -> ArgMode s -> ArgMode s
forall s. Int -> ArgMode s -> ArgMode s
addNum [Char
'0'..Char
'9'] KeyCommand (ViT m) (ArgMode s) (ArgMode s)
-> Command (ViT m) (ArgMode s) (ArgMode s)
-> KeyCommand (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a HsWrapper of the constraint type MonadIO m
>+> Command (ViT m) (ArgMode s) (ArgMode s)
loop
, Command (ViT m) (ArgMode s) (ArgMode s)
-> KeyCommand (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming Command (ViT m) (ArgMode s) (ArgMode s)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a HsWrapper of the constraint type MonadIO m
return
]
goToWordDelEnd, goToBigWordDelEnd :: InsertMode -> InsertMode
goToWordDelEnd :: InsertMode -> InsertMode
goToWordDelEnd = (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
atStart (Bool -> Bool
not (Bool -> Bool) -> (Char -> Bool) -> Char -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Bool
isWordChar)
(InsertMode -> Bool) -> (InsertMode -> Bool) -> InsertMode -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. (Char -> Bool) -> InsertMode -> Bool
atStart (Bool -> Bool
not (Bool -> Bool) -> (Char -> Bool) -> Char -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Bool
isOtherChar)
goToBigWordDelEnd :: InsertMode -> InsertMode
goToBigWordDelEnd = (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
atStart (Bool -> Bool
not (Bool -> Bool) -> (Char -> Bool) -> Char -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Bool
isBigWordChar)
movements :: [(Key,InsertMode -> InsertMode)]
movements :: [(Key, InsertMode -> InsertMode)]
movements = [ (Char -> Key
simpleChar Char
'h', InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goLeft)
, (Char -> Key
simpleChar Char
'l', InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight)
, (Char -> Key
simpleChar Char
' ', InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight)
, (BaseKey -> Key
simpleKey BaseKey
LeftKey, InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goLeft)
, (BaseKey -> Key
simpleKey BaseKey
RightKey, InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight)
, (Char -> Key
simpleChar Char
'0', InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart)
, (Char -> Key
simpleChar Char
'$', InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToEnd)
, (Char -> Key
simpleChar Char
'^', (Char -> Bool) -> InsertMode -> InsertMode
skipRight Char -> Bool
isSpace (InsertMode -> InsertMode)
-> (InsertMode -> InsertMode) -> InsertMode -> InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
moveToStart)
, (Char -> Key
simpleChar Char
'%', InsertMode -> InsertMode
findMatchingBrace)
, (Char -> Key
simpleChar Char
'w', (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$
(Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isWordChar (InsertMode -> Bool) -> (InsertMode -> Bool) -> InsertMode -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. (Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isOtherChar)
, (Char -> Key
simpleChar Char
'W', (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isBigWordChar))
, (Char -> Key
simpleChar Char
'b', (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$
(Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isWordChar (InsertMode -> Bool) -> (InsertMode -> Bool) -> InsertMode -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. (Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isOtherChar)
, (Char -> Key
simpleChar Char
'B', (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isBigWordChar))
, (Char -> Key
simpleChar Char
'e', (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$
(Char -> Bool) -> InsertMode -> Bool
atEnd Char -> Bool
isWordChar (InsertMode -> Bool) -> (InsertMode -> Bool) -> InsertMode -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. (Char -> Bool) -> InsertMode -> Bool
atEnd Char -> Bool
isOtherChar)
, (Char -> Key
simpleChar Char
'E', (InsertMode -> Bool) -> InsertMode -> InsertMode
goRightUntil ((Char -> Bool) -> InsertMode -> Bool
atEnd Char -> Bool
isBigWordChar))
]
isBigWordChar, isWordChar, isOtherChar :: Char -> Bool
isBigWordChar :: Char -> Bool
isBigWordChar = Bool -> Bool
not (Bool -> Bool) -> (Char -> Bool) -> Char -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Bool
isSpace
isWordChar :: Char -> Bool
isWordChar = Char -> Bool
isAlphaNum (Char -> Bool) -> (Char -> Bool) -> Char -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
==Char
'_')
isOtherChar :: Char -> Bool
isOtherChar = Bool -> Bool
not (Bool -> Bool) -> (Char -> Bool) -> Char -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Char -> Bool
isSpace (Char -> Bool) -> (Char -> Bool) -> Char -> Bool
forall a. (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. Char -> Bool
isWordChar)
(.||.) :: (a -> Bool) -> (a -> Bool) -> a -> Bool
(a -> Bool
f .||. :: (a -> Bool) -> (a -> Bool) -> a -> Bool
.||. a -> Bool
g) a
x = a -> Bool
f a
x Bool -> Bool -> Bool
|| a -> Bool
g a
x
foreachDigit :: (Monad m, LineState t) => (Int -> s -> t) -> [Char]
-> KeyCommand m s t
foreachDigit :: (Int -> s -> t) -> String -> KeyCommand m s t
foreachDigit Int -> s -> t
f String
ds = [KeyCommand m s t] -> KeyCommand m s t
forall a. [KeyMap a] -> KeyMap a
choiceCmd ([KeyCommand m s t] -> KeyCommand m s t)
-> [KeyCommand m s t] -> KeyCommand m s t
forall a b. (a -> b) -> a -> b
$ (Char -> KeyCommand m s t) -> String -> [KeyCommand m s t]
forall a b. (a -> b) -> [a] -> [b]
map Char -> KeyCommand m s t
forall {m :: * -> *}. Monad m => Char -> KeyMap (Command m s t)
Evidence bound by a type signature of the constraint type Monad m
digitCmd String
ds
where digitCmd :: Char -> KeyMap (Command m s t)
digitCmd Char
d = Char -> Key
simpleChar Char
d Key -> Command m s t -> KeyMap (Command m s t)
forall a. Key -> a -> KeyMap a
+> (s -> t) -> Command m s t
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
Evidence bound by a type signature of the constraint type Monad m
Evidence bound by a type signature of the constraint type LineState t
change (Int -> s -> t
f (Char -> Int
forall {a}. Enum a => a -> Int
External instance of the constraint type Enum Char
toDigit Char
d))
toDigit :: a -> Int
toDigit a
d = a -> Int
forall {a}. Enum a => a -> Int
Evidence bound by a type signature of the constraint type Enum a
fromEnum a
d Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
- Char -> Int
forall {a}. Enum a => a -> Int
External instance of the constraint type Enum Char
fromEnum Char
'0'
wordErase :: KillHelper
wordErase :: KillHelper
wordErase = (InsertMode -> InsertMode) -> KillHelper
SimpleMove ((InsertMode -> InsertMode) -> KillHelper)
-> (InsertMode -> InsertMode) -> KillHelper
forall a b. (a -> b) -> a -> b
$ (InsertMode -> Bool) -> InsertMode -> InsertMode
goLeftUntil ((InsertMode -> Bool) -> InsertMode -> InsertMode)
-> (InsertMode -> Bool) -> InsertMode -> InsertMode
forall a b. (a -> b) -> a -> b
$ (Char -> Bool) -> InsertMode -> Bool
atStart Char -> Bool
isBigWordChar
findMatchingBrace :: InsertMode -> InsertMode
findMatchingBrace :: InsertMode -> InsertMode
findMatchingBrace (IMode [Grapheme]
xs (Grapheme
y:[Grapheme]
ys))
| Just Char
b <- Char -> Maybe Char
matchingRightBrace Char
yc,
Just ((Grapheme
b':[Grapheme]
bs),[Grapheme]
ys') <- Char -> Char -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces Char
yc Char
b [Grapheme]
ys = [Grapheme] -> [Grapheme] -> InsertMode
IMode ([Grapheme]
bs[Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++[Grapheme
y][Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++[Grapheme]
xs) (Grapheme
b'Grapheme -> [Grapheme] -> [Grapheme]
forall a. a -> [a] -> [a]
:[Grapheme]
ys')
| Just Char
b <- Char -> Maybe Char
matchingLeftBrace Char
yc,
Just ([Grapheme]
bs,[Grapheme]
xs') <- Char -> Char -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces Char
yc Char
b [Grapheme]
xs = [Grapheme] -> [Grapheme] -> InsertMode
IMode [Grapheme]
xs' ([Grapheme]
bs [Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++ [Grapheme
y][Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++[Grapheme]
ys)
where yc :: Char
yc = Grapheme -> Char
baseChar Grapheme
y
findMatchingBrace InsertMode
im = InsertMode
im
deleteMatchingBrace :: InsertMode -> ([Grapheme],InsertMode)
deleteMatchingBrace :: InsertMode -> ([Grapheme], InsertMode)
deleteMatchingBrace (IMode [Grapheme]
xs (Grapheme
y:[Grapheme]
ys))
| Just Char
b <- Char -> Maybe Char
matchingRightBrace Char
yc,
Just ([Grapheme]
bs,[Grapheme]
ys') <- Char -> Char -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces Char
yc Char
b [Grapheme]
ys = (Grapheme
y Grapheme -> [Grapheme] -> [Grapheme]
forall a. a -> [a] -> [a]
: [Grapheme] -> [Grapheme]
forall a. [a] -> [a]
reverse [Grapheme]
bs, [Grapheme] -> [Grapheme] -> InsertMode
IMode [Grapheme]
xs [Grapheme]
ys')
| Just Char
b <- Char -> Maybe Char
matchingLeftBrace Char
yc,
Just ([Grapheme]
bs,[Grapheme]
xs') <- Char -> Char -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces Char
yc Char
b [Grapheme]
xs = ([Grapheme]
bs [Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++ [Grapheme
y], [Grapheme] -> [Grapheme] -> InsertMode
IMode [Grapheme]
xs' [Grapheme]
ys)
where yc :: Char
yc = Grapheme -> Char
baseChar Grapheme
y
deleteMatchingBrace InsertMode
im = ([],InsertMode
im)
scanBraces :: Char -> Char -> [Grapheme] -> Maybe ([Grapheme],[Grapheme])
scanBraces :: Char -> Char -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces Char
c Char
d = Int -> [Grapheme] -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
forall {t}.
(Eq t, Num t) =>
t -> [Grapheme] -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
External instance of the constraint type Num Int
External instance of the constraint type Eq Int
scanBraces' (Int
1::Int) []
where
scanBraces' :: t -> [Grapheme] -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces' t
0 [Grapheme]
bs [Grapheme]
xs = ([Grapheme], [Grapheme]) -> Maybe ([Grapheme], [Grapheme])
forall a. a -> Maybe a
Just ([Grapheme]
bs,[Grapheme]
xs)
scanBraces' t
_ [Grapheme]
_ [] = Maybe ([Grapheme], [Grapheme])
forall a. Maybe a
Nothing
scanBraces' t
n [Grapheme]
bs (Grapheme
x:[Grapheme]
xs) = t -> [Grapheme] -> [Grapheme] -> Maybe ([Grapheme], [Grapheme])
scanBraces' t
m (Grapheme
xGrapheme -> [Grapheme] -> [Grapheme]
forall a. a -> [a] -> [a]
:[Grapheme]
bs) [Grapheme]
xs
where m :: t
m | Grapheme -> Char
baseChar Grapheme
x Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
== Char
c = t
nt -> t -> t
forall a. Num a => a -> a -> a
Evidence bound by a type signature of the constraint type Num t
+t
1
| Grapheme -> Char
baseChar Grapheme
x Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
External instance of the constraint type Eq Char
== Char
d = t
nt -> t -> t
forall a. Num a => a -> a -> a
Evidence bound by a type signature of the constraint type Num t
-t
1
| Bool
otherwise = t
n
matchingRightBrace, matchingLeftBrace :: Char -> Maybe Char
matchingRightBrace :: Char -> Maybe Char
matchingRightBrace = (Char -> [(Char, Char)] -> Maybe Char)
-> [(Char, Char)] -> Char -> Maybe Char
forall a b c. (a -> b -> c) -> b -> a -> c
flip Char -> [(Char, Char)] -> Maybe Char
forall a b. Eq a => a -> [(a, b)] -> Maybe b
External instance of the constraint type Eq Char
lookup [(Char, Char)]
braceList
matchingLeftBrace :: Char -> Maybe Char
matchingLeftBrace = (Char -> [(Char, Char)] -> Maybe Char)
-> [(Char, Char)] -> Char -> Maybe Char
forall a b c. (a -> b -> c) -> b -> a -> c
flip Char -> [(Char, Char)] -> Maybe Char
forall a b. Eq a => a -> [(a, b)] -> Maybe b
External instance of the constraint type Eq Char
lookup (((Char, Char) -> (Char, Char)) -> [(Char, Char)] -> [(Char, Char)]
forall a b. (a -> b) -> [a] -> [b]
map (\(Char
c,Char
d) -> (Char
d,Char
c)) [(Char, Char)]
braceList)
braceList :: [(Char,Char)]
braceList :: [(Char, Char)]
braceList = [(Char
'(',Char
')'), (Char
'[',Char
']'), (Char
'{',Char
'}')]
replaceLoop :: InputCmd CommandMode CommandMode
replaceLoop :: Command (ViT m) CommandMode CommandMode
replaceLoop = Command (ViT m) CommandMode CommandMode
forall s (m :: * -> *).
(Save s, MonadState Undo m) =>
Command m s s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type Save CommandMode
saveForUndo Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (CommandMode -> InsertMode)
-> Command (ViT m) CommandMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change CommandMode -> InsertMode
insertFromCommandMode Command (ViT m) CommandMode InsertMode
-> Command (ViT m) InsertMode CommandMode
-> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> Command (ViT m) InsertMode InsertMode
loop
Command (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode CommandMode
-> Command (ViT m) InsertMode CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> (InsertMode -> CommandMode)
-> Command (ViT m) InsertMode CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState CommandMode
change InsertMode -> CommandMode
enterCommandModeRight
where
loop :: Command (ViT m) InsertMode InsertMode
loop = KeyCommand (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode InsertMode
forall (m :: * -> *) s.
Monad m =>
KeyCommand m s s -> Command m s s
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
try (KeyCommand (ViT m) InsertMode InsertMode
oneReplaceCmd KeyCommand (ViT m) InsertMode InsertMode
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>+> Command (ViT m) InsertMode InsertMode
loop)
oneReplaceCmd :: KeyCommand (ViT m) InsertMode InsertMode
oneReplaceCmd = [KeyCommand (ViT m) InsertMode InsertMode]
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. [KeyMap a] -> KeyMap a
choiceCmd [
BaseKey -> Key
simpleKey BaseKey
LeftKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goLeft
, BaseKey -> Key
simpleKey BaseKey
RightKey Key
-> Command (ViT m) InsertMode InsertMode
-> KeyCommand (ViT m) InsertMode InsertMode
forall a. Key -> a -> KeyMap a
+> (InsertMode -> InsertMode) -> Command (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
change InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight
, (Char -> InsertMode -> InsertMode)
-> KeyCommand (ViT m) InsertMode InsertMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(Char -> s -> t) -> KeyCommand m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type LineState InsertMode
changeFromChar Char -> InsertMode -> InsertMode
replaceCharIM
]
storeLastCmd :: Monad m => SavedCommand m -> Command (ViT m) s s
storeLastCmd :: SavedCommand m -> Command (ViT m) s s
storeLastCmd SavedCommand m
act = \s
s -> do
(ViState m -> ViState m) -> CmdM (ViT m) ()
forall s (m :: * -> *). MonadState s m => (s -> s) -> m ()
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type MonadTrans CmdM
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
modify ((ViState m -> ViState m) -> CmdM (ViT m) ())
-> (ViState m -> ViState m) -> CmdM (ViT m) ()
forall a b. (a -> b) -> a -> b
$ \ViState m
vs -> ViState m
vs {lastCommand :: SavedCommand m
lastCommand = SavedCommand m
act}
Command (ViT m) s s
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
return s
s
storedAction :: Monad m => SavedCommand m -> SavedCommand m
storedAction :: SavedCommand m -> SavedCommand m
storedAction SavedCommand m
act = SavedCommand m
-> Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall (m :: * -> *) s.
Monad m =>
SavedCommand m -> Command (ViT m) s s
Evidence bound by a type signature of the constraint type Monad m
storeLastCmd SavedCommand m
act Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> SavedCommand m -> SavedCommand m
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> SavedCommand m
act
storedCmdAction :: Monad m => Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
storedCmdAction :: Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
storedCmdAction Command (ViT m) (ArgMode CommandMode) CommandMode
act = SavedCommand m
-> Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall (m :: * -> *) s.
Monad m =>
SavedCommand m -> Command (ViT m) s s
Evidence bound by a type signature of the constraint type Monad m
storeLastCmd ((CommandMode -> Either CommandMode InsertMode)
-> CmdM (ViT m) CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
liftM CommandMode -> Either CommandMode InsertMode
forall a b. a -> Either a b
Left (CmdM (ViT m) CommandMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> SavedCommand m
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Command (ViT m) (ArgMode CommandMode) CommandMode
act) Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> Command (ViT m) (ArgMode CommandMode) CommandMode
act
storedIAction :: Monad m => Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode
storedIAction :: Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode
storedIAction Command (ViT m) (ArgMode CommandMode) InsertMode
act = SavedCommand m
-> Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
forall (m :: * -> *) s.
Monad m =>
SavedCommand m -> Command (ViT m) s s
Evidence bound by a type signature of the constraint type Monad m
storeLastCmd ((InsertMode -> Either CommandMode InsertMode)
-> CmdM (ViT m) InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
liftM InsertMode -> Either CommandMode InsertMode
forall a b. b -> Either a b
Right (CmdM (ViT m) InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> Command (ViT m) (ArgMode CommandMode) InsertMode
-> SavedCommand m
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Command (ViT m) (ArgMode CommandMode) InsertMode
act) Command (ViT m) (ArgMode CommandMode) (ArgMode CommandMode)
-> Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>|> Command (ViT m) (ArgMode CommandMode) InsertMode
act
killAndStoreCmd :: MonadIO m => KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
killAndStoreCmd :: KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
killAndStoreCmd = Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedCmdAction (Command (ViT m) (ArgMode CommandMode) CommandMode
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> (KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode)
-> KillHelper
-> Command (ViT m) (ArgMode CommandMode) CommandMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. KillHelper -> Command (ViT m) (ArgMode CommandMode) CommandMode
forall (m :: * -> *) s t.
(MonadState KillRing m, MonadState Undo m, Save s, Save t) =>
KillHelper -> Command m (ArgMode s) t
External instance of the constraint type Save CommandMode
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
killFromArgHelper
killAndStoreI :: MonadIO m => KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
killAndStoreI :: KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
killAndStoreI = Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *).
Monad m =>
Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedIAction (Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) (ArgMode CommandMode) InsertMode)
-> (KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode)
-> KillHelper
-> Command (ViT m) (ArgMode CommandMode) InsertMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *) s t.
(MonadState KillRing m, MonadState Undo m, Save s, Save t) =>
KillHelper -> Command m (ArgMode s) t
External instance of the constraint type Save InsertMode
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
killFromArgHelper
killAndStoreIE :: MonadIO m => KillHelper -> Command (ViT m) (ArgMode CommandMode) EitherMode
killAndStoreIE :: KillHelper
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
killAndStoreIE KillHelper
helper = Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *). Monad m => SavedCommand m -> SavedCommand m
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
storedAction (KillHelper -> Command (ViT m) (ArgMode CommandMode) InsertMode
forall (m :: * -> *) s t.
(MonadState KillRing m, MonadState Undo m, Save s, Save t) =>
KillHelper -> Command m (ArgMode s) t
External instance of the constraint type Save InsertMode
External instance of the constraint type Save CommandMode
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s.
MonadIO m =>
MonadState s (ReaderT (IORef s) m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. MonadIO m => MonadIO (ReaderT r m)
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
killFromArgHelper KillHelper
helper Command (ViT m) (ArgMode CommandMode) InsertMode
-> Command (ViT m) InsertMode (Either CommandMode InsertMode)
-> Command
(ViT m) (ArgMode CommandMode) (Either CommandMode InsertMode)
forall (m :: * -> *) s t u.
Monad m =>
Command m s t -> Command m t u -> Command m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
>|> Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *). MonadIO m => Monad m
Evidence bound by a type signature of the constraint type MonadIO m
return (Either CommandMode InsertMode
-> CmdM (ViT m) (Either CommandMode InsertMode))
-> (InsertMode -> Either CommandMode InsertMode)
-> Command (ViT m) InsertMode (Either CommandMode InsertMode)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. InsertMode -> Either CommandMode InsertMode
forall a b. b -> Either a b
Right)
noArg :: Monad m => Command m s (ArgMode s)
noArg :: Command m s (ArgMode s)
noArg = ArgMode s -> CmdM m (ArgMode s)
forall (m :: * -> *) a. Monad m => a -> m a
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
Evidence bound by a type signature of the constraint type Monad m
return (ArgMode s -> CmdM m (ArgMode s))
-> (s -> ArgMode s) -> Command m s (ArgMode s)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> s -> ArgMode s
forall s. Int -> s -> ArgMode s
startArg Int
1
data SearchEntry = SearchEntry {
SearchEntry -> InsertMode
entryState :: InsertMode,
SearchEntry -> Char
searchChar :: Char
}
searchText :: SearchEntry -> [Grapheme]
searchText :: SearchEntry -> [Grapheme]
searchText SearchEntry {entryState :: SearchEntry -> InsertMode
entryState = IMode [Grapheme]
xs [Grapheme]
ys} = [Grapheme] -> [Grapheme]
forall a. [a] -> [a]
reverse [Grapheme]
xs [Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++ [Grapheme]
ys
instance LineState SearchEntry where
beforeCursor :: [Grapheme] -> SearchEntry -> [Grapheme]
beforeCursor [Grapheme]
prefix SearchEntry
se = [Grapheme] -> InsertMode -> [Grapheme]
forall s. LineState s => [Grapheme] -> s -> [Grapheme]
External instance of the constraint type LineState InsertMode
beforeCursor ([Grapheme]
prefix [Grapheme] -> [Grapheme] -> [Grapheme]
forall a. [a] -> [a] -> [a]
++ String -> [Grapheme]
stringToGraphemes [SearchEntry -> Char
searchChar SearchEntry
se])
(SearchEntry -> InsertMode
entryState SearchEntry
se)
afterCursor :: SearchEntry -> [Grapheme]
afterCursor = InsertMode -> [Grapheme]
forall s. LineState s => s -> [Grapheme]
External instance of the constraint type LineState InsertMode
afterCursor (InsertMode -> [Grapheme])
-> (SearchEntry -> InsertMode) -> SearchEntry -> [Grapheme]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SearchEntry -> InsertMode
entryState
viEnterSearch :: Monad m => Char -> Direction
-> Command (ViT m) CommandMode CommandMode
viEnterSearch :: Char -> Direction -> Command (ViT m) CommandMode CommandMode
viEnterSearch Char
c Direction
dir CommandMode
s = Command (ViT m) SearchEntry SearchEntry
forall (m :: * -> *) s. (Monad m, LineState s) => Command m s s
Instance of class: LineState of the constraint type LineState SearchEntry
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
setState (InsertMode -> Char -> SearchEntry
SearchEntry InsertMode
emptyIM Char
c) CmdM (ViT m) SearchEntry
-> (SearchEntry -> CmdM (ViT m) CommandMode)
-> CmdM (ViT m) CommandMode
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>>= SearchEntry -> CmdM (ViT m) CommandMode
loopEntry
where
modifySE :: (InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE InsertMode -> InsertMode
f SearchEntry
se = SearchEntry
se {entryState :: InsertMode
entryState = InsertMode -> InsertMode
f (SearchEntry -> InsertMode
entryState SearchEntry
se)}
loopEntry :: SearchEntry -> CmdM (ViT m) CommandMode
loopEntry = [KeyCommand (ViT m) SearchEntry CommandMode]
-> SearchEntry -> CmdM (ViT m) CommandMode
forall (m :: * -> *) s t. [KeyCommand m s t] -> Command m s t
keyChoiceCmd [
KeyMap (Command (ViT m) SearchEntry SearchEntry)
editEntry KeyMap (Command (ViT m) SearchEntry SearchEntry)
-> (SearchEntry -> CmdM (ViT m) CommandMode)
-> KeyCommand (ViT m) SearchEntry CommandMode
forall (m :: * -> *) s t u.
Monad m =>
KeyCommand m s t -> Command m t u -> KeyCommand m s u
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>+> SearchEntry -> CmdM (ViT m) CommandMode
loopEntry
, Char -> Key
simpleChar Char
'\n' Key
-> (SearchEntry -> CmdM (ViT m) CommandMode)
-> KeyCommand (ViT m) SearchEntry CommandMode
forall a. Key -> a -> KeyMap a
+> \SearchEntry
se ->
Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *).
Monad m =>
Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
Evidence bound by a type signature of the constraint type Monad m
viSearchHist Direction
dir (SearchEntry -> [Grapheme]
searchText SearchEntry
se) CommandMode
s
, (SearchEntry -> CmdM (ViT m) CommandMode)
-> KeyCommand (ViT m) SearchEntry CommandMode
forall (m :: * -> *) s t. Command m s t -> KeyCommand m s t
withoutConsuming ((SearchEntry -> CommandMode)
-> SearchEntry -> CmdM (ViT m) CommandMode
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type LineState CommandMode
change (CommandMode -> SearchEntry -> CommandMode
forall a b. a -> b -> a
const CommandMode
s))
]
editEntry :: KeyMap (Command (ViT m) SearchEntry SearchEntry)
editEntry = [KeyMap (Command (ViT m) SearchEntry SearchEntry)]
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall a. [KeyMap a] -> KeyMap a
choiceCmd [
(Char -> Command (ViT m) SearchEntry SearchEntry)
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall (m :: * -> *) s t.
(Char -> Command m s t) -> KeyCommand m s t
useChar ((SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
Instance of class: LineState of the constraint type LineState SearchEntry
change ((SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry)
-> (Char -> SearchEntry -> SearchEntry)
-> Char
-> Command (ViT m) SearchEntry SearchEntry
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE ((InsertMode -> InsertMode) -> SearchEntry -> SearchEntry)
-> (Char -> InsertMode -> InsertMode)
-> Char
-> SearchEntry
-> SearchEntry
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> InsertMode -> InsertMode
insertChar)
, BaseKey -> Key
simpleKey BaseKey
LeftKey Key
-> Command (ViT m) SearchEntry SearchEntry
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall a. Key -> a -> KeyMap a
+> (SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
Instance of class: LineState of the constraint type LineState SearchEntry
change ((InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goLeft)
, BaseKey -> Key
simpleKey BaseKey
RightKey Key
-> Command (ViT m) SearchEntry SearchEntry
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall a. Key -> a -> KeyMap a
+> (SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
Instance of class: LineState of the constraint type LineState SearchEntry
change ((InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE InsertMode -> InsertMode
forall s. Move s => s -> s
External instance of the constraint type Move InsertMode
goRight)
, BaseKey -> Key
simpleKey BaseKey
Backspace Key
-> Command (ViT m) SearchEntry SearchEntry
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall a. Key -> a -> KeyMap a
+> (SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
Instance of class: LineState of the constraint type LineState SearchEntry
change ((InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE InsertMode -> InsertMode
deletePrev)
, BaseKey -> Key
simpleKey BaseKey
Delete Key
-> Command (ViT m) SearchEntry SearchEntry
-> KeyMap (Command (ViT m) SearchEntry SearchEntry)
forall a. Key -> a -> KeyMap a
+> (SearchEntry -> SearchEntry)
-> Command (ViT m) SearchEntry SearchEntry
forall t (m :: * -> *) s.
(LineState t, Monad m) =>
(s -> t) -> Command m s t
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
Instance of class: LineState of the constraint type LineState SearchEntry
change ((InsertMode -> InsertMode) -> SearchEntry -> SearchEntry
modifySE InsertMode -> InsertMode
deleteNext)
]
viSearchHist :: forall m . Monad m
=> Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
viSearchHist :: Direction -> [Grapheme] -> Command (ViT m) CommandMode CommandMode
viSearchHist Direction
dir [Grapheme]
toSearch CommandMode
cm = do
ViState m
vstate :: ViState m <- CmdM (ViT m) (ViState m)
forall s (m :: * -> *). MonadState s m => m s
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type MonadTrans CmdM
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
get
let toSearch' :: [Grapheme]
toSearch' = if [Grapheme] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
External instance of the constraint type Foldable []
null [Grapheme]
toSearch
then ViState m -> [Grapheme]
forall (m :: * -> *). ViState m -> [Grapheme]
lastSearch ViState m
vstate
else [Grapheme]
toSearch
Either Effect SearchMode
result <- Bool -> SearchMode -> CmdM (ViT m) (Either Effect SearchMode)
forall (m :: * -> *).
MonadState HistLog m =>
Bool -> SearchMode -> m (Either Effect SearchMode)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type forall s. MonadTrans (StateT s)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type MonadTrans CmdM
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
doSearch Bool
False SearchMode :: [Grapheme] -> InsertMode -> Direction -> SearchMode
SearchMode {
searchTerm :: [Grapheme]
searchTerm = [Grapheme]
toSearch',
foundHistory :: InsertMode
foundHistory = CommandMode -> InsertMode
forall s. Save s => s -> InsertMode
External instance of the constraint type Save CommandMode
save CommandMode
cm,
direction :: Direction
direction = Direction
dir}
case Either Effect SearchMode
result of
Left Effect
e -> Effect -> CmdM (ViT m) ()
forall (m :: * -> *). Effect -> CmdM m ()
effect Effect
e CmdM (ViT m) ()
-> CmdM (ViT m) CommandMode -> CmdM (ViT m) CommandMode
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
>> Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s. (Monad m, LineState s) => Command m s s
External instance of the constraint type LineState CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
setState CommandMode
cm
Right SearchMode
sm -> do
ViState m -> CmdM (ViT m) ()
forall s (m :: * -> *). MonadState s m => s -> m ()
External instance of the constraint type forall s (m :: * -> *) (t :: (* -> *) -> * -> *).
(MonadState s m, MonadTrans t, Monad (t m)) =>
MonadState s (t m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => MonadState s (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
External instance of the constraint type MonadTrans CmdM
External instance of the constraint type forall (m :: * -> *). Monad m => Monad (CmdM m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
put ViState m
vstate {lastSearch :: [Grapheme]
lastSearch = [Grapheme]
toSearch'}
Command (ViT m) CommandMode CommandMode
forall (m :: * -> *) s. (Monad m, LineState s) => Command m s s
External instance of the constraint type LineState CommandMode
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) s. Monad m => Monad (StateT s m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
External instance of the constraint type forall (m :: * -> *) r. Monad m => Monad (ReaderT r m)
Evidence bound by a type signature of the constraint type Monad m
setState (InsertMode -> CommandMode
forall s. Save s => InsertMode -> s
External instance of the constraint type Save CommandMode
restore (SearchMode -> InsertMode
foundHistory SearchMode
sm))