{- This module was generated from data in the Kate syntax
   highlighting file javadoc.xml, version 2, by Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br) -}

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

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

-- | Filename extensions for this language.
syntaxExtensions :: String
syntaxExtensions :: String
syntaxExtensions = ""

-- | 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 = [("Javadoc","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 }
      ("Javadoc","Start") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","FindJavadoc") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","JavadocFSar") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","Javadocar") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","JavadocParam") -> (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
      ("Javadoc","InlineTagar") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","LiteralTagar") -> () -> ParsecT String SyntaxState Identity ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
      ("Javadoc","SeeTag") -> (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
      _ -> () -> 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_'28'21'7c'5c'3f'29 :: Regex
regex_'28'21'7c'5c'3f'29 = Bool -> String -> Regex
compileRegex Bool
True "(!|\\?)"
regex_'28'5c'2e'5cs'2a'24'29 :: Regex
regex_'28'5c'2e'5cs'2a'24'29 = Bool -> String -> Regex
compileRegex Bool
True "(\\.\\s*$)"
regex_'28'5c'2e'5cs'29'28'3f'21'5b'5cda'2dz'5d'29 :: Regex
regex_'28'5c'2e'5cs'29'28'3f'21'5b'5cda'2dz'5d'29 = Bool -> String -> Regex
compileRegex Bool
True "(\\.\\s)(?![\\da-z])"
regex_'5c'2a'2a'5cs'2a'28'3f'3d'40'28author'7cdeprecated'7cexception'7cparam'7creturn'7csee'7cserial'7cserialData'7cserialField'7csince'7cthrows'7cversion'29'28'5cs'7c'24'29'29 :: Regex
regex_'5c'2a'2a'5cs'2a'28'3f'3d'40'28author'7cdeprecated'7cexception'7cparam'7creturn'7csee'7cserial'7cserialData'7cserialField'7csince'7cthrows'7cversion'29'28'5cs'7c'24'29'29 = Bool -> String -> Regex
compileRegex Bool
True "\\**\\s*(?=@(author|deprecated|exception|param|return|see|serial|serialData|serialField|since|throws|version)(\\s|$))"
regex_'5c'2a'2b'28'3f'21'2f'29 :: Regex
regex_'5c'2a'2b'28'3f'21'2f'29 = Bool -> String -> Regex
compileRegex Bool
True "\\*+(?!/)"
regex_'5cS'2a'28'3f'3d'5c'2a'2f'29 :: Regex
regex_'5cS'2a'28'3f'3d'5c'2a'2f'29 = Bool -> String -> Regex
compileRegex Bool
True "\\S*(?=\\*/)"
regex_'5cS'2a'28'5cs'7c'24'29 :: Regex
regex_'5cS'2a'28'5cs'7c'24'29 = Bool -> String -> Regex
compileRegex Bool
True "\\S*(\\s|$)"

parseRules :: (String, String) -> KateParser Token
parseRules ("Javadoc","Start") =
  ((((String, String) -> KateParser Token
parseRules ("Javadoc","FindJavadoc")))
   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
== ("Javadoc","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 ("Javadoc","FindJavadoc") =
  (((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 -> 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 ("Javadoc","JavadocFSar"))
   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
== ("Javadoc","FindJavadoc")) 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 ("Javadoc","JavadocFSar") =
  (((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
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_'28'21'7c'5c'3f'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 ("Javadoc","Javadocar"))
   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_'28'5c'2e'5cs'2a'24'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 ("Javadoc","Javadocar"))
   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_'28'5c'2e'5cs'29'28'3f'21'5b'5cda'2dz'5d'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 ("Javadoc","Javadocar"))
   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 ()
pFirstNonSpace 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_'5c'2a'2a'5cs'2a'28'3f'3d'40'28author'7cdeprecated'7cexception'7cparam'7creturn'7csee'7cserial'7cserialData'7cserialField'7csince'7cthrows'7cversion'29'28'5cs'7c'24'29'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 ("Javadoc","Javadocar"))
   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 "{@code " 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 ("Javadoc","LiteralTagar"))
   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 "{@code " 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 ("Javadoc","LiteralTagar"))
   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 "{@docRoot}" 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 -> 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 "{@inheritDoc}" 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 -> 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 "{@link " 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 ("Javadoc","InlineTagar"))
   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 "{@link " 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 ("Javadoc","InlineTagar"))
   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 "{@linkplain " 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 ("Javadoc","InlineTagar"))
   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 "{@linkplain " 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 ("Javadoc","InlineTagar"))
   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 "{@literal " 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 ("Javadoc","LiteralTagar"))
   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 "{@literal " 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 ("Javadoc","LiteralTagar"))
   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 "{@value}" 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 -> 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 "{@value " 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 ("Javadoc","InlineTagar"))
   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 "{@value " 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 ("Javadoc","InlineTagar"))
   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.Html.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("HTML","")) 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
== ("Javadoc","JavadocFSar")) 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 ("Javadoc","Javadocar") =
  (((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
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 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
<|>
   ((ParsecT String SyntaxState Identity ()
pFirstNonSpace 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_'5c'2a'2b'28'3f'21'2f'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 -> 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 "@author " 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 -> 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 "@deprecated " 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 -> 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 "@exception " 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 ("Javadoc","JavadocParam"))
   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 "@param " 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 ("Javadoc","JavadocParam"))
   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 "@return " 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 -> 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 "@see " 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 ("Javadoc","SeeTag"))
   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 "@serial " 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 -> 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 "@serialData " 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 -> 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 "@serialField " 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 -> 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 "@since " 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 -> 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 "@throws " 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 ("Javadoc","JavadocParam"))
   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 "@version " 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 -> 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 "@author " 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 -> 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 "@deprecated " 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 -> 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 "@exception " 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 ("Javadoc","JavadocParam"))
   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 "@param " 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 ("Javadoc","JavadocParam"))
   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 "@return " 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 -> 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 "@see " 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 ("Javadoc","SeeTag"))
   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 "@serial " 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 -> 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 "@serialData " 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 -> 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 "@serialField " 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 -> 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 "@since " 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 -> 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 "@throws " 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 ("Javadoc","JavadocParam"))
   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 "@version " 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 -> 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 "{@code " 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 ("Javadoc","LiteralTagar"))
   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 "{@code " 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 ("Javadoc","LiteralTagar"))
   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 "{@docRoot}" 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 -> 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 "{@inheritDoc}" 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 -> 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 "{@link " 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 ("Javadoc","InlineTagar"))
   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 "{@link " 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 ("Javadoc","InlineTagar"))
   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 "{@linkplain " 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 ("Javadoc","InlineTagar"))
   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 "{@linkplain " 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 ("Javadoc","InlineTagar"))
   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 "{@literal " 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 ("Javadoc","LiteralTagar"))
   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 "{@literal " 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 ("Javadoc","LiteralTagar"))
   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 "{@value}" 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 -> 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 "{@value " 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 ("Javadoc","InlineTagar"))
   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 "{@value " 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 ("Javadoc","InlineTagar"))
   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.Html.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("HTML","")) 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
== ("Javadoc","Javadocar")) 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 ("Javadoc","JavadocParam") =
  (((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
<|>
   ((Regex -> ParsecT String SyntaxState Identity String
pRegExpr Regex
regex_'5cS'2a'28'3f'3d'5c'2a'2f'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
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))
   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'2a'28'5cs'7c'24'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
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
== ("Javadoc","JavadocParam")) 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 ("Javadoc","InlineTagar") =
  (((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
<|>
   ((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
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 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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Html.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("HTML","")) 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
KeywordTok) (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
== ("Javadoc","InlineTagar")) 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
KeywordTok))

parseRules ("Javadoc","LiteralTagar") =
  (((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
<|>
   ((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
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 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
<|>
   (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
== ("Javadoc","LiteralTagar")) 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
KeywordTok))

parseRules ("Javadoc","SeeTag") =
  (((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
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 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
<|>
   ((Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Html.parseExpression ((String, String) -> Maybe (String, String)
forall a. a -> Maybe a
Just ("HTML","")) 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
KeywordTok) (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
== ("Javadoc","SeeTag")) 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
KeywordTok))

parseRules ("HTML", _) = Maybe (String, String) -> KateParser Token
Text.Highlighting.Kate.Syntax.Html.parseExpression Maybe (String, String)
forall a. Maybe a
Nothing

parseRules x :: (String, String)
x = (String, String) -> KateParser Token
parseRules ("Javadoc","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)