yi-core-0.18.0: Yi editor core library

Safe HaskellNone
LanguageHaskell2010

Yi.IncrementalParse

Synopsis

Documentation

recoverWith :: Parser s a -> Parser s a Source #

Parse the same thing as the argument, but will be used only as backup. ie, it will be used only if disjuncted with a failing parser.

symbol :: forall s. (s -> Bool) -> Parser s s Source #

eof :: forall s. Parser s () Source #

testNext :: (Maybe s -> Bool) -> Parser s () Source #

type State st token result = (st, Process token result) Source #

type P s a = Parser s a Source #

data Parser s a where Source #

Parser specification

Constructors

Look :: Parser s a -> (s -> Parser s a) -> Parser s a 
Yuck :: Parser s a -> Parser s a 
Enter :: String -> Parser s a -> Parser s a 
Instances
Monad (Parser s) Source # 
Instance details

Defined in Parser.Incremental

Methods

(>>=) :: Parser s a -> (a -> Parser s b) -> Parser s b #

(>>) :: Parser s a -> Parser s b -> Parser s b #

return :: a -> Parser s a #

fail :: String -> Parser s a #

Functor (Parser s) Source # 
Instance details

Defined in Parser.Incremental

Methods

fmap :: (a -> b) -> Parser s a -> Parser s b #

(<$) :: a -> Parser s b -> Parser s a #

Applicative (Parser s) Source # 
Instance details

Defined in Parser.Incremental

Methods

pure :: a -> Parser s a #

(<*>) :: Parser s (a -> b) -> Parser s a -> Parser s b #

liftA2 :: (a -> b -> c) -> Parser s a -> Parser s b -> Parser s c #

(*>) :: Parser s a -> Parser s b -> Parser s b #

(<*) :: Parser s a -> Parser s b -> Parser s a #

Alternative (Parser s) Source # 
Instance details

Defined in Parser.Incremental

Methods

empty :: Parser s a #

(<|>) :: Parser s a -> Parser s a -> Parser s a #

some :: Parser s a -> Parser s [a] #

many :: Parser s a -> Parser s [a] #

data AlexState lexerState #

Lexer state

Constructors

AlexState 

Fields

Instances
Show lexerState => Show (AlexState lexerState) 
Instance details

Defined in Yi.Lexer.Alex

Methods

showsPrec :: Int -> AlexState lexerState -> ShowS #

show :: AlexState lexerState -> String #

showList :: [AlexState lexerState] -> ShowS #

scanner :: forall st token result. Parser token result -> Scanner st token -> Scanner (State st token result) result Source #