module Text.Highlighting.Kate.Syntax.Email
(highlight, parseExpression, syntaxName, syntaxExtensions)
where
import Text.Highlighting.Kate.Types
import Text.Highlighting.Kate.Common
import Text.ParserCombinators.Parsec hiding (State)
import Control.Monad.State
import Data.Char (isSpace)
syntaxName :: String
syntaxName :: [Char]
syntaxName = [Char]
"Email"
syntaxExtensions :: String
syntaxExtensions :: [Char]
syntaxExtensions = [Char]
"*.eml"
highlight :: String -> [SourceLine]
highlight :: [Char] -> [SourceLine]
highlight [Char]
input = State SyntaxState [SourceLine] -> SyntaxState -> [SourceLine]
forall s a. State s a -> s -> a
evalState (([Char] -> StateT SyntaxState Identity SourceLine)
-> [[Char]] -> State SyntaxState [SourceLine]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM [Char] -> StateT SyntaxState Identity SourceLine
parseSourceLine ([[Char]] -> State SyntaxState [SourceLine])
-> [[Char]] -> State SyntaxState [SourceLine]
forall a b. (a -> b) -> a -> b
$ [Char] -> [[Char]]
lines [Char]
input) SyntaxState
startingState
parseSourceLine :: String -> State SyntaxState SourceLine
parseSourceLine :: [Char] -> StateT SyntaxState Identity SourceLine
parseSourceLine = KateParser Token
-> [Char] -> StateT SyntaxState Identity SourceLine
mkParseSourceLine (Maybe ([Char], [Char]) -> KateParser Token
parseExpression Maybe ([Char], [Char])
forall a. Maybe a
Nothing)
parseExpression :: Maybe (String,String)
-> KateParser Token
parseExpression :: Maybe ([Char], [Char]) -> KateParser Token
parseExpression Maybe ([Char], [Char])
mbcontext = do
([Char]
lang,[Char]
cont) <- KateParser ([Char], [Char])
-> (([Char], [Char]) -> KateParser ([Char], [Char]))
-> Maybe ([Char], [Char])
-> KateParser ([Char], [Char])
forall b a. b -> (a -> b) -> Maybe a -> b
maybe KateParser ([Char], [Char])
currentContext ([Char], [Char]) -> KateParser ([Char], [Char])
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ([Char], [Char])
mbcontext
Token
result <- ([Char], [Char]) -> KateParser Token
parseRules ([Char]
lang,[Char]
cont)
ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity ()
forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m ()
optional (ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity ())
-> ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ do ParsecT [Char] SyntaxState Identity ()
forall s (m :: * -> *) t u.
(Stream s m t, Show t) =>
ParsecT s u m ()
eof
(SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \SyntaxState
st -> SyntaxState
st{ synStPrevChar :: Char
synStPrevChar = Char
'\n' }
ParsecT [Char] SyntaxState Identity ()
pEndLine
Token -> KateParser Token
forall (m :: * -> *) a. Monad m => a -> m a
return Token
result
startingState :: SyntaxState
startingState = SyntaxState :: ContextStack
-> Int
-> Char
-> Bool
-> Bool
-> Bool
-> Bool
-> [[Char]]
-> SyntaxState
SyntaxState {synStContexts :: ContextStack
synStContexts = [([Char]
"Email",[Char]
"headder")], synStLineNumber :: Int
synStLineNumber = Int
0, synStPrevChar :: Char
synStPrevChar = Char
'\n', synStPrevNonspace :: Bool
synStPrevNonspace = Bool
False, synStContinuation :: Bool
synStContinuation = Bool
False, synStCaseSensitive :: Bool
synStCaseSensitive = Bool
True, synStKeywordCaseSensitive :: Bool
synStKeywordCaseSensitive = Bool
False, synStCaptures :: [[Char]]
synStCaptures = []}
pEndLine :: ParsecT [Char] SyntaxState Identity ()
pEndLine = do
(SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \SyntaxState
st -> SyntaxState
st{ synStPrevNonspace :: Bool
synStPrevNonspace = Bool
False }
([Char], [Char])
context <- KateParser ([Char], [Char])
currentContext
ContextStack
contexts <- SyntaxState -> ContextStack
synStContexts (SyntaxState -> ContextStack)
-> ParsecT [Char] SyntaxState Identity SyntaxState
-> ParsecT [Char] SyntaxState Identity ContextStack
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` ParsecT [Char] SyntaxState Identity SyntaxState
forall (m :: * -> *) s u. Monad m => ParsecT s u m u
getState
SyntaxState
st <- ParsecT [Char] SyntaxState Identity SyntaxState
forall (m :: * -> *) s u. Monad m => ParsecT s u m u
getState
if ContextStack -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length ContextStack
contexts Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
2
then case ([Char], [Char])
context of
([Char], [Char])
_ | SyntaxState -> Bool
synStContinuation SyntaxState
st -> (SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT [Char] SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \SyntaxState
st -> SyntaxState
st{ synStContinuation :: Bool
synStContinuation = Bool
False }
([Char]
"Email",[Char]
"headder") -> () -> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
([Char], [Char])
_ -> () -> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
else () -> ParsecT [Char] SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
withAttribute :: a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute a
attr [Char]
txt = do
Bool -> ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when ([Char] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null [Char]
txt) (ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ())
-> ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ()
forall a b. (a -> b) -> a -> b
$ [Char] -> ParsecT s SyntaxState m ()
forall (m :: * -> *) a. MonadFail m => [Char] -> m a
fail [Char]
"Parser matched no text"
(SyntaxState -> SyntaxState) -> ParsecT s SyntaxState m ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState) -> ParsecT s SyntaxState m ())
-> (SyntaxState -> SyntaxState) -> ParsecT s SyntaxState m ()
forall a b. (a -> b) -> a -> b
$ \SyntaxState
st -> SyntaxState
st { synStPrevChar :: Char
synStPrevChar = [Char] -> Char
forall a. [a] -> a
last [Char]
txt
, synStPrevNonspace :: Bool
synStPrevNonspace = SyntaxState -> Bool
synStPrevNonspace SyntaxState
st Bool -> Bool -> Bool
|| Bool -> Bool
not ((Char -> Bool) -> [Char] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all Char -> Bool
isSpace [Char]
txt) }
(a, [Char]) -> ParsecT s SyntaxState m (a, [Char])
forall (m :: * -> *) a. Monad m => a -> m a
return (a
attr, [Char]
txt)
regex_'5bTt'5do'3a'2e'2a'24 :: Regex
regex_'5bTt'5do'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Tt]o:.*$"
regex_'5bFf'5drom'3a'2e'2a'24 :: Regex
regex_'5bFf'5drom'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ff]rom:.*$"
regex_'5bCc'5d'5bCc'5d'3a'2e'2a'24 :: Regex
regex_'5bCc'5d'5bCc'5d'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Cc][Cc]:.*$"
regex_'5bBb'5d'5bCc'5d'5bCc'5d'3a'2e'2a'24 :: Regex
regex_'5bBb'5d'5bCc'5d'5bCc'5d'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Bb][Cc][Cc]:.*$"
regex_'5bSs'5dubject'3a'2e'2a'24 :: Regex
regex_'5bSs'5dubject'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ss]ubject:.*$"
regex_'5bDd'5date'3a'2e'2a'24 :: Regex
regex_'5bDd'5date'3a'2e'2a'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Dd]ate:.*$"
regex_'5bSs'5dender'3a :: Regex
regex_'5bSs'5dender'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ss]ender:"
regex_'5bRr'5deply'2d'5bTt'5do'3a :: Regex
regex_'5bRr'5deply'2d'5bTt'5do'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]eply-[Tt]o:"
regex_'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a :: Regex
regex_'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Mm]essage-[Ii][Dd]:"
regex_'5bIi'5dn'2d'5bRr'5deply'2d'5bTt'5do'3a :: Regex
regex_'5bIi'5dn'2d'5bRr'5deply'2d'5bTt'5do'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ii]n-[Rr]eply-[Tt]o:"
regex_'5bRr'5deferences'3a :: Regex
regex_'5bRr'5deferences'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]eferences:"
regex_'5bCc'5domments'3a :: Regex
regex_'5bCc'5domments'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Cc]omments:"
regex_'5bKk'5deywors'3a :: Regex
regex_'5bKk'5deywors'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Kk]eywors:"
regex_'5bRr'5desent'2d'5bDd'5date'3a :: Regex
regex_'5bRr'5desent'2d'5bDd'5date'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Dd]ate:"
regex_'5bRr'5desent'2d'5bFf'5drom'3a :: Regex
regex_'5bRr'5desent'2d'5bFf'5drom'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Ff]rom:"
regex_'5bRr'5desent'2d'5bSs'5dender'3a :: Regex
regex_'5bRr'5desent'2d'5bSs'5dender'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Ss]ender:"
regex_'5bRr'5desent'2d'5bTt'5do'3a :: Regex
regex_'5bRr'5desent'2d'5bTt'5do'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Tt]o:"
regex_'5bRr'5desent'2d'5bCc'5d'5bCc'5d'3a :: Regex
regex_'5bRr'5desent'2d'5bCc'5d'5bCc'5d'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Cc][Cc]:"
regex_'5bRr'5desent'2d'5bBb'5d'5bCc'5d'5bCc'5d'3a :: Regex
regex_'5bRr'5desent'2d'5bBb'5d'5bCc'5d'5bCc'5d'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Bb][Cc][Cc]:"
regex_'5bRr'5desent'2d'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a :: Regex
regex_'5bRr'5desent'2d'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Mm]essage-[Ii][Dd]:"
regex_'5bRr'5desent'2d'5bRr'5deply'2d'5bTt'5do'3a :: Regex
regex_'5bRr'5desent'2d'5bRr'5deply'2d'5bTt'5do'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]esent-[Rr]eply-[Tt]o:"
regex_'5bRr'5deturn'2d'5bPp'5dath'3a :: Regex
regex_'5bRr'5deturn'2d'5bPp'5dath'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]eturn-[Pp]ath:"
regex_'5bRr'5deceived'3a :: Regex
regex_'5bRr'5deceived'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Rr]eceived:"
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus'3a :: Regex
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Mm]ozilla-[Ss]tatus:"
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus2'3a :: Regex
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus2'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Mm]ozilla-[Ss]tatus2:"
regex_'5bEe'5dnverlope'2d'5bTt'5do'3a :: Regex
regex_'5bEe'5dnverlope'2d'5bTt'5do'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ee]nverlope-[Tt]o:"
regex_'5bDd'5delivery'2d'5bDd'5date'3a :: Regex
regex_'5bDd'5delivery'2d'5bDd'5date'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Dd]elivery-[Dd]ate:"
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bIi'5d'5bPp'5d'3a :: Regex
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bIi'5d'5bPp'5d'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Oo]riginating-[Ii][Pp]:"
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bEe'5dmail'3a :: Regex
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bEe'5dmail'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Oo]riginating-[Ee]mail:"
regex_'5bXx'5d'2d'5bSs'5dender'3a :: Regex
regex_'5bXx'5d'2d'5bSs'5dender'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Ss]ender:"
regex_'5bMm'5dime'2d'5bVv'5dersion'3a :: Regex
regex_'5bMm'5dime'2d'5bVv'5dersion'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Mm]ime-[Vv]ersion:"
regex_'5bCc'5dontent'2d'5bTt'5dype'3a :: Regex
regex_'5bCc'5dontent'2d'5bTt'5dype'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Cc]ontent-[Tt]ype:"
regex_'5bXx'5d'2d'5bMm'5dailing'2d'5bLl'5dist'3a :: Regex
regex_'5bXx'5d'2d'5bMm'5dailing'2d'5bLl'5dist'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Mm]ailing-[Ll]ist:"
regex_'5bXx'5d'2d'5bLl'5doop'3a :: Regex
regex_'5bXx'5d'2d'5bLl'5doop'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Ll]oop:"
regex_'5bLl'5dist'2d'5bPp'5dost'3a :: Regex
regex_'5bLl'5dist'2d'5bPp'5dost'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ll]ist-[Pp]ost:"
regex_'5bLl'5dist'2d'5bHh'5delp'3a :: Regex
regex_'5bLl'5dist'2d'5bHh'5delp'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ll]ist-[Hh]elp:"
regex_'5bLl'5dist'2d'5bUu'5dnsubscribe'3a :: Regex
regex_'5bLl'5dist'2d'5bUu'5dnsubscribe'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Ll]ist-[Uu]nsubscribe:"
regex_'5bPp'5drecedence'3a :: Regex
regex_'5bPp'5drecedence'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Pp]recedence:"
regex_'5bCc'5dontent'2d'5bTt'5dransfer'2d'5bEe'5dncoding'3a :: Regex
regex_'5bCc'5dontent'2d'5bTt'5dransfer'2d'5bEe'5dncoding'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Cc]ontent-[Tt]ransfer-[Ee]ncoding:"
regex_'5bXx'5d'2d'5bBb'5dulkmail'3a :: Regex
regex_'5bXx'5d'2d'5bBb'5dulkmail'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Xx]-[Bb]ulkmail:"
regex_'5bCc'5dontent'2d'5bDd'5disposition'3a :: Regex
regex_'5bCc'5dontent'2d'5bDd'5disposition'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[Cc]ontent-[Dd]isposition:"
regex_'5b0'2d9a'2dzA'2dZ'2d'2e'5d'2b'3a :: Regex
regex_'5b0'2d9a'2dzA'2dZ'2d'2e'5d'2b'3a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[0-9a-zA-Z-.]+:"
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b :: Regex
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[a-zA-Z0-9.\\-]+\\@[a-zA-Z0-9.\\-]+"
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2a'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e :: Regex
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2a'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[a-zA-Z0-9.\\-]*\\s*<[a-zA-Z0-9.\\-]+\\@[a-zA-Z0-9.\\-]+>"
regex_'22'5ba'2dzA'2dZ0'2d9'2e_'5c'2d'5d'2b'22'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e :: Regex
regex_'22'5ba'2dzA'2dZ0'2d9'2e_'5c'2d'5d'2b'22'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"\"[a-zA-Z0-9. \\-]+\"\\s*<[a-zA-Z0-9.\\-]+\\@[a-zA-Z0-9.\\-]+>"
regex_'22'2e'2a'22 :: Regex
regex_'22'2e'2a'22 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"\".*\""
regex_'27'2e'2a'27 :: Regex
regex_'27'2e'2a'27 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"'.*'"
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>]\\s*[|>]\\s*[|>]\\s*[|>]\\s*[|>]\\s*[|>].*"
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>]\\s*[|>]\\s*[|>]\\s*[|>]\\s*[|>].*"
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>]\\s*[|>]\\s*[|>]\\s*[|>].*"
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>]\\s*[|>]\\s*[|>].*"
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>]\\s*[|>].*"
regex_'5b'7c'3e'5d'2e'2a :: Regex
regex_'5b'7c'3e'5d'2e'2a = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[|>].*"
regex_'28'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'29'7b10'2c20'7d'24 :: Regex
regex_'28'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'29'7b10'2c20'7d'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"([A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/]){10,20}$"
regex_'5bA'2dZa'2dz0'2d9'2b'3d'2f'5d'2b'3d'24 :: Regex
regex_'5bA'2dZa'2dz0'2d9'2b'3d'2f'5d'2b'3d'24 = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"[A-Za-z0-9+=/]+=$"
regex_'28'2d_'29'3f'2d'2d'28'2d'2d'2e'2a'29'3f :: Regex
regex_'28'2d_'29'3f'2d'2d'28'2d'2d'2e'2a'29'3f = Bool -> [Char] -> Regex
compileRegex Bool
False [Char]
"(- )?--(--.*)?"
parseRules :: ([Char], [Char]) -> KateParser Token
parseRules ([Char]
"Email",[Char]
"headder") =
(((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bTt'5do'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bFf'5drom'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5d'5bCc'5d'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bBb'5d'5bCc'5d'5bCc'5d'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bSs'5dubject'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bDd'5date'3a'2e'2a'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bSs'5dender'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5deply'2d'5bTt'5do'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bIi'5dn'2d'5bRr'5deply'2d'5bTt'5do'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5deferences'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5domments'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bKk'5deywors'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bDd'5date'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bFf'5drom'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bSs'5dender'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bTt'5do'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bCc'5d'5bCc'5d'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bBb'5d'5bCc'5d'5bCc'5d'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bMm'5dessage'2d'5bIi'5d'5bDd'5d'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5desent'2d'5bRr'5deply'2d'5bTt'5do'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5deturn'2d'5bPp'5dath'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bRr'5deceived'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bMm'5dozilla'2d'5bSs'5dtatus2'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bEe'5dnverlope'2d'5bTt'5do'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bDd'5delivery'2d'5bDd'5date'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bIi'5d'5bPp'5d'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bOo'5driginating'2d'5bEe'5dmail'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bSs'5dender'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bMm'5dime'2d'5bVv'5dersion'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5dontent'2d'5bTt'5dype'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bMm'5dailing'2d'5bLl'5dist'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bLl'5doop'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bLl'5dist'2d'5bPp'5dost'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bLl'5dist'2d'5bHh'5delp'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bLl'5dist'2d'5bUu'5dnsubscribe'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bPp'5drecedence'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5dontent'2d'5bTt'5dransfer'2d'5bEe'5dncoding'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5dontent'2d'5bTt'5dype'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bXx'5d'2d'5bBb'5dulkmail'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bPp'5drecedence'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bCc'5dontent'2d'5bDd'5disposition'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
CommentTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b0'2d9a'2dzA'2dZ'2d'2e'5d'2b'3a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2a'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'22'5ba'2dzA'2dZ0'2d9'2e_'5c'2d'5d'2b'22'5cs'2a'3c'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'5c'40'5ba'2dzA'2dZ0'2d9'2e'5c'2d'5d'2b'3e ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'22'2e'2a'22 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
StringTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'27'2e'2a'27 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
StringTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'5cs'2a'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5b'7c'3e'5d'2e'2a ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'28'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'5bA'2dZa'2dz0'2d9'2b'2f'5d'29'7b10'2c20'7d'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
RegionMarkerTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'5bA'2dZa'2dz0'2d9'2b'3d'2f'5d'2b'3d'24 ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
RegionMarkerTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
((Int -> ParsecT [Char] SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn Int
0 ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT [Char] SyntaxState Identity [Char]
pRegExpr Regex
regex_'28'2d_'29'3f'2d'2d'28'2d'2d'2e'2a'29'3f ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
AlertTok))
KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|>
(KateParser ([Char], [Char])
currentContext KateParser ([Char], [Char])
-> (([Char], [Char]) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \([Char], [Char])
x -> Bool -> ParsecT [Char] SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard (([Char], [Char])
x ([Char], [Char]) -> ([Char], [Char]) -> Bool
forall a. Eq a => a -> a -> Bool
== ([Char]
"Email",[Char]
"headder")) ParsecT [Char] SyntaxState Identity ()
-> ParsecT [Char] SyntaxState Identity [Char]
-> ParsecT [Char] SyntaxState Identity [Char]
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT [Char] SyntaxState Identity [Char]
pDefault ParsecT [Char] SyntaxState Identity [Char]
-> ([Char] -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> [Char] -> KateParser Token
forall {m :: * -> *} {a} {s}.
Monad m =>
a -> [Char] -> ParsecT s SyntaxState m (a, [Char])
withAttribute TokenType
NormalTok))
parseRules ([Char], [Char])
x = ([Char], [Char]) -> KateParser Token
parseRules ([Char]
"Email",[Char]
"headder") KateParser Token -> KateParser Token -> KateParser Token
forall s u (m :: * -> *) a.
ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
<|> [Char] -> KateParser Token
forall (m :: * -> *) a. MonadFail m => [Char] -> m a
fail ([Char]
"Unknown context" [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ ([Char], [Char]) -> [Char]
forall a. Show a => a -> [Char]
show ([Char], [Char])
x)