{- This module was generated from data in the Kate syntax
   highlighting file html.xml, version 3, by Wilbert Berendsen (wilbert@kde.nl) -}

module Text.Highlighting.Kate.Syntax.Html
          (highlight, parseExpression, syntaxName, syntaxExtensions)
where
import Text.Highlighting.Kate.Types
import Text.Highlighting.Kate.Common
import qualified Text.Highlighting.Kate.Syntax.Alert
import qualified Text.Highlighting.Kate.Syntax.Css
import qualified Text.Highlighting.Kate.Syntax.Javascript
import Text.ParserCombinators.Parsec hiding (State)
import Control.Monad.State
import Data.Char (isSpace)

-- | Full name of language.
syntaxName :: String
syntaxName :: String
syntaxName = "HTML"

-- | Filename extensions for this language.
syntaxExtensions :: String
syntaxExtensions :: String
syntaxExtensions = "*.htm;*.html;*.shtml;*.shtm"

-- | Highlight source code using this syntax definition.
highlight :: String -> [SourceLine]
highlight :: String -> [SourceLine]
highlight input :: String
input = State SyntaxState [SourceLine] -> SyntaxState -> [SourceLine]
forall s a. State s a -> s -> a
evalState ((String -> StateT SyntaxState Identity SourceLine)
-> [String] -> State SyntaxState [SourceLine]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM String -> StateT SyntaxState Identity SourceLine
parseSourceLine ([String] -> State SyntaxState [SourceLine])
-> [String] -> State SyntaxState [SourceLine]
forall a b. (a -> b) -> a -> b
$ String -> [String]
lines String
input) SyntaxState
startingState

parseSourceLine :: String -> State SyntaxState SourceLine
parseSourceLine :: String -> StateT SyntaxState Identity SourceLine
parseSourceLine = KateParser Token
-> String -> StateT SyntaxState Identity SourceLine
mkParseSourceLine (Maybe (String, String) -> KateParser Token
parseExpression Maybe (String, String)
forall a. Maybe a
Nothing)

-- | Parse an expression using appropriate local context.
parseExpression :: Maybe (String,String)
                -> KateParser Token
parseExpression :: Maybe (String, String) -> KateParser Token
parseExpression mbcontext :: Maybe (String, String)
mbcontext = do
  (lang :: String
lang,cont :: String
cont) <- KateParser (String, String)
-> ((String, String) -> KateParser (String, String))
-> Maybe (String, String)
-> KateParser (String, String)
forall b a. b -> (a -> b) -> Maybe a -> b
maybe KateParser (String, String)
currentContext (String, String) -> KateParser (String, String)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe (String, String)
mbcontext
  Token
result <- (String, String) -> KateParser Token
parseRules (String
lang,String
cont)
  ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m ()
optional (ParsecT String SyntaxState Identity ()
 -> ParsecT String SyntaxState Identity ())
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ do ParsecT String SyntaxState Identity ()
forall s (m :: * -> *) t u.
(Stream s m t, Show t) =>
ParsecT s u m ()
eof
                (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
 -> ParsecT String SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \st :: SyntaxState
st -> SyntaxState
st{ synStPrevChar :: Char
synStPrevChar = '\n' }
                ParsecT String 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
-> [String]
-> SyntaxState
SyntaxState {synStContexts :: ContextStack
synStContexts = [("HTML","Start")], synStLineNumber :: Int
synStLineNumber = 0, synStPrevChar :: Char
synStPrevChar = '\n', synStPrevNonspace :: Bool
synStPrevNonspace = Bool
False, synStContinuation :: Bool
synStContinuation = Bool
False, synStCaseSensitive :: Bool
synStCaseSensitive = Bool
True, synStKeywordCaseSensitive :: Bool
synStKeywordCaseSensitive = Bool
True, synStCaptures :: [String]
synStCaptures = []}

pEndLine :: ParsecT String SyntaxState Identity ()
pEndLine = do
  (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
 -> ParsecT String SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \st :: SyntaxState
st -> SyntaxState
st{ synStPrevNonspace :: Bool
synStPrevNonspace = Bool
False }
  (String, String)
context <- KateParser (String, String)
currentContext
  ContextStack
contexts <- SyntaxState -> ContextStack
synStContexts (SyntaxState -> ContextStack)
-> ParsecT String SyntaxState Identity SyntaxState
-> ParsecT String SyntaxState Identity ContextStack
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` ParsecT String SyntaxState Identity SyntaxState
forall (m :: * -> *) s u. Monad m => ParsecT s u m u
getState
  SyntaxState
st <- ParsecT String 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
>= 2
    then case (String, String)
context of
      _ | SyntaxState -> Bool
synStContinuation SyntaxState
st -> (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) u s. Monad m => (u -> u) -> ParsecT s u m ()
updateState ((SyntaxState -> SyntaxState)
 -> ParsecT String SyntaxState Identity ())
-> (SyntaxState -> SyntaxState)
-> ParsecT String SyntaxState Identity ()
forall a b. (a -> b) -> a -> b
$ \st :: SyntaxState
st -> SyntaxState
st{ synStContinuation :: Bool
synStContinuation = Bool
False }
      ("HTML","Start") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","FindHTML") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","FindEntityRefs") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","FindPEntityRefs") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","FindAttributes") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","FindDTDRules") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Comment") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","CDATA") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","PI") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Doctype") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Doctype Internal Subset") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Doctype Markupdecl") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Doctype Markupdecl DQ") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Doctype Markupdecl SQ") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","El Open") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","El Close") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","El Close 2") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","El Close 3") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","CSS") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","CSS content") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","JS") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","JS content") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","JS comment close") -> (ParsecT String SyntaxState Identity ()
popContext) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
pEndLine
      ("HTML","Value") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Value NQ") -> (ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
pEndLine
      ("HTML","Value DQ") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("HTML","Value SQ") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      _ -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
    else () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

withAttribute :: a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute attr :: a
attr txt :: String
txt = do
  Bool -> ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null String
txt) (ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ())
-> ParsecT s SyntaxState m () -> ParsecT s SyntaxState m ()
forall a b. (a -> b) -> a -> b
$ String -> ParsecT s SyntaxState m ()
forall (m :: * -> *) a. MonadFail m => String -> m a
fail "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
$ \st :: SyntaxState
st -> SyntaxState
st { synStPrevChar :: Char
synStPrevChar = String -> Char
forall a. [a] -> a
last String
txt
                          , synStPrevNonspace :: Bool
synStPrevNonspace = SyntaxState -> Bool
synStPrevNonspace SyntaxState
st Bool -> Bool -> Bool
|| Bool -> Bool
not ((Char -> Bool) -> String -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all Char -> Bool
isSpace String
txt) }
  (a, String) -> ParsecT s SyntaxState m (a, String)
forall (m :: * -> *) a. Monad m => a -> m a
return (a
attr, String
txt)


regex_'3c'21DOCTYPE'5cs'2b :: Regex
regex_'3c'21DOCTYPE'5cs'2b = Bool -> String -> Regex
compileRegex Bool
True "<!DOCTYPE\\s+"
regex_'3c'5c'3f'5b'5cw'3a'2d'5d'2a :: Regex
regex_'3c'5c'3f'5b'5cw'3a'2d'5d'2a = Bool -> String -> Regex
compileRegex Bool
True "<\\?[\\w:-]*"
regex_'3cstyle'5cb :: Regex
regex_'3cstyle'5cb = Bool -> String -> Regex
compileRegex Bool
True "<style\\b"
regex_'3cscript'5cb :: Regex
regex_'3cscript'5cb = Bool -> String -> Regex
compileRegex Bool
True "<script\\b"
regex_'3cpre'5cb :: Regex
regex_'3cpre'5cb = Bool -> String -> Regex
compileRegex Bool
True "<pre\\b"
regex_'3cdiv'5cb :: Regex
regex_'3cdiv'5cb = Bool -> String -> Regex
compileRegex Bool
True "<div\\b"
regex_'3ctable'5cb :: Regex
regex_'3ctable'5cb = Bool -> String -> Regex
compileRegex Bool
True "<table\\b"
regex_'3cul'5cb :: Regex
regex_'3cul'5cb = Bool -> String -> Regex
compileRegex Bool
True "<ul\\b"
regex_'3col'5cb :: Regex
regex_'3col'5cb = Bool -> String -> Regex
compileRegex Bool
True "<ol\\b"
regex_'3cdl'5cb :: Regex
regex_'3cdl'5cb = Bool -> String -> Regex
compileRegex Bool
True "<dl\\b"
regex_'3carticle'5cb :: Regex
regex_'3carticle'5cb = Bool -> String -> Regex
compileRegex Bool
True "<article\\b"
regex_'3caside'5cb :: Regex
regex_'3caside'5cb = Bool -> String -> Regex
compileRegex Bool
True "<aside\\b"
regex_'3cdetails'5cb :: Regex
regex_'3cdetails'5cb = Bool -> String -> Regex
compileRegex Bool
True "<details\\b"
regex_'3cfigure'5cb :: Regex
regex_'3cfigure'5cb = Bool -> String -> Regex
compileRegex Bool
True "<figure\\b"
regex_'3cfooter'5cb :: Regex
regex_'3cfooter'5cb = Bool -> String -> Regex
compileRegex Bool
True "<footer\\b"
regex_'3cheader'5cb :: Regex
regex_'3cheader'5cb = Bool -> String -> Regex
compileRegex Bool
True "<header\\b"
regex_'3cmain'5cb :: Regex
regex_'3cmain'5cb = Bool -> String -> Regex
compileRegex Bool
True "<main\\b"
regex_'3cnav'5cb :: Regex
regex_'3cnav'5cb = Bool -> String -> Regex
compileRegex Bool
True "<nav\\b"
regex_'3csection'5cb :: Regex
regex_'3csection'5cb = Bool -> String -> Regex
compileRegex Bool
True "<section\\b"
regex_'3c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a :: Regex
regex_'3c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = Bool -> String -> Regex
compileRegex Bool
True "<[A-Za-z_:][\\w.:_-]*"
regex_'3c'2fpre'5cb :: Regex
regex_'3c'2fpre'5cb = Bool -> String -> Regex
compileRegex Bool
True "</pre\\b"
regex_'3c'2fdiv'5cb :: Regex
regex_'3c'2fdiv'5cb = Bool -> String -> Regex
compileRegex Bool
True "</div\\b"
regex_'3c'2ftable'5cb :: Regex
regex_'3c'2ftable'5cb = Bool -> String -> Regex
compileRegex Bool
True "</table\\b"
regex_'3c'2ful'5cb :: Regex
regex_'3c'2ful'5cb = Bool -> String -> Regex
compileRegex Bool
True "</ul\\b"
regex_'3c'2fol'5cb :: Regex
regex_'3c'2fol'5cb = Bool -> String -> Regex
compileRegex Bool
True "</ol\\b"
regex_'3c'2fdl'5cb :: Regex
regex_'3c'2fdl'5cb = Bool -> String -> Regex
compileRegex Bool
True "</dl\\b"
regex_'3c'2farticle'5cb :: Regex
regex_'3c'2farticle'5cb = Bool -> String -> Regex
compileRegex Bool
True "</article\\b"
regex_'3c'2faside'5cb :: Regex
regex_'3c'2faside'5cb = Bool -> String -> Regex
compileRegex Bool
True "</aside\\b"
regex_'3c'2fdetails'5cb :: Regex
regex_'3c'2fdetails'5cb = Bool -> String -> Regex
compileRegex Bool
True "</details\\b"
regex_'3c'2ffigure'5cb :: Regex
regex_'3c'2ffigure'5cb = Bool -> String -> Regex
compileRegex Bool
True "</figure\\b"
regex_'3c'2ffooter'5cb :: Regex
regex_'3c'2ffooter'5cb = Bool -> String -> Regex
compileRegex Bool
True "</footer\\b"
regex_'3c'2fheader'5cb :: Regex
regex_'3c'2fheader'5cb = Bool -> String -> Regex
compileRegex Bool
True "</header\\b"
regex_'3c'2fmain'5cb :: Regex
regex_'3c'2fmain'5cb = Bool -> String -> Regex
compileRegex Bool
True "</main\\b"
regex_'3c'2fnav'5cb :: Regex
regex_'3c'2fnav'5cb = Bool -> String -> Regex
compileRegex Bool
True "</nav\\b"
regex_'3c'2fsection'5cb :: Regex
regex_'3c'2fsection'5cb = Bool -> String -> Regex
compileRegex Bool
True "</section\\b"
regex_'3c'2f'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a :: Regex
regex_'3c'2f'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = Bool -> String -> Regex
compileRegex Bool
True "</[A-Za-z_:][\\w.:_-]*"
regex_'26'28'23'5b0'2d9'5d'2b'7c'23'5bxX'5d'5b0'2d9A'2dFa'2df'5d'2b'7c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'29'3b :: Regex
regex_'26'28'23'5b0'2d9'5d'2b'7c'23'5bxX'5d'5b0'2d9A'2dFa'2df'5d'2b'7c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'29'3b = Bool -> String -> Regex
compileRegex Bool
True "&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\\w.:_-]*);"
regex_'25'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'3b :: Regex
regex_'25'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'3b = Bool -> String -> Regex
compileRegex Bool
True "%[A-Za-z_:][\\w.:_-]*;"
regex_'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a :: Regex
regex_'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = Bool -> String -> Regex
compileRegex Bool
True "[A-Za-z_:][\\w.:_-]*"
regex_'5cs'2b'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a :: Regex
regex_'5cs'2b'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = Bool -> String -> Regex
compileRegex Bool
True "\\s+[A-Za-z_:][\\w.:_-]*"
regex_'3c'21'28ELEMENT'7cENTITY'7cATTLIST'7cNOTATION'29'5cb :: Regex
regex_'3c'21'28ELEMENT'7cENTITY'7cATTLIST'7cNOTATION'29'5cb = Bool -> String -> Regex
compileRegex Bool
True "<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\\b"
regex_'2d'28'2d'28'3f'21'2d'3e'29'29'2b :: Regex
regex_'2d'28'2d'28'3f'21'2d'3e'29'29'2b = Bool -> String -> Regex
compileRegex Bool
True "-(-(?!->))+"
regex_'5cS :: Regex
regex_'5cS = Bool -> String -> Regex
compileRegex Bool
True "\\S"
regex_'3c'2fstyle'5cb :: Regex
regex_'3c'2fstyle'5cb = Bool -> String -> Regex
compileRegex Bool
True "</style\\b"
regex_'3c'2fscript'5cb :: Regex
regex_'3c'2fscript'5cb = Bool -> String -> Regex
compileRegex Bool
True "</script\\b"
regex_'2f'2f'28'3f'3d'2e'2a'3c'2fscript'5cb'29 :: Regex
regex_'2f'2f'28'3f'3d'2e'2a'3c'2fscript'5cb'29 = Bool -> String -> Regex
compileRegex Bool
True "//(?=.*</script\\b)"
regex_'2f'28'3f'21'3e'29 :: Regex
regex_'2f'28'3f'21'3e'29 = Bool -> String -> Regex
compileRegex Bool
True "/(?!>)"
regex_'5b'5e'2f'3e'3c'22'27'5cs'5d :: Regex
regex_'5b'5e'2f'3e'3c'22'27'5cs'5d = Bool -> String -> Regex
compileRegex Bool
True "[^/><\"'\\s]"

parseRules :: (String, String) -> KateParser Token
parseRules ("HTML","Start") =
  ((((String, String) -> KateParser Token
parseRules ("HTML","FindHTML")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Start")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","FindHTML") =
  (((ParsecT String SyntaxState Identity String
pDetectSpaces ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((ParsecT String SyntaxState Identity String
pDetectIdentifier ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "<!--" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Comment"))
   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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "<![CDATA[" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
BaseNTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","CDATA"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'21DOCTYPE'5cs'2b ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Doctype"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'5c'3f'5b'5cw'3a'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","PI"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cstyle'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","CSS"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cscript'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","JS"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cpre'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cdiv'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3ctable'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cul'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3col'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cdl'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3carticle'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3caside'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cdetails'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cfigure'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cfooter'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cheader'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cmain'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3cnav'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3csection'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Open"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fpre'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fdiv'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2ftable'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2ful'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fol'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fdl'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2farticle'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2faside'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fdetails'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2ffigure'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2ffooter'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fheader'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fmain'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fnav'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fsection'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2f'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close"))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindDTDRules")))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","FindHTML")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","FindEntityRefs") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'26'28'23'5b0'2d9'5d'2b'7c'23'5bxX'5d'5b0'2d9A'2dFa'2df'5d'2b'7c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'29'3b ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DecValTok))
   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
<|>
   ((String -> ParsecT String SyntaxState Identity String
pAnyChar "&<" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","FindEntityRefs")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","FindPEntityRefs") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'26'28'23'5b0'2d9'5d'2b'7c'23'5bxX'5d'5b0'2d9A'2dFa'2df'5d'2b'7c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'29'3b ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DecValTok))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'25'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'3b ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DecValTok))
   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
<|>
   ((String -> ParsecT String SyntaxState Identity String
pAnyChar "&%" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","FindPEntityRefs")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","FindAttributes") =
  (((Int -> ParsecT String SyntaxState Identity ()
forall tok st. Int -> GenParser tok st ()
pColumn 0 ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
OtherTok))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cs'2b'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
OtherTok))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '=' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
OtherTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Value"))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","FindAttributes")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","FindDTDRules") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'3c'21'28ELEMENT'7cENTITY'7cATTLIST'7cNOTATION'29'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Doctype Markupdecl"))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","FindDTDRules")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","Comment") =
  (((ParsecT String SyntaxState Identity String
pDetectSpaces ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Alert.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("Alerts","")) KateParser Token -> (Token -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= ((TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) (String -> KateParser Token)
-> (Token -> String) -> Token -> KateParser Token
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Token -> String
forall a b. (a, b) -> b
snd)))
   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
<|>
   ((ParsecT String SyntaxState Identity String
pDetectIdentifier ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "-->" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'2d'28'2d'28'3f'21'2d'3e'29'29'2b ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Comment")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok))

parseRules ("HTML","CDATA") =
  (((ParsecT String SyntaxState Identity String
pDetectSpaces ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((ParsecT String SyntaxState Identity String
pDetectIdentifier ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "]]>" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
BaseNTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "]]&gt;" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DecValTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","CDATA")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","PI") =
  (((Bool -> Char -> Char -> ParsecT String SyntaxState Identity String
pDetect2Chars Bool
False '?' '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","PI")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","Doctype") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '[' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Doctype Internal Subset"))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Doctype")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","Doctype Internal Subset") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False ']' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindDTDRules")))
   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
<|>
   ((Bool -> String -> ParsecT String SyntaxState Identity String
pString Bool
False "<!--" ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Comment"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'3c'5c'3f'5b'5cw'3a'2d'5d'2a ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","PI"))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindPEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Doctype Internal Subset")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","Doctype Markupdecl") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
DataTypeTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '"' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Doctype Markupdecl DQ"))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '\'' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Doctype Markupdecl SQ"))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Doctype Markupdecl")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","Doctype Markupdecl DQ") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '"' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindPEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Doctype Markupdecl DQ")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok))

parseRules ("HTML","Doctype Markupdecl SQ") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '\'' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindPEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Doctype Markupdecl SQ")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok))

parseRules ("HTML","El Open") =
  (((Bool -> Char -> Char -> ParsecT String SyntaxState Identity String
pDetect2Chars Bool
False '/' '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindAttributes")))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","El Open")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","El Close") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","El Close")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","El Close 2") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","El Close 2")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","El Close 3") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","El Close 3")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","CSS") =
  (((Bool -> Char -> Char -> ParsecT String SyntaxState Identity String
pDetect2Chars Bool
False '/' '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","CSS content"))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindAttributes")))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","CSS")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","CSS content") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fstyle'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close 2"))
   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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Css.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("CSS",""))))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","CSS content")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","JS") =
  (((Bool -> Char -> Char -> ParsecT String SyntaxState Identity String
pDetect2Chars Bool
False '/' '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '>' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","JS content"))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindAttributes")))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'5cS ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
ErrorTok))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","JS")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","JS content") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fscript'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close 2"))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'2f'2f'28'3f'3d'2e'2a'3c'2fscript'5cb'29 ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","JS comment close"))
   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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Javascript.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("JavaScript","Normal"))))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","JS content")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
NormalTok))

parseRules ("HTML","JS comment close") =
  (((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'3c'2fscript'5cb ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
KeywordTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","El Close 3"))
   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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Alert.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("Alerts","")) KateParser Token -> (Token -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= ((TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok) (String -> KateParser Token)
-> (Token -> String) -> Token -> KateParser Token
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Token -> String
forall a b. (a, b) -> b
snd)))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","JS comment close")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
CommentTok))

parseRules ("HTML","Value") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '"' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Value DQ"))
   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
<|>
   ((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '\'' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Value SQ"))
   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
<|>
   ((ParsecT String SyntaxState Identity String
pDetectSpaces ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((String, String) -> ParsecT String SyntaxState Identity ()
pushContext ("HTML","Value NQ") ParsecT String SyntaxState Identity ()
-> KateParser (String, String) -> KateParser (String, String)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> KateParser (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (String, String) -> KateParser Token
parseRules))

parseRules ("HTML","Value NQ") =
  ((((String, String) -> KateParser Token
parseRules ("HTML","FindEntityRefs")))
   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 String SyntaxState Identity String
pRegExpr Regex
regex_'2f'28'3f'21'3e'29 ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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 String SyntaxState Identity String
pRegExpr Regex
regex_'5b'5e'2f'3e'3c'22'27'5cs'5d ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
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
<|>
   ((ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext) ParsecT String SyntaxState Identity ()
-> KateParser (String, String) -> KateParser (String, String)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> KateParser (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (String, String) -> KateParser Token
parseRules))

parseRules ("HTML","Value DQ") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '"' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Value DQ")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok))

parseRules ("HTML","Value SQ") =
  (((Bool -> Char -> ParsecT String SyntaxState Identity String
pDetectChar Bool
False '\'' ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok) KateParser Token
-> ParsecT String SyntaxState Identity () -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> m b -> m a
>>~ (ParsecT String SyntaxState Identity ()
popContext ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity ()
popContext))
   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
<|>
   (((String, String) -> KateParser Token
parseRules ("HTML","FindEntityRefs")))
   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 (String, String)
currentContext KateParser (String, String)
-> ((String, String) -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \x :: (String, String)
x -> Bool -> ParsecT String SyntaxState Identity ()
forall (f :: * -> *). Alternative f => Bool -> f ()
guard ((String, String)
x (String, String) -> (String, String) -> Bool
forall a. Eq a => a -> a -> Bool
== ("HTML","Value SQ")) ParsecT String SyntaxState Identity ()
-> ParsecT String SyntaxState Identity String
-> ParsecT String SyntaxState Identity String
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ParsecT String SyntaxState Identity String
pDefault ParsecT String SyntaxState Identity String
-> (String -> KateParser Token) -> KateParser Token
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= TokenType -> String -> KateParser Token
forall (m :: * -> *) a s.
Monad m =>
a -> String -> ParsecT s SyntaxState m (a, String)
withAttribute TokenType
StringTok))

parseRules ("Alerts", _) = Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Alert.parseExpression Maybe (String, String)
forall a. Maybe a
Nothing
parseRules ("CSS", _) = Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Css.parseExpression Maybe (String, String)
forall a. Maybe a
Nothing
parseRules ("JavaScript", _) = Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Javascript.parseExpression Maybe (String, String)
forall a. Maybe a
Nothing

parseRules x :: (String, String)
x = (String, String) -> KateParser Token
parseRules ("HTML","Start") 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
<|> String -> KateParser Token
forall (m :: * -> *) a. MonadFail m => String -> m a
fail ("Unknown context" String -> String -> String
forall a. [a] -> [a] -> [a]
++ (String, String) -> String
forall a. Show a => a -> String
show (String, String)
x)