skylighting-core 0.14 → 0.14.1
raw patch · 37 files changed
+6398/−5939 lines, 37 files
Files
- changelog.md +27/−0
- skylighting-core.cabal +1/−1
- src/Regex/KDE/Compile.hs +204/−165
- src/Regex/KDE/Match.hs +7/−13
- src/Skylighting/Tokenizer.hs +3/−1
- src/Skylighting/Types.hs +4/−0
- test/expected/hk91.html.native +2/−2
- test/test-skylighting.hs +6/−0
- xml/actionscript.xml +1/−1
- xml/bash.xml +7/−4
- xml/cpp.xml +28/−2
- xml/css.xml +2074/−1950
- xml/djangotemplate.xml +15/−15
- xml/dosbat.xml +2/−1
- xml/groovy.xml +1/−1
- xml/html.xml +8/−8
- xml/ini.xml +1/−1
- xml/isocpp.xml +16/−11
- xml/java.xml +1/−1
- xml/javadoc.xml +1/−1
- xml/json.xml +15/−5
- xml/jsp.xml +37/−61
- xml/julia.xml +41/−718
- xml/latex.xml +63/−11
- xml/makefile.xml +18/−5
- xml/mustache.xml +25/−13
- xml/php.xml +25/−13
- xml/powershell.xml +166/−110
- xml/raku.xml +2058/−1743
- xml/raku.xml.patch +21/−0
- xml/rest.xml +2/−2
- xml/rhtml.xml +1/−1
- xml/sass.xml +23/−37
- xml/scala.xml +1/−1
- xml/scss.xml +1489/−1038
- xml/toml.xml +3/−2
- xml/xml.xml +1/−1
changelog.md view
@@ -1,5 +1,32 @@ # Revision history for skylighting and skylighting-core +## 0.14.1++ * Update syntax definitions for julia, actionscript, bash, cpp, css,+ djangotemplate, dosbat, groovy, html, ini, isocpp, java, javadoc, json,+ jsp, latex, makefile, mustache, php, powershell, rest, rhtml,+ sass, scala, scss, toml, xml, raku (with patch).++ * Many improvements to regular expression compilation:++ - Properly recognize unicode characters.+ - Handle `\Q..\E` literal sequences.+ - Handle group modifiers like `(?i:etc.)`. (The only one+ we actually pay attention to is `i`.)+ - Allow unicode category escapes outside of character classes.+ - Support one-letter unicode category escapes like `\p{L}`.+ These are found in some of the newer syntax definitions.++ * Improve regex matching:++ - Fix `wordDetect` to work around an issue in the new html.xml.+ - Refactor and fix `atWordBoundary`: remove redundant checks, and+ fix behavior (`/x\b/` was behaving like `/\bx\b/`) (Côme ALLART).+ - Fix bug in `lastCharOffset` (Côme ALLART).++ * Style: Allow colors to be specified in ARGB format (#178).+ We currently just ignore the A part, but at least we don't fail.+ ## 0.14 * Add rWeakDeliminators field to Rule. [API change]
skylighting-core.cabal view
@@ -1,5 +1,5 @@ name: skylighting-core-version: 0.14+version: 0.14.1 synopsis: syntax highlighting library description: Skylighting is a syntax highlighting library. It derives its tokenizers from XML syntax
src/Regex/KDE/Compile.hs view
@@ -1,17 +1,17 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE LambdaCase #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE OverloadedStrings #-} module Regex.KDE.Compile (compileRegex) where -import Data.Word (Word8) import qualified Data.ByteString as B+import qualified Data.Text as T import Data.ByteString (ByteString)-import qualified Data.ByteString.UTF8 as U+import Data.Text.Encoding (decodeUtf8With, encodeUtf8)+import Data.Text.Encoding.Error (lenientDecode) import Safe-import Data.Attoparsec.ByteString as A hiding (match)+import Data.Attoparsec.Text as A hiding (match) import Data.Char import Control.Applicative import Regex.KDE.Regex@@ -21,94 +21,125 @@ import Data.Semigroup ((<>)) #endif +-- I believe the Regex engine used in KatePart is Qt's.+-- It is described here: https://doc.qt.io/qt-6/qregexp.html+ -- | Compile a UTF-8 encoded ByteString as a Regex. If the first -- parameter is True, then the Regex will be case sensitive. compileRegex :: Bool -> ByteString -> Either String Regex compileRegex caseSensitive bs =- let !res = parseOnly (evalStateT parser 0) bs+ let !res = parseOnly (evalStateT parser RState{+ rsCurrentCaptureNumber = 0,+ rsCaseSensitive = caseSensitive })+ (decodeUtf8With lenientDecode bs) in res where parser = do- !re <- pRegex caseSensitive+ !re <- pRegex (re <$ lift A.endOfInput) <|>- do rest <- lift A.takeByteString+ do rest <- lift A.takeText fail $ "parse error at byte position " ++- show (B.length bs - B.length rest)+ show (B.length bs - B.length (encodeUtf8 rest)) -type RParser = StateT Int Parser+data RState =+ RState+ { rsCurrentCaptureNumber :: Int+ , rsCaseSensitive :: Bool }+ deriving (Show) -pRegex :: Bool -> RParser Regex-pRegex caseSensitive =+type RParser = StateT RState Parser++pRegex :: RParser Regex+pRegex = option MatchNull $ foldr MatchAlt- <$> (pAltPart caseSensitive)- <*> (many $ lift (char '|') *> (pAltPart caseSensitive <|> pure mempty))--pAltPart :: Bool -> RParser Regex-pAltPart caseSensitive = mconcat <$> many1 (pRegexPart caseSensitive)+ <$> pAltPart+ <*> many (lift (char '|') *> (pAltPart <|> pure mempty)) -char :: Char -> Parser Char-char c =- c <$ satisfy (== fromIntegral (ord c))+pAltPart :: RParser Regex+pAltPart = mconcat <$> many1 pRegexPart -pRegexPart :: Bool -> RParser Regex-pRegexPart caseSensitive =- (lift (pRegexChar caseSensitive) <|> pParenthesized caseSensitive) >>=- lift . pSuffix+pRegexPart :: RParser Regex+pRegexPart =+ pRegexChar <|> pParenthesized >>= pSuffix -pParenthesized :: Bool -> RParser Regex-pParenthesized caseSensitive = do- _ <- lift (satisfy (== 40))+pParenthesized :: RParser Regex+pParenthesized = do+ _ <- lift (char '(') -- pcrepattern says: A group that starts with (?| resets the capturing -- parentheses numbers in each alternative. resetCaptureNumbers <- option False (True <$ lift (string "?|"))- modifier <- if resetCaptureNumbers- then return id- else lift (satisfy (== 63) *> pGroupModifiers)- <|> (MatchCapture <$> (modify (+ 1) *> get))- currentCaptureNumber <- get- contents <- option MatchNull $+ (modifier, stModifier) <-+ if resetCaptureNumbers+ then return (id, id)+ else lift (char '?' *> pGroupModifiers)+ <|> do modify (\st -> st{+ rsCurrentCaptureNumber =+ rsCurrentCaptureNumber st + 1})+ num <- gets rsCurrentCaptureNumber+ pure (MatchCapture num, id)+ currentCaptureNumber <- gets rsCurrentCaptureNumber+ contents <- option MatchNull $ withStateT stModifier $ foldr MatchAlt- <$> (pAltPart caseSensitive)- <*> (many $ lift (char '|') *>- (((if resetCaptureNumbers- then put currentCaptureNumber- else return ()) >> pAltPart caseSensitive) <|> pure mempty))- _ <- lift (satisfy (== 41))+ <$> pAltPart+ <*> many (lift (char '|') *>+ ((when resetCaptureNumbers+ (modify (\st ->+ st{ rsCurrentCaptureNumber = currentCaptureNumber }))+ >> pAltPart) <|> pure mempty))+ _ <- lift (char ')') return $ modifier contents -pGroupModifiers :: Parser (Regex -> Regex)+pGroupModifiers :: Parser (Regex -> Regex, RState -> RState) pGroupModifiers =- (id <$ char ':')+ (do stmod <- pRegexModifier -- (?i:+ void (char ':')+ pure (id, stmod)) <|> do dir <- option Forward $ Backward <$ char '<'- (AssertPositive dir <$ char '=') <|> (AssertNegative dir <$ char '!')+ ((AssertPositive dir, id) <$ char '=') <|>+ ((AssertNegative dir, id) <$ char '!') <|>- do n <- satisfy (\d -> d >= 48 && d <= 57)- return (\_ -> Subroutine (fromIntegral n - 48))+ do c <- digit+ return (\_ -> Subroutine (ord c - 48), id) <|>- do _ <- satisfy (== 82) -- R- return (\_ -> Subroutine 0)+ do void $ char 'R'+ return (\_ -> Subroutine 0, id) -pSuffix :: Regex -> Parser Regex+pRegexModifier :: Parser (RState -> RState)+pRegexModifier = do+ -- "adlupimnsx-imnsx"+ -- i = 105 - = 45+ ons <- many $ satisfy (inClass "adlupimnsx")+ offs <- option [] $ char '-' *>+ many (satisfy (inClass "imnsx"))+ pure $ \st -> st{+ rsCaseSensitive =+ if 'i' `elem` ons && 'i' `notElem` offs+ then False+ else ('i' `elem` offs) || rsCaseSensitive st+ }++pSuffix :: Regex -> RParser Regex pSuffix re = option re $ do- w <- satisfy (\x -> x == 42 || x == 43 || x == 63 || x == 123)+ w <- lift $ satisfy (inClass "*+?{") (case w of- 42 -> return $ MatchAlt (MatchSome re) MatchNull- 43 -> return $ MatchSome re- 63 -> return $ MatchAlt re MatchNull- 123 -> do- let isDig x = x >= 48 && x < 58- minn <- option Nothing $ readMay . U.toString <$> A.takeWhile isDig- maxn <- option minn $ char ',' *>- (readMay . U.toString <$> A.takeWhile isDig)- _ <- char '}'+ '*' -> return $ MatchAlt (MatchSome re) MatchNull+ '+' -> return $ MatchSome re+ '?' -> return $ MatchAlt re MatchNull+ '{' -> do+ minn <- lift $+ option Nothing $ readMay . T.unpack <$> A.takeWhile isDigit+ maxn <- lift $ option minn $ char ',' *>+ (readMay . T.unpack <$> A.takeWhile isDigit)+ _ <- lift $ char '}' case (minn, maxn) of (Nothing, Nothing) -> mzero (Just n, Nothing) -> return $! atleast n re (Nothing, Just n) -> return $! atmost n re (Just m, Just n) -> return $! between m n re- _ -> fail "pSuffix encountered impossible byte") >>= pQuantifierModifier+ _ -> fail "pSuffix encountered impossible byte") >>=+ lift . pQuantifierModifier where atmost 0 _ = MatchNull atmost n r = MatchAlt (mconcat (replicate n r)) (atmost (n-1) r)@@ -120,55 +151,41 @@ pQuantifierModifier :: Regex -> Parser Regex pQuantifierModifier re = option re $- (Possessive re <$ satisfy (== 43)) <|>- (Lazy re <$ satisfy (==63))+ (Possessive re <$ char '+') <|> (Lazy re <$ char '?') -pRegexChar :: Bool -> Parser Regex-pRegexChar caseSensitive = do- w <- satisfy $ const True+pRegexChar :: RParser Regex+pRegexChar = do+ w <- lift anyChar+ caseSensitive <- gets rsCaseSensitive case w of- 46 -> return MatchAnyChar- 37 -> (do -- dynamic %1 %2- ds <- A.takeWhile1 (\x -> x >= 48 && x <= 57)- case readMay (U.toString ds) of+ '.' -> return MatchAnyChar+ '%' -> (do -- dynamic %1 %2+ ds <- lift $ many1 digit+ case readMay ds of Just !n -> return $ MatchDynamic n Nothing -> fail "not a number") <|> return (MatchChar (== '%'))- 92 -> pRegexEscapedChar- 36 -> return AssertEnd- 94 -> return AssertBeginning- 91 -> pRegexCharClass- _ | w < 128- , not (isSpecial w)- -> do let c = chr $ fromIntegral w- return $! MatchChar $- if caseSensitive- then (== c)- else (\d -> toLower d == toLower c)- | w >= 0xc0 -> do- rest <- case w of- _ | w >= 0xf0 -> A.take 3- | w >= 0xe0 -> A.take 2- | otherwise -> A.take 1- case U.uncons (B.cons w rest) of- Just (d, _) -> return $! MatchChar $- if caseSensitive- then (== d)- else (\e -> toLower e == toLower d)- Nothing -> fail "could not decode as UTF8"- | otherwise -> mzero+ '\\' -> lift pRegexEscapedChar+ '$' -> return AssertEnd+ '^' -> return AssertBeginning+ '[' -> lift pRegexCharClass+ _ | isSpecial w -> mzero+ | otherwise -> return $!+ MatchChar $ if caseSensitive+ then (== w)+ else (\d -> toLower d == toLower w) pRegexEscapedChar :: Parser Regex pRegexEscapedChar = do- c <- anyChar+ c <- A.anyChar (case c of 'b' -> return AssertWordBoundary 'B' -> return $ AssertNegative Forward AssertWordBoundary '{' -> do -- captured pattern: \1 \2 \{12}- ds <- A.takeWhile1 (\x -> x >= 48 && x <= 57)+ ds <- many1 digit _ <- char '}'- case readMay (U.toString ds) of- Just !n -> return $ MatchCaptured $ n+ case readMay ds of+ Just !n -> return $ MatchCaptured n Nothing -> fail "not a number" 'd' -> return $ MatchChar isDigit 'D' -> return $ MatchChar (not . isDigit)@@ -176,7 +193,8 @@ 'S' -> return $ MatchChar (not . isSpace) 'w' -> return $ MatchChar isWordChar 'W' -> return $ MatchChar (not . isWordChar)- _ | c >= '0' && c <= '9' ->+ 'p' -> MatchChar <$> pUnicodeCharClass+ _ | isDigit c -> return $! MatchCaptured (ord c - ord '0') | otherwise -> mzero) <|> (MatchChar . (==) <$> pEscaped c) @@ -192,28 +210,27 @@ 'v' -> return '\v' '0' -> do -- \0ooo matches octal ooo ds <- A.take 3- case readMay ("'\\o" ++ U.toString ds ++ "'") of+ case readMay ("'\\o" ++ T.unpack ds ++ "'") of Just x -> return x Nothing -> fail "invalid octal character escape" _ | c >= '1' && c <= '7' -> do -- \123 matches octal 123, \1 matches octal 1 let octalDigitScanner s w- | s < 3, w >= 48 && w <= 55- = Just (s + 1) -- digits 0-7+ | s < 3, isOctDigit w = Just (s + 1) -- digits 0-7 | otherwise = Nothing ds <- A.scan (1 :: Int) octalDigitScanner- case readMay ("'\\o" ++ [c] ++ U.toString ds ++ "'") of+ case readMay ("'\\o" ++ [c] ++ T.unpack ds ++ "'") of Just x -> return x Nothing -> fail "invalid octal character escape" 'z' -> do -- \zhhhh matches unicode hex char hhhh ds <- A.take 4- case readMay ("'\\x" ++ U.toString ds ++ "'") of+ case readMay ("'\\x" ++ T.unpack ds ++ "'") of Just x -> return x Nothing -> fail "invalid hex character escape" 'x' -> do -- \xhh matches hex hh, \x{h+} matches hex h+- ds <- (satisfy (== 123) *> A.takeWhile (/= 125) <* satisfy (== 125))+ ds <- (char '{' *> A.takeWhile (/= '}') <* char '}') <|> A.take 2- case readMay ("'\\x" ++ U.toString ds ++ "'") of+ case readMay ("'\\x" ++ T.unpack ds ++ "'") of Just x -> return x Nothing -> fail "invalid hex character escape" _ | isPunctuation c || isSymbol c || isSpace c -> return c@@ -221,9 +238,9 @@ pRegexCharClass :: Parser Regex pRegexCharClass = do- negated <- option False $ True <$ satisfy (== 94) -- '^'+ negated <- option False $ True <$ char '^' let getEscapedClass = do- _ <- satisfy (== 92) -- backslash+ _ <- char '\\' (isDigit <$ char 'd') <|> (not . isDigit <$ char 'D') <|> (isSpace <$ char 's')@@ -232,7 +249,7 @@ <|> (not . isWordChar <$ char 'W') let getPosixClass = do _ <- string "[:"- localNegated <- option False $ True <$ satisfy (== 94) -- '^'+ localNegated <- option False $ True <$ char '^' res <- (isAlphaNum <$ string "alnum") <|> (isAlpha <$ string "alpha") <|> (isAscii <$ string "ascii")@@ -251,73 +268,95 @@ <|> (isHexDigit <$ string "xdigit") _ <- string ":]" return $! if localNegated then not . res else res- let getC = (satisfy (== 92) *> anyChar >>= pEscaped) <|>- (chr . fromIntegral <$> satisfy (\x -> x /= 92 && x /= 93)) -- \ ]+ let getC = (char '\\' *> anyChar >>= pEscaped) <|>+ satisfy (\c -> c /= '\\' && c /= ']') let getCRange = do c <- getC- (\d -> (\x -> x >= c && x <= d)) <$> (char '-' *> getC) <|>+ (\d x -> x >= c && x <= d) <$> (char '-' *> getC) <|> return (== c)- let getCClass = do -- character class \p{Lo}- _ <- A.string "\\p"- ds <- satisfy (== 123) *> A.takeWhile (/= 125) <* satisfy (== 125)- return $- (case ds of- "Lu" -> (== UppercaseLetter)- "Ll" -> (== LowercaseLetter)- "Lt" -> (== TitlecaseLetter)- "Lm" -> (== ModifierLetter)- "Lo" -> (== OtherLetter)- "Mn" -> (== NonSpacingMark)- "Mc" -> (== SpacingCombiningMark)- "Me" -> (== EnclosingMark)- "Nd" -> (== DecimalNumber)- "Nl" -> (== LetterNumber)- "No" -> (== OtherNumber)- "Pc" -> (== ConnectorPunctuation)- "Pd" -> (== DashPunctuation)- "Ps" -> (== OpenPunctuation)- "Pe" -> (== ClosePunctuation)- "Pi" -> (== InitialQuote)- "Pf" -> (== FinalQuote)- "Po" -> (== OtherPunctuation)- "Sm" -> (== MathSymbol)- "Sc" -> (== CurrencySymbol)- "Sk" -> (== ModifierSymbol)- "So" -> (== OtherSymbol)- "Zs" -> (== Space)- "Zl" -> (== LineSeparator)- "Zp" -> (== ParagraphSeparator)- "Cc" -> (== Control)- "Cf" -> (== Format)- "Cs" -> (== Surrogate)- "Co" -> (== PrivateUse)- "Cn" -> (== NotAssigned)- _ -> (const False)) . generalCategory+ let getQELiteral = do+ void $ A.string "\\Q"+ cs <- manyTill anyChar (A.string "\\E")+ return $! \c -> any (== c) cs brack <- option [] $ [(==']')] <$ char ']'- fs <- many (getEscapedClass <|> getPosixClass <|> getCRange <|> getCClass)- _ <- satisfy (== 93) -- ]+ fs <- many (getQELiteral <|> getEscapedClass <|> getPosixClass <|> getCRange+ <|> (A.string "\\p" *> pUnicodeCharClass))+ void $ char ']' let f c = any ($ c) $ brack ++ fs- return $! MatchChar (if negated then (not . f) else f)+ return $! MatchChar $ if negated+ then not . f+ else f -anyChar :: Parser Char-anyChar = do- w <- satisfy (const True)- return $! chr $ fromIntegral w+-- character class \p{Lo}; we assume \p is already parsed+pUnicodeCharClass :: Parser (Char -> Bool)+pUnicodeCharClass = do+ ds <- char '{' *> A.takeWhile (/= '}') <* char '}'+ return $+ (case ds of+ "Lu" -> (== UppercaseLetter)+ "Ll" -> (== LowercaseLetter)+ "Lt" -> (== TitlecaseLetter)+ "Lm" -> (== ModifierLetter)+ "Lo" -> (== OtherLetter)+ "L" -> (\c -> c == UppercaseLetter || c == LowercaseLetter ||+ c == TitlecaseLetter || c == ModifierLetter ||+ c == OtherLetter)+ "Mn" -> (== NonSpacingMark)+ "Mc" -> (== SpacingCombiningMark)+ "Me" -> (== EnclosingMark)+ "M" -> (\c -> c == NonSpacingMark || c == SpacingCombiningMark ||+ c == EnclosingMark)+ "Nd" -> (== DecimalNumber)+ "Nl" -> (== LetterNumber)+ "No" -> (== OtherNumber)+ "N" -> (\c -> c == DecimalNumber || c == LetterNumber ||+ c == OtherNumber)+ "Pc" -> (== ConnectorPunctuation)+ "Pd" -> (== DashPunctuation)+ "Ps" -> (== OpenPunctuation)+ "Pe" -> (== ClosePunctuation)+ "Pi" -> (== InitialQuote)+ "Pf" -> (== FinalQuote)+ "Po" -> (== OtherPunctuation)+ "P" -> (\c -> c == ConnectorPunctuation || c == DashPunctuation ||+ c == OpenPunctuation || c == ClosePunctuation ||+ c == InitialQuote || c == FinalQuote ||+ c == OtherPunctuation)+ "Sm" -> (== MathSymbol)+ "Sc" -> (== CurrencySymbol)+ "Sk" -> (== ModifierSymbol)+ "So" -> (== OtherSymbol)+ "S" -> (\c -> c == MathSymbol || c == CurrencySymbol ||+ c == ModifierSymbol || c == OtherSymbol)+ "Zs" -> (== Space)+ "Zl" -> (== LineSeparator)+ "Zp" -> (== ParagraphSeparator)+ "Z" -> (\c -> c == Space || c == LineSeparator ||+ c == ParagraphSeparator)+ "Cc" -> (== Control)+ "Cf" -> (== Format)+ "Cs" -> (== Surrogate)+ "Co" -> (== PrivateUse)+ "Cn" -> (== NotAssigned)+ "C" -> (\c -> c == Control || c == Format || c == Surrogate ||+ c == PrivateUse || c == NotAssigned)+ _ -> const False) . generalCategory -isSpecial :: Word8 -> Bool-isSpecial 92 = True -- '\\'-isSpecial 63 = True -- '?'-isSpecial 42 = True -- '*'-isSpecial 43 = True -- '+'--- isSpecial 123 = True -- '{' -- this is okay except in suffixes-isSpecial 91 = True -- '['-isSpecial 93 = True -- ']'-isSpecial 37 = True -- '%'-isSpecial 40 = True -- '('-isSpecial 41 = True -- ')'-isSpecial 124 = True -- '|'-isSpecial 46 = True -- '.'-isSpecial 36 = True -- '$'-isSpecial 94 = True -- '^'++isSpecial :: Char -> Bool+isSpecial '\\' = True+isSpecial '?' = True+isSpecial '*' = True+isSpecial '+' = True+-- isSpecial '{' = True -- this is okay except in suffixes+isSpecial '[' = True+isSpecial ']' = True+isSpecial '%' = True+isSpecial '(' = True+isSpecial ')' = True+isSpecial '|' = True+isSpecial '.' = True+isSpecial '$' = True+isSpecial '^' = True isSpecial _ = False
src/Regex/KDE/Match.hs view
@@ -156,22 +156,16 @@ atWordBoundary :: Match -> Bool atWordBoundary m =- case matchOffset m of- 0 -> True- n | n == B.length (matchBytes m) -> True- | otherwise ->- case lastCharOffset (matchBytes m) (matchOffset m) of- Nothing -> True- Just off ->- case U.toString (B.drop (off - 1) (matchBytes m)) of- (prev:cur:next:_) ->- (isWordChar cur /= isWordChar next) ||- (isWordChar cur /= isWordChar prev)- _ -> True+ case lastCharOffset (matchBytes m) (matchOffset m) of+ Nothing -> True+ Just off ->+ case U.toString (B.drop off (matchBytes m)) of+ (cur:next:_) -> isWordChar cur /= isWordChar next+ _ -> True lastCharOffset :: ByteString -> Int -> Maybe Int lastCharOffset _ 0 = Nothing-lastCharOffset _ 1 = Nothing+lastCharOffset _ 1 = Just 0 lastCharOffset bs n = case B.index bs (n - 2) of w | w < 0b10000000 -> Just (n - 1)
src/Skylighting/Tokenizer.hs view
@@ -383,7 +383,9 @@ wordDetect :: Bool -> Set.Set Char -> Text -> ByteString -> TokenizerM Text wordDetect caseSensitive weakDelims s inp = do- wordBoundary weakDelims inp+ -- Removed the next line because KDE seems to allow+ -- \n<DOCTYPE! to match \b<DOCTYPE!/b:+ -- wordBoundary weakDelims inp t <- decodeBS $ UTF8.take (Text.length s) inp -- we assume here that the case fold will not change length, -- which is safe for ASCII keywords and the like...
src/Skylighting/Types.hs view
@@ -312,6 +312,10 @@ case reads ['(','0','x',r1,r2,',','0','x',g1,g2,',','0','x',b1,b2,')'] of ((r,g,b),_) : _ -> Just $ RGB r g b _ -> Nothing+ toColor ['#',_,_,r1,r2,g1,g2,b1,b2] = -- ARGB format, we just ignore the A+ case reads ['(','0','x',r1,r2,',','0','x',g1,g2,',','0','x',b1,b2,')'] of+ ((r,g,b),_) : _ -> Just $ RGB r g b+ _ -> Nothing toColor _ = Nothing instance ToColor Int where
test/expected/hk91.html.native view
@@ -1,5 +1,5 @@-[ [ ( DataTypeTok , "<!DOCTYPE " )- , ( NormalTok , "HTML" )+[ [ ( DataTypeTok , "<!DOCTYPE" )+ , ( NormalTok , " HTML" ) , ( DataTypeTok , ">" ) ] , [ ( DataTypeTok , "<" )
test/test-skylighting.hs view
@@ -310,6 +310,7 @@ , ("[\\p{Lu}\\p{Ll}]*", "Σφa1B", Just ("Σφa", [])) , ("\\bhello\\b|hell", "hello there", Just ("hello", [])) , ("\\bhello\\b|hell", "hellothere", Just ("hell", []))+ , ("u\\b", "ue", Nothing) , ("[[:space:]]{2,4}.", " abc", Just (" a", [])) , ("[[:space:]]{2,4}.", " abc", Nothing) , ("[[:space:]]{2,4}.", " abc", Just (" ", []))@@ -335,6 +336,9 @@ , ("(?|(abc)|(def))", "abc", Just ("abc", [(1,"abc")])) , ("(?|(abc)|(def))", "def", Just ("def", [(1,"def")])) , ("(?:(abc)|(def))", "def", Just ("def", [(2,"def")]))+ , ("((?i:infinity|e|pi)|NaN)", "InfInity",+ Just ("InfInity", [(1,"InfInity")]))+-- , ("(?im)foo", "Foo", Just ("Foo", [])) , ("d(?=(bc)|(ef))", "def", Just ("d", [(2,"ef")])) , ("([bcd])([efg])(?2)(?1)", "befd", Just ("befd", [(1,"b"),(2,"e")])) , ("([abc](?1)*)", "abcd", Just ("abc", [(1,"abc")]))@@ -342,6 +346,8 @@ , ("a|\\((?0)\\)", "(((a)))", Just ("(((a)))", [])) , ("([abc](x(?1))*)", "axbxcc", Just ("axbxc", [(1,"axbxc"),(2,"xc")])) -- note: pcre gives insetad (2, "xbxc") -- I don't understand why+ , ("[\\p{Nd}]", "33", Just ("3", []))+ , ("\\p{N}", "33", Just ("3", [])) ]
xml/actionscript.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language>-<language name="ActionScript 2.0" version="9" kateversion="5.62" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)">+<language name="ActionScript 2.0" version="10" kateversion="5.79" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)"> <highlighting> <list name="properties">
xml/bash.xml view
@@ -66,7 +66,7 @@ <language name="Bash"- version="50"+ version="51" kateversion="5.79" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD"@@ -1005,13 +1005,15 @@ <DetectChar attribute="Redirection" context="#pop!WordRedirection" char="<"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="FdRedirection" fallthroughContext="#pop!FdRedirection2">- <DetectSpaces attribute="Normal Text" context="#pop!FdRedirection2"/>+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar attribute="Comment" context="#pop!Comment" char="#"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="FdRedirection2" fallthroughContext="#pop!WordRedirection2"> <RegExpr attribute="File Descriptor" context="#pop!CloseFile" String="[0-9]+(?=-?&eoexpr;)"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="WordRedirection" fallthroughContext="#pop!WordRedirection2">- <DetectSpaces attribute="Normal Text" context="#pop!WordRedirection2"/>+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar attribute="Comment" context="#pop!Comment" char="#"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="WordRedirection2" fallthroughContext="#pop"> <AnyChar context="#pop" String="&wordseps;`" lookAhead="1"/>@@ -1019,7 +1021,8 @@ <RegExpr attribute="Path" context="PathThenPop" String="&path;"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="StringRedirection" fallthroughContext="#pop!StringRedirection2">- <DetectSpaces attribute="Normal Text" context="#pop!StringRedirection2"/>+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar attribute="Comment" context="#pop!Comment" char="#"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="StringRedirection2"> <AnyChar context="#pop" String="&wordseps;`" lookAhead="1"/>
xml/cpp.xml view
@@ -11,12 +11,12 @@ <language name="C++" section="Sources"- version="15"+ version="17" kateversion="5.79" indenter="cstyle" style="C++" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"- extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.cu;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.cuh;*.inl;*.ino;*.pde;*.moc"+ extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.inl;*.pde;*.moc;*.mpp;*.ixx;*.cppm;*.cxxm;*.c++m;*.ccm" author="Alex Turbov (i.zaufi@gmail.com)" license="LGPL" priority="9"@@ -50,11 +50,16 @@ <item>Q_EMIT</item> <item>Q_ENUM</item> <item>Q_ENUMS</item>+ <item>Q_ENUM_NS</item> <item>Q_FLAG</item> <item>Q_FLAGS</item>+ <item>Q_FLAG_NS</item> <item>Q_GADGET</item>+ <item>Q_GADGET_EXPORT</item> <item>Q_INTERFACES</item> <item>Q_INVOKABLE</item>+ <item>Q_NAMESPACE</item>+ <item>Q_NAMESPACE_EXPORT</item> <item>Q_OBJECT</item> <item>Q_PROPERTY</item> <item>Q_REVISION</item>@@ -458,6 +463,27 @@ <item>Q_MOVABLE_TYPE</item> <item>Q_DUMMY_TYPE</item> <item>Q_RELOCATABLE_TYPE</item>+ <!--https://doc.qt.io/qt-6/qqmlengine.html#macros-->+ <item>QML_ADDED_IN_MINOR_VERSION</item>+ <item>QML_ANONYMOUS</item>+ <item>QML_ATTACHED</item>+ <item>QML_DECLARE_TYPE</item>+ <item>QML_DECLARE_TYPEINFO</item>+ <item>QML_ELEMENT</item>+ <item>QML_EXTENDED</item>+ <item>QML_EXTENDED_NAMESPACE</item>+ <item>QML_EXTRA_VERSION</item>+ <item>QML_FOREIGN</item>+ <item>QML_FOREIGN_NAMESPACE</item>+ <item>QML_IMPLEMENTS_INTERFACES</item>+ <item>QML_INTERFACE</item>+ <item>QML_NAMED_ELEMENT</item>+ <item>QML_REMOVED_IN_MINOR_VERSION</item>+ <item>QML_SEQUENTIAL_CONTAINER</item>+ <item>QML_SINGLETON</item>+ <item>QML_UNAVAILABLE</item>+ <item>QML_UNCREATABLE</item>+ <item>QML_VALUE_TYPE</item> </list> <list name="QtFunc">
xml/css.xml view
@@ -2,1956 +2,2080 @@ <!DOCTYPE language [ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->- <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">- <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">- <!ENTITY ident "[-]?(&nmstart;)(&nmchar;)*">-]>--<!----Kate CSS syntax highlighting definition--Changelog:--- Version 8, by Jonathan Poelen-- fix some Operator and Selector Tag highlighting--- Version 7, by Jonathan Poelen-- fix tag followed by a pseudo-class in a nested rule (@media, ...)-- fix constraint in a rule-- fix Kate auto-completion for properties and rules-- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Variable, Value Keyword, Color, Number, Unit, Selector Tag--- Version 4, by Guo Yunhe guoyunhebrave@gmail.com-- Remake for complex CSS syntax, avoid errors--- Version 2.13, by Guo Yunhe-- Add all W3C Work Draft properties--- Version 2.06, by Mte90:-- CSS3 tag--- Version 2.03, by Milian Wolff:-- Make it spelling aware--- Version 2.08, Joseph Wenninger:-- CSS3 media queries---->--<language name="CSS" version="15" kateversion="5.53" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">- <!-- https://www.w3.org/Style/CSS/current-work -->-- <highlighting>- <list name="properties">- <!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties (exclude FPWD)-->- <item>accent-color</item>- <item>align-content</item>- <item>align-items</item>- <item>alignment-baseline</item>- <item>align-self</item>- <item>all</item>- <item>animation</item>- <item>animation-delay</item>- <item>animation-direction</item>- <item>animation-duration</item>- <item>animation-fill-mode</item>- <item>animation-iteration-count</item>- <item>animation-name</item>- <item>animation-play-state</item>- <item>animation-timing-function</item>- <item>appearance</item>- <item>aspect-ratio</item>- <item>azimuth</item>- <item>backdrop-filter</item>- <item>backface-visibility</item>- <item>background</item>- <item>background-attachment</item>- <item>background-blend-mode</item>- <item>background-clip</item>- <item>background-color</item>- <item>background-image</item>- <item>background-origin</item>- <item>background-position</item>- <item>background-position-x</item>- <item>background-position-y</item>- <item>background-repeat</item>- <item>background-size</item>- <item>baseline-shift</item>- <item>baseline-source</item>- <item>block-ellipsis</item>- <item>block-size</item>- <item>bookmark-label</item>- <item>bookmark-level</item>- <item>bookmark-state</item>- <item>border</item>- <item>border-block</item>- <item>border-block-color</item>- <item>border-block-end</item>- <item>border-block-end-color</item>- <item>border-block-end-style</item>- <item>border-block-end-width</item>- <item>border-block-start</item>- <item>border-block-start-color</item>- <item>border-block-start-style</item>- <item>border-block-start-width</item>- <item>border-block-style</item>- <item>border-block-width</item>- <item>border-bottom</item>- <item>border-bottom-color</item>- <item>border-bottom-left-radius</item>- <item>border-bottom-right-radius</item>- <item>border-bottom-style</item>- <item>border-bottom-width</item>- <item>border-boundary</item>- <item>border-collapse</item>- <item>border-color</item>- <item>border-end-end-radius</item>- <item>border-end-start-radius</item>- <item>border-image</item>- <item>border-image-outset</item>- <item>border-image-repeat</item>- <item>border-image-slice</item>- <item>border-image-source</item>- <item>border-image-width</item>- <item>border-inline</item>- <item>border-inline-color</item>- <item>border-inline-end</item>- <item>border-inline-end-color</item>- <item>border-inline-end-style</item>- <item>border-inline-end-width</item>- <item>border-inline-start</item>- <item>border-inline-start-color</item>- <item>border-inline-start-style</item>- <item>border-inline-start-width</item>- <item>border-inline-style</item>- <item>border-inline-width</item>- <item>border-left</item>- <item>border-left-color</item>- <item>border-left-style</item>- <item>border-left-width</item>- <item>border-radius</item>- <item>border-right</item>- <item>border-right-color</item>- <item>border-right-style</item>- <item>border-right-width</item>- <item>border-spacing</item>- <item>border-start-end-radius</item>- <item>border-start-start-radius</item>- <item>border-style</item>- <item>border-top</item>- <item>border-top-color</item>- <item>border-top-left-radius</item>- <item>border-top-right-radius</item>- <item>border-top-style</item>- <item>border-top-width</item>- <item>border-width</item>- <item>bottom</item>- <item>box-decoration-break</item>- <item>box-shadow</item>- <item>box-sizing</item>- <item>box-snap</item>- <item>break-after</item>- <item>break-before</item>- <item>break-inside</item>- <item>caption-side</item>- <item>caret</item>- <item>caret-color</item>- <item>caret-shape</item>- <item>chains</item>- <item>clear</item>- <item>clip</item>- <item>clip-path</item>- <item>clip-rule</item>- <item>color</item>- <item>color-adjust</item>- <item>color-interpolation-filters</item>- <item>color-scheme</item>- <item>columns</item>- <item>column-count</item>- <item>column-fill</item>- <item>column-gap</item>- <item>column-rule</item>- <item>column-rule-color</item>- <item>column-rule-style</item>- <item>column-rule-width</item>- <item>column-span</item>- <item>column-width</item>- <item>contain</item>- <item>contain-intrinsic-block-size</item>- <item>contain-intrinsic-height</item>- <item>contain-intrinsic-inline-size</item>- <item>contain-intrinsic-size</item>- <item>contain-intrinsic-width</item>- <item>container</item>- <item>container-name</item>- <item>container-type</item>- <item>content</item>- <item>content-visibility</item>- <item>continue</item>- <item>counter-increment</item>- <item>counter-reset</item>- <item>counter-set</item>- <item>cue</item>- <item>cue-after</item>- <item>cue-before</item>- <item>cursor</item>- <item>direction</item>- <item>display</item>- <item>dominant-baseline</item>- <item>elevation</item>- <item>empty-cells</item>- <item>fill</item>- <item>fill-break</item>- <item>fill-color</item>- <item>fill-image</item>- <item>fill-opacity</item>- <item>fill-origin</item>- <item>fill-position</item>- <item>fill-repeat</item>- <item>fill-rule</item>- <item>fill-size</item>- <item>filter</item>- <item>flex</item>- <item>flex-basis</item>- <item>flex-direction</item>- <item>flex-flow</item>- <item>flex-grow</item>- <item>flex-shrink</item>- <item>flex-wrap</item>- <item>float</item>- <item>flood-color</item>- <item>flood-opacity</item>- <item>flow</item>- <item>flow-from</item>- <item>flow-into</item>- <item>font</item>- <item>font-family</item>- <item>font-feature-settings</item>- <item>font-kerning</item>- <item>font-language-override</item>- <item>font-optical-sizing</item>- <item>font-palette</item>- <item>font-size</item>- <item>font-size-adjust</item>- <item>font-stretch</item>- <item>font-style</item>- <item>font-synthesis</item>- <item>font-synthesis-small-caps</item>- <item>font-synthesis-style</item>- <item>font-synthesis-weight</item>- <item>font-variant</item>- <item>font-variant-alternates</item>- <item>font-variant-caps</item>- <item>font-variant-east-asian</item>- <item>font-variant-emoji</item>- <item>font-variant-ligatures</item>- <item>font-variant-numeric</item>- <item>font-variant-position</item>- <item>font-variation-settings</item>- <item>font-weight</item>- <item>footnote-display</item>- <item>footnote-policy</item>- <item>forced-color-adjust</item>- <item>gap</item>- <item>glyph-orientation-vertical</item>- <item>grid</item>- <item>grid-area</item>- <item>grid-auto-columns</item>- <item>grid-auto-flow</item>- <item>grid-auto-rows</item>- <item>grid-column</item>- <item>grid-column-end</item>- <item>grid-column-start</item>- <item>grid-row</item>- <item>grid-row-end</item>- <item>grid-row-start</item>- <item>grid-template</item>- <item>grid-template-areas</item>- <item>grid-template-columns</item>- <item>grid-template-rows</item>- <item>hanging-punctuation</item>- <item>height</item>- <item>hyphenate-character</item>- <item>hyphenate-limit-chars</item>- <item>hyphenate-limit-last</item>- <item>hyphenate-limit-lines</item>- <item>hyphenate-limit-zone</item>- <item>hyphens</item>- <item>image-orientation</item>- <item>image-rendering</item>- <item>image-resolution</item>- <item>initial-letter</item>- <item>initial-letter-align</item>- <item>initial-letter-wrap</item>- <item>inline-size</item>- <item>inline-sizing</item>- <item>inset</item>- <item>inset-block</item>- <item>inset-block-end</item>- <item>inset-block-start</item>- <item>inset-inline</item>- <item>inset-inline-end</item>- <item>inset-inline-start</item>- <item>isolation</item>- <item>justify-content</item>- <item>justify-items</item>- <item>justify-self</item>- <item>leading-trim</item>- <item>left</item>- <item>letter-spacing</item>- <item>lighting-color</item>- <item>line-break</item>- <item>line-clamp</item>- <item>line-grid</item>- <item>line-height</item>- <item>line-height-step</item>- <item>line-padding</item>- <item>line-snap</item>- <item>list-style</item>- <item>list-style-image</item>- <item>list-style-position</item>- <item>list-style-type</item>- <item>margin</item>- <item>margin-block</item>- <item>margin-block-end</item>- <item>margin-block-start</item>- <item>margin-bottom</item>- <item>margin-inline</item>- <item>margin-inline-end</item>- <item>margin-inline-start</item>- <item>margin-left</item>- <item>margin-right</item>- <item>margin-top</item>- <item>margin-trim</item>- <item>marker-end</item>- <item>marker-mid</item>- <item>marker-side</item>- <item>marker-start</item>- <item>mask</item>- <item>mask-border</item>- <item>mask-border-mode</item>- <item>mask-border-outset</item>- <item>mask-border-repeat</item>- <item>mask-border-slice</item>- <item>mask-border-source</item>- <item>mask-border-width</item>- <item>mask-clip</item>- <item>mask-composite</item>- <item>mask-image</item>- <item>mask-mode</item>- <item>mask-origin</item>- <item>mask-position</item>- <item>mask-repeat</item>- <item>mask-size</item>- <item>mask-type</item>- <item>max-block-size</item>- <item>max-height</item>- <item>max-inline-size</item>- <item>max-lines</item>- <item>max-width</item>- <item>min-block-size</item>- <item>min-height</item>- <item>min-inline-size</item>- <item>min-intrinsic-sizing</item>- <item>min-width</item>- <item>mix-blend-mode</item>- <item>nav-up</item>- <item>nav-down</item>- <item>nav-left</item>- <item>nav-right</item>- <item>object-fit</item>- <item>object-position</item>- <item>offset</item>- <item>offset-anchor</item>- <item>offset-distance</item>- <item>offset-path</item>- <item>offset-position</item>- <item>offset-rotate</item>- <item>opacity</item>- <item>order</item>- <item>orphans</item>- <item>outline</item>- <item>outline-color</item>- <item>outline-offset</item>- <item>outline-style</item>- <item>outline-width</item>- <item>overflow</item>- <item>overflow-anchor</item>- <item>overflow-block</item>- <item>overflow-clip-margin</item>- <item>overflow-inline</item>- <item>overflow-wrap</item>- <item>overflow-x</item>- <item>overflow-y</item>- <item>overscroll-behavior</item>- <item>overscroll-behavior-block</item>- <item>overscroll-behavior-inline</item>- <item>overscroll-behavior-x</item>- <item>overscroll-behavior-y</item>- <item>padding</item>- <item>padding-block</item>- <item>padding-block-end</item>- <item>padding-block-start</item>- <item>padding-bottom</item>- <item>padding-inline</item>- <item>padding-inline-end</item>- <item>padding-inline-start</item>- <item>padding-left</item>- <item>padding-right</item>- <item>padding-top</item>- <item>page</item>- <item>page-break-after</item>- <item>page-break-before</item>- <item>page-break-inside</item>- <item>paint-order</item>- <item>pause</item>- <item>pause-after</item>- <item>pause-before</item>- <item>perspective</item>- <item>perspective-origin</item>- <item>pitch</item>- <item>pitch-range</item>- <item>place-content</item>- <item>place-items</item>- <item>place-self</item>- <item>play-during</item>- <item>pointer-events</item>- <item>position</item>- <item>print-color-adjust</item>- <item>quotes</item>- <item>region-fragment</item>- <item>resize</item>- <item>rest</item>- <item>rest-after</item>- <item>rest-before</item>- <item>richness</item>- <item>right</item>- <item>rotate</item>- <item>rotation</item>- <item>row-gap</item>- <item>ruby-align</item>- <item>ruby-merge</item>- <item>ruby-overhang</item>- <item>ruby-position</item>- <item>running</item>- <item>scale</item>- <item>scroll-behavior</item>- <item>scroll-margin</item>- <item>scroll-margin-block</item>- <item>scroll-margin-block-end</item>- <item>scroll-margin-block-start</item>- <item>scroll-margin-bottom</item>- <item>scroll-margin-inline</item>- <item>scroll-margin-inline-end</item>- <item>scroll-margin-inline-start</item>- <item>scroll-margin-left</item>- <item>scroll-margin-right</item>- <item>scroll-margin-top</item>- <item>scroll-padding</item>- <item>scroll-padding-block</item>- <item>scroll-padding-block-end</item>- <item>scroll-padding-block-start</item>- <item>scroll-padding-bottom</item>- <item>scroll-padding-inline</item>- <item>scroll-padding-inline-end</item>- <item>scroll-padding-inline-start</item>- <item>scroll-padding-left</item>- <item>scroll-padding-right</item>- <item>scroll-padding-top</item>- <item>scroll-snap-align</item>- <item>scroll-snap-stop</item>- <item>scroll-snap-type</item>- <item>scrollbar-color</item>- <item>scrollbar-gutter</item>- <item>scrollbar-width</item>- <item>shape-image-threshold</item>- <item>shape-inside</item>- <item>shape-margin</item>- <item>shape-outside</item>- <item>speak-as</item>- <item>spatial-navigation-action</item>- <item>spatial-navigation-contain</item>- <item>spatial-navigation-function</item>- <item>speak</item>- <item>speak-header</item>- <item>speak-numeral</item>- <item>speak-punctuation</item>- <item>speech-rate</item>- <item>stress</item>- <item>string-set</item>- <item>tab-size</item>- <item>table-layout</item>- <item>text-align-all</item>- <item>text-align</item>- <item>text-align-last</item>- <item>text-combine-upright</item>- <item>text-decoration</item>- <item>text-decoration-color</item>- <item>text-decoration-line</item>- <item>text-decoration-skip</item>- <item>text-decoration-skip-box</item>- <item>text-decoration-skip-ink</item>- <item>text-decoration-skip-inset</item>- <item>text-decoration-skip-self</item>- <item>text-decoration-skip-spaces</item>- <item>text-decoration-style</item>- <item>text-decoration-thickness</item>- <item>text-edge</item>- <item>text-emphasis</item>- <item>text-emphasis-color</item>- <item>text-emphasis-position</item>- <item>text-emphasis-skip</item>- <item>text-emphasis-style</item>- <item>text-group-align</item>- <item>text-indent</item>- <item>text-justify</item>- <item>text-orientation</item>- <item>text-overflow</item>- <item>text-rendering</item>- <item>text-shadow</item>- <item>text-space-collapse</item>- <item>text-space-trim</item>- <item>text-spacing</item>- <item>text-transform</item>- <item>text-underline-offset</item>- <item>text-underline-position</item>- <item>text-wrap</item>- <item>top</item>- <item>transform</item>- <item>transform-box</item>- <item>transform-origin</item>- <item>transform-style</item>- <item>transition</item>- <item>transition-delay</item>- <item>transition-duration</item>- <item>transition-property</item>- <item>transition-timing-function</item>- <item>translate</item>- <item>unicode-bidi</item>- <item>user-select</item>- <item>vertical-align</item>- <item>visibility</item>- <item>voice-balance</item>- <item>voice-duration</item>- <item>voice-family</item>- <item>voice-pitch</item>- <item>voice-range</item>- <item>voice-rate</item>- <item>voice-stress</item>- <item>voice-volume</item>- <item>volume</item>- <item>white-space</item>- <item>widows</item>- <item>width</item>- <item>will-change</item>- <item>word-boundary-detection</item>- <item>word-boundary-expansion</item>- <item>word-break</item>- <item>word-spacing</item>- <item>word-wrap</item>- <item>wrap-after</item>- <item>wrap-before</item>- <item>wrap-flow</item>- <item>wrap-inside</item>- <item>wrap-through</item>- <item>writing-mode</item>- <item>z-index</item>-- <!-- Gecko rendering engine CSS property extensions -->- <item>-moz-animation</item>- <item>-moz-animation-delay</item>- <item>-moz-animation-direction</item>- <item>-moz-animation-duration</item>- <item>-moz-animation-fill-mode</item>- <item>-moz-animation-iteration-count</item>- <item>-moz-animation-name</item>- <item>-moz-animation-play-state</item>- <item>-moz-animation-timing-function</item>- <item>-moz-appearance</item>- <item>-moz-background-clip</item>- <item>-moz-background-origin</item>- <item>-moz-background-size</item>- <item>-moz-border-image</item>- <item>-moz-border-radius</item>- <item>-moz-border-radius-bottomleft</item>- <item>-moz-border-radius-bottomright</item>- <item>-moz-border-radius-topleft</item>- <item>-moz-border-radius-topright</item>- <item>-moz-box-align</item>- <item>-moz-box-direction</item>- <item>-moz-box-flex</item>- <item>-moz-box-flex-group</item>- <item>-moz-box-ordinal-group</item>- <item>-moz-box-orient</item>- <item>-moz-box-pack</item>- <item>-moz-box-shadow</item>- <item>-moz-box-sizing</item>- <item>-moz-box</item>- <item>-moz-column-count</item>- <item>-moz-column-fill</item>- <item>-moz-column-gap</item>- <item>-moz-column-rule</item>- <item>-moz-column-rule-color</item>- <item>-moz-column-rule-style</item>- <item>-moz-column-rule-width</item>- <item>-moz-columns</item>- <item>-moz-column-width</item>- <item>-moz-hyphens</item>- <item>-moz-opacity</item>- <item>-moz-outline-style</item>- <item>-moz-perspective</item>- <item>-moz-resize</item>- <item>-moz-text-align-last</item>- <item>-moz-text-decoration-color</item>- <item>-moz-text-decoration-line</item>- <item>-moz-text-decoration-style</item>- <item>-moz-transform</item>- <item>-moz-transform-origin</item>- <item>-moz-transform-style</item>- <item>-moz-transition</item>- <item>-moz-transition-delay</item>- <item>-moz-transition-duration</item>- <item>-moz-transition-property</item>- <item>-moz-transition-timing-function</item>- <item>-moz-user-select</item>-- <!-- Opera rendering engine CSS property extensions -->- <item>-o-background-size</item>- <item>-o-linear-gradient</item>- <item>-o-text-overflow</item>- <item>-o-transition</item>- <item>-o-transform-origin</item>-- <!-- konq specific -->- <item>konq_bgpos_x</item>- <item>konq_bgpos_y</item>- <item>-khtml-background-size</item>- <item>-khtml-border-top-left-radius</item>- <item>-khtml-border-top-right-radius</item>- <item>-khtml-border-bottom-left-radius</item>- <item>-khtml-border-bottom-right-radius</item>- <item>-khtml-border-radius</item>- <item>-khtml-box-shadow</item>- <item>-khtml-opacity</item>-- <!-- Webkit rendering engine CSS property extensions -->- <item>-webkit-appearance</item>- <item>-webkit-animation</item>- <item>-webkit-animation-name</item>- <item>-webkit-animation-duration</item>- <item>-webkit-animation-iteration</item>- <item>-webkit-animation-direction</item>- <item>-webkit-animation-delay</item>- <item>-webkit-animation-play-state</item>- <item>-webkit-animation-fill-mode</item>- <item>-webkit-background-size</item>- <item>-webkit-backface-visibility</item>- <item>-webkit-border-image</item>- <item>-webkit-border-bottom-colors</item>- <item>-webkit-border-left-colors</item>- <item>-webkit-border-radius</item>- <item>-webkit-border-right-colors</item>- <item>-webkit-border-top-colors</item>- <item>-webkit-border-top-left-radius</item>- <item>-webkit-border-top-right-radius</item>- <item>-webkit-border-bottom-left-radius</item>- <item>-webkit-border-bottom-right-radius</item>- <item>-webkit-border-radius-bottomleft</item>- <item>-webkit-border-radius-bottomright</item>- <item>-webkit-box-align</item>- <item>-webkit-box-direction</item>- <item>-webkit-box-flex</item>- <item>-webkit-box-ordinal-group</item>- <item>-webkit-box-orient</item>- <item>-webkit-box-pack</item>- <item>-webkit-box-reflect</item>- <item>-webkit-box-shadow</item>- <item>-webkit-box-sizing</item>- <item>-webkit-column-count</item>- <item>-webkit-column-gap</item>- <item>-webkit-hyphens</item>- <item>-webkit-linear-gradient</item>- <item>-webkit-gradient</item>- <item>-webkit-overflow-scrolling</item>- <item>-webkit-perspective</item>- <item>-webkit-text-decoration</item>- <item>-webkit-text-decoration-skip</item>- <item>-webkit-text-fill-color</item>- <item>-webkit-text-stroke-color</item>- <item>-webkit-text-stroke-width</item>- <item>-webkit-text-size-adjust</item>- <item>-webkit-tap-highlight-color</item>- <item>-webkit-transform</item>- <item>-webkit-transform-origin</item>- <item>-webkit-transform-style</item>- <item>-webkit-transition</item>- <item>-webkit-transition-property</item>- <item>-webkit-transition-delay</item>- <item>-webkit-transition-duration</item>- <item>-webkit-user-select</item>-- <!-- Trident (a.k.a., MSHTML) CSS property extensions -->- <item>zoom</item>- <item>-ms-animation-name</item>- <item>-ms-animation-duration</item>- <item>-ms-animation-iteration</item>- <item>-ms-animation-direction</item>- <item>-ms-animation-delay</item>- <item>-ms-animation-play-state</item>- <item>-ms-animation-fill-mode</item>- <item>-ms-box-sizing</item>- <item>-ms-filter</item>- <item>-ms-flex</item>- <item>-ms-flex-align</item>- <item>-ms-flex-direction</item>- <item>-ms-flex-flow</item>- <item>-ms-flex-item-align</item>- <item>-ms-flex-line-pack</item>- <item>-ms-flex-negative</item>- <item>-ms-flex-order</item>- <item>-ms-flex-pack</item>- <item>-ms-flex-positive</item>- <item>-ms-flex-position</item>- <item>-ms-flex-preferred-size</item>- <item>-ms-flex-wrap</item>- <item>-ms-interpolation-mode</item>- <item>-ms-linear-gradient</item>- <item>-ms-overflow-style</item>- <item>-ms-text-size-adjust</item>- <item>-ms-transform</item>- <item>-ms-transition</item>- <item>-ms-user-select</item>- </list>-- <list name="value keywords">- <item>auto</item>- <item>inherit</item>- <item>unset</item>- </list>-- <list name="values">- <item>none</item>- <item>hidden</item>- <item>initial</item>- <item>revert</item>- <item>revert-layer</item>- <item>dotted</item>- <item>dashed</item>- <item>solid</item>- <item>double</item>- <item>groove</item>- <item>ridge</item>- <item>inset</item>- <item>outset</item>- <item>xx-small</item>- <item>x-small</item>- <item>small</item>- <item>medium</item>- <item>large</item>- <item>x-large</item>- <item>xx-large</item>- <item>smaller</item>- <item>larger</item>- <item>italic</item>- <item>oblique</item>- <item>small-caps</item>- <item>normal</item>- <item>bold</item>- <item>bolder</item>- <item>lighter</item>- <item>light</item>- <item>transparent</item>- <item>repeat</item>- <item>repeat-x</item>- <item>repeat-y</item>- <item>no-repeat</item>- <item>baseline</item>- <item>sub</item>- <item>super</item>- <item>top</item>- <item>text-top</item>- <item>middle</item>- <item>bottom</item>- <item>text-bottom</item>- <item>left</item>- <item>right</item>- <item>center</item>- <item>justify</item>- <item>konq-center</item>- <item>disc</item>- <item>square</item>- <item>box</item>- <item>decimal</item>- <item>decimal-leading-zero</item>- <item>lower-roman</item>- <item>upper-roman</item>- <item>lower-greek</item>- <item>lower-alpha</item>- <item>lower-latin</item>- <item>upper-alpha</item>- <item>upper-latin</item>- <item>hebrew</item>- <item>armenian</item>- <item>georgian</item>- <item>cjk-ideographic</item>- <item>hiragana</item>- <item>katakana</item>- <item>hiragana-iroha</item>- <item>katakana-iroha</item>- <item>list-item</item>- <item>compact</item>- <item>marker</item>- <item>crosshair</item>- <item>default</item>- <item>pointer</item>- <item>move</item>- <item>e-resize</item>- <item>ne-resize</item>- <item>nw-resize</item>- <item>n-resize</item>- <item>se-resize</item>- <item>sw-resize</item>- <item>s-resize</item>- <item>w-resize</item>- <item>text</item>- <item>wait</item>- <item>help</item>- <item>above</item>- <item>absolute</item>- <item>always</item>- <item>avoid</item>- <item>avoid-page</item>- <item>avoid-column</item>- <item>avoid-region</item>- <item>below</item>- <item>bidi-override</item>- <item>blink</item>- <item>both</item>- <item>break-word</item>- <item>capitalize</item>- <item>caption</item>- <item>clip</item>- <item>close-quote</item>- <item>collapse</item>- <item>column</item>- <item>condensed</item>- <item>crop</item>- <item>cross</item>- <item>ellipsis</item>- <item>ellipsis-word</item>- <item>embed</item>- <item>expanded</item>- <item>extra-condensed</item>- <item>extra-expanded</item>- <item>fixed</item>- <item>hand</item>- <item>hide</item>- <item>higher</item>- <item>icon</item>- <item>inside</item>- <item>invert</item>- <item>landscape</item>- <item>level</item>- <item>line-through</item>- <item>loud</item>- <item>lower</item>- <item>lowercase</item>- <item>ltr</item>- <item>menu</item>- <item>message-box</item>- <item>mix</item>- <item>narrower</item>- <item>no-close-quote</item>- <item>no-open-quote</item>- <item>nowrap</item>- <item>open-quote</item>- <item>outside</item>- <item>overline</item>- <item>portrait</item>- <item>pre</item>- <item>pre-line</item>- <item>pre-wrap</item>- <item>relative</item>- <item>rtl</item>- <item>scroll</item>- <item>semi-condensed</item>- <item>semi-expanded</item>- <item>separate</item>- <item>show</item>- <item>small-caption</item>- <item>static</item>- <item>static-position</item>- <item>status-bar</item>- <item>sticky</item>- <item>thick</item>- <item>thin</item>- <item>ultra-condensed</item>- <item>ultra-expanded</item>- <item>underline</item>- <item>uppercase</item>- <item>visible</item>- <item>wider</item>- <item>break</item>- <item>serif</item>- <item>sans-serif</item>- <item>cursive</item>- <item>fantasy</item>- <item>monospace</item>- <item>border-box</item>- <item>content-box</item>- <item>-epub-hyphens</item>- <item>contain</item>- <item>cover</item>-- <!-- cursor -->- <item>pointer</item>- <item>default</item>- <item>context-menu</item>- <item>help</item>- <item>pointer</item>- <item>progress</item>- <item>wait</item>- <item>cell</item>- <item>crosshair</item>- <item>text</item>- <item>vertical-text</item>- <item>alias</item>- <item>copy</item>- <item>move</item>- <item>no-drop</item>- <item>not-allowed</item>- <item>grab</item>- <item>grabbing</item>- <item>all-scroll</item>- <item>col-resize</item>- <item>row-resize</item>- <item>n-resize</item>- <item>e-resize</item>- <item>s-resize</item>- <item>w-resize</item>- <item>ne-resize</item>- <item>nw-resize</item>- <item>se-resize</item>- <item>sw-resize</item>- <item>ew-resize</item>- <item>ns-resize</item>- <item>nesw-resize</item>- <item>nwse-resize</item>- <item>zoom-in</item>- <item>zoom-out</item>-- <!-- contain -->- <item>none</item>- <item>strict</item>- <item>content</item>- <item>size</item>- <item>inline-size</item>- <item>layout</item>- <item>style</item>- <item>paint</item>-- <!-- scroll-snap-type -->- <item>mandatory</item>- <item>proximity</item>-- <!-- text-orientation -->- <item>mixed</item>- <item>upright</item>- <item>sideways</item>- <item>sideways-right</item>- <item>use-glyph-orientation</item>-- <!-- shape-outside, clip-path, text-emphasis -->- <item>filled</item>- <item>open</item>- <item>dot</item>- <item>circle</item>- <item>double-circle</item>- <item>triangle</item>- <item>sesame</item>-- <!-- display -->- <!-- https://developer.mozilla.org/fr/docs/Web/CSS/display -->- <item>block</item>- <item>inline</item>- <item>run-in</item>-- <item>flow</item>- <item>flow-root</item>- <item>table</item>- <item>flex</item>- <item>grid</item>- <item>ruby</item>-- <item>list-item</item>-- <item>table-row-group</item>- <item>table-header-group</item>- <item>table-footer-group</item>- <item>table-row</item>- <item>table-cell</item>- <item>table-column-group</item>- <item>table-column</item>- <item>table-caption</item>- <item>ruby-base</item>- <item>ruby-text</item>- <item>ruby-base-container</item>- <item>ruby-text-container</item>-- <item>contents</item>-- <item>inline-block</item>- <item>inline-table</item>- <item>inline-flex</item>- <item>inline-grid</item>-- <!-- transition and animation -->- <item>all</item>- <item>ease</item>- <item>ease-in</item>- <item>ease-out</item>- <item>ease-in-out</item>- <item>step-start</item>- <item>step-end</item>- <item>linear</item>-- <!-- animation -->- <item>infinite</item>- <item>reverse</item>- <item>alternate</item>- <item>alternate-reverse</item>- <item>forwards</item>- <item>backwards</item>- <item>running</item>- <item>paused</item>- </list>-- <list name="colors">- <item>black</item>- <item>silver</item>- <item>gray</item>- <item>white</item>- <item>maroon</item>- <item>red</item>- <item>purple</item>- <item>fuchsia</item>- <item>green</item>- <item>lime</item>- <item>olive</item>- <item>yellow</item>- <item>navy</item>- <item>blue</item>- <item>teal</item>- <item>aqua</item>- <item>orange</item>- <item>aliceblue</item>- <item>antiquewhite</item>- <item>aquamarine</item>- <item>azure</item>- <item>beige</item>- <item>bisque</item>- <item>blanchedalmond</item>- <item>blueviolet</item>- <item>brown</item>- <item>burlywood</item>- <item>cadetblue</item>- <item>chartreuse</item>- <item>chocolate</item>- <item>coral</item>- <item>cornflowerblue</item>- <item>cornsilk</item>- <item>crimson</item>- <item>cyan</item>- <item>aqua</item>- <item>darkblue</item>- <item>darkcyan</item>- <item>darkgoldenrod</item>- <item>darkgray</item>- <item>darkgreen</item>- <item>darkgrey</item>- <item>darkkhaki</item>- <item>darkmagenta</item>- <item>darkolivegreen</item>- <item>darkorange</item>- <item>darkorchid</item>- <item>darkred</item>- <item>darksalmon</item>- <item>darkseagreen</item>- <item>darkslateblue</item>- <item>darkslategray</item>- <item>darkslategrey</item>- <item>darkturquoise</item>- <item>darkviolet</item>- <item>deeppink</item>- <item>deepskyblue</item>- <item>dimgray</item>- <item>dimgrey</item>- <item>dodgerblue</item>- <item>firebrick</item>- <item>floralwhite</item>- <item>forestgreen</item>- <item>gainsboro</item>- <item>ghostwhite</item>- <item>gold</item>- <item>goldenrod</item>- <item>greenyellow</item>- <item>grey</item>- <item>honeydew</item>- <item>hotpink</item>- <item>indianred</item>- <item>indigo</item>- <item>ivory</item>- <item>khaki</item>- <item>lavender</item>- <item>lavenderblush</item>- <item>lawngreen</item>- <item>lemonchiffon</item>- <item>lightblue</item>- <item>lightcoral</item>- <item>lightcyan</item>- <item>lightgoldenrodyellow</item>- <item>lightgray</item>- <item>lightgreen</item>- <item>lightgrey</item>- <item>lightpink</item>- <item>lightsalmon</item>- <item>lightseagreen</item>- <item>lightskyblue</item>- <item>lightslategray</item>- <item>lightslategrey</item>- <item>lightsteelblue</item>- <item>lightyellow</item>- <item>limegreen</item>- <item>linen</item>- <item>magenta</item>- <item>fuchsia</item>- <item>mediumaquamarine</item>- <item>mediumblue</item>- <item>mediumorchid</item>- <item>mediumpurple</item>- <item>mediumseagreen</item>- <item>mediumslateblue</item>- <item>mediumspringgreen</item>- <item>mediumturquoise</item>- <item>mediumvioletred</item>- <item>midnightblue</item>- <item>mintcream</item>- <item>mistyrose</item>- <item>moccasin</item>- <item>navajowhite</item>- <item>oldlace</item>- <item>olivedrab</item>- <item>orangered</item>- <item>orchid</item>- <item>palegoldenrod</item>- <item>palegreen</item>- <item>paleturquoise</item>- <item>palevioletred</item>- <item>papayawhip</item>- <item>peachpuff</item>- <item>peru</item>- <item>pink</item>- <item>plum</item>- <item>powderblue</item>- <item>rebeccapurple</item>- <item>rosybrown</item>- <item>royalblue</item>- <item>saddlebrown</item>- <item>salmon</item>- <item>sandybrown</item>- <item>seagreen</item>- <item>seashell</item>- <item>sienna</item>- <item>skyblue</item>- <item>slateblue</item>- <item>slategray</item>- <item>slategrey</item>- <item>snow</item>- <item>springgreen</item>- <item>steelblue</item>- <item>tan</item>- <item>thistle</item>- <item>tomato</item>- <item>turquoise</item>- <item>violet</item>- <item>wheat</item>- <item>whitesmoke</item>- <item>yellowgreen</item>- <item>rebeccapurple</item>-- <item>ActiveBorder</item>- <item>ActiveCaption</item>- <item>AppWorkspace</item>- <item>Background</item>- <item>ButtonFace</item>- <item>ButtonHighlight</item>- <item>ButtonShadow</item>- <item>ButtonText</item>- <item>CaptionText</item>- <item>GrayText</item>- <item>Highlight</item>- <item>HighlightText</item>- <item>InactiveBorder</item>- <item>InactiveCaption</item>- <item>InactiveCaptionText</item>- <item>InfoBackground</item>- <item>InfoText</item>- <item>Menu</item>- <item>MenuText</item>- <item>Scrollbar</item>- <item>ThreeDDarkShadow</item>- <item>ThreeDFace</item>- <item>ThreeDHighlight</item>- <item>ThreeDLightShadow</item>- <item>ThreeDShadow</item>- <item>Window</item>- <item>WindowFrame</item>- <item>WindowText</item>- </list>-- <list name="functions">- <item>attr</item>- <item>cross-fade</item>- <item>env</item>- <item>fit-content</item>- <item>minmax</item>- <item>path</item>- <item>repeat</item>- <item>url</item>- <item>var</item>-- <!-- math functions -->- <!-- https://drafts.csswg.org/css-values-4/#calc-syntax -->- <item>abs</item>- <item>acos</item>- <item>asin</item>- <item>atan2</item>- <item>atan</item>- <item>calc</item>- <item>clamp</item>- <item>cos</item>- <item>exp</item>- <item>hypot</item>- <item>log</item>- <item>max</item>- <item>min</item>- <item>mod</item>- <item>pow</item>- <item>rem</item>- <item>round</item>- <item>sign</item>- <item>sin</item>- <item>sqrt</item>- <item>tan</item>-- <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/gradient#formal_syntax -->- <item>linear-gradient</item>- <item>radial-gradient</item>- <item>repeating-linear-gradient</item>- <item>repeating-radial-gradient</item>-- <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#formal_syntax -->- <item>rgb</item>- <item>rgba</item>- <item>hsl</item>- <item>hsla</item>- <item>hwb</item>- <item>lab</item>- <item>lch</item>- <item>oklab</item>- <item>oklch</item>- <item>color</item>- <item>color-mix</item>-- <!-- CSS4 -->- <item>toggle</item>- <item>hwb</item>- <item>device-cmyk</item>- <item>color</item>- <item>element</item>- <item>image</item>- <item>image-set</item>- <item>conic-gradient</item>-- <!-- counter style -->- <item>symbols</item>- <item>counter</item>- <item>counters</item>-- <!-- clip -->- <item>rect</item>-- <!-- shape-outside and clip-path -->- <item>inset</item>- <item>circle</item>- <item>ellipse</item>- <item>polygon</item>-- <!-- filter and backdrop-filter -->- <item>blur</item>- <item>brightness</item>- <item>contrast</item>- <item>drop-shadow</item>- <item>grayscale</item>- <item>hue-rotate</item>- <item>invert</item>- <item>opacity</item>- <item>saturate</item>- <item>sepia</item>-- <!-- grid-template-columns and grid-template-rows -->- <item>max-content</item>- <item>min-content</item>- <item>repeat</item>-- <!-- transition and animation -->- <item>cubic-bezier</item>- <item>frames</item>- <item>steps</item>-- <!-- transform -->- <item>matrix</item>- <item>matrix3d</item>- <item>perspective</item>- <item>rotate</item>- <item>rotate3d</item>- <item>rotateX</item>- <item>rotateY</item>- <item>rotateZ</item>- <item>scale</item>- <item>scale3d</item>- <item>scaleX</item>- <item>scaleY</item>- <item>scaleZ</item>- <item>skew</item>- <item>skewX</item>- <item>skewY</item>- <item>translate</item>- <item>translate3d</item>- <item>translateX</item>- <item>translateY</item>- <item>translateZ</item>-- <!-- inner @font-face -->- <item>local</item>- <item>format</item>- </list>-- <list name="medias">- <!-- types -->- <item>all</item>- <item>print</item>- <item>screen</item>- <item>speech</item>-- <!-- features -->- <item>any-pointer</item>- <item>any-hover</item>- <item>aspect-ratio</item>- <item>color</item>- <item>color-gamut</item>- <item>color-index</item>- <item>display-mode</item>- <item>grid</item>- <item>height</item>- <item>hover</item>- <item>max-aspect-ratio</item>- <item>max-color</item>- <item>max-color-index</item>- <item>max-device-aspect-ratio</item>- <item>max-device-height</item>- <item>max-device-width</item>- <item>max-height</item>- <item>max-monochrome</item>- <item>max-resolution</item>- <item>max-width</item>- <item>min-aspect-ratio</item>- <item>min-color</item>- <item>min-color-index</item>- <item>min-device-aspect-ratio</item>- <item>min-device-height</item>- <item>min-device-width</item>- <item>min-height</item>- <item>min-monochrome</item>- <item>min-resolution</item>- <item>min-width</item>- <item>monochrome</item>- <item>orientation</item>- <item>pointer</item>- <item>resolution</item>- <item>scan</item>- <item>update</item>- <item>width</item>- </list>-- <!-- prefixed by :: -->- <list name="pseudoelements">- <item>after</item>- <item>backdrop</item>- <item>before</item>- <item>cue</item>- <item>file-selector-button</item>- <item>first-letter</item>- <item>first-line</item>- <item>marker</item>- <item>part</item>- <item>placeholder</item>- <item>selection</item>- <item>slotted</item>-- <!-- experimental -->- <!-- <item>spelling-error</item> -->- <!-- <item>grammar-error</item> -->- <!-- <item>target-text</item> -->-- <!-- UI pseudo-classes -->- <item>value</item>- <item>choices</item>- <item>repeat-item</item>- <item>repeat-index</item>-- <item>-moz-progress-bar</item>- <item>-moz-range-progress</item>- <item>-moz-range-thumb</item>- <item>-moz-range-track</item>- <item>-moz-selection</item>- <item>-ms-fill</item>- <item>-ms-fill-lower</item>- <item>-ms-fill-upper</item>- <item>-ms-thumb</item>- <item>-ms-track</item>- <item>-webkit-progress-bar</item>- <item>-webkit-progress-value</item>- <item>-webkit-slider-runnable-track</item>- <item>-webkit-slider-thumb</item>- </list>-- <!-- prefixed by : -->- <list name="pseudoclasses">- <item>future</item>- <item>local-link</item>- <item>modal</item>- <item>picture-in-picture</item>-- <item>active</item>- <item>any-link</item>- <item>autofill</item>- <item>checked</item>- <item>default</item>- <item>defined</item>- <!-- <item>dir</item> -->- <item>disabled</item>- <item>empty</item>- <item>enabled</item>- <item>first-child</item>- <item>first-of-type</item>- <item>focus</item>- <item>focus-visible</item>- <item>focus-within</item>- <item>fullscreen</item>- <item>host</item>- <item>hover</item>- <item>in-range</item>- <item>indeterminate</item>- <item>invalid</item>- <item>lang</item>- <item>last-child</item>- <item>last-of-type</item>- <item>left</item>- <item>link</item>- <item>not</item>- <item>nth-child</item>- <item>nth-last-child</item>- <item>nth-last-of-type</item>- <item>nth-of-type</item>- <item>only-child</item>- <item>only-of-type</item>- <item>optional</item>- <item>out-of-range</item>- <item>placeholder-shown</item>- <item>read-only</item>- <item>read-write</item>- <item>required</item>- <item>right</item>- <item>root</item>- <item>scope</item>- <item>target</item>- <item>valid</item>- <item>visited</item>-- <!-- pseudo-elements -->- <item>after</item>- <item>before</item>- <item>cue</item>- <item>first-letter</item>- <item>first-line</item>- <item>selection</item>- </list>-- <list name="pseudoclass-selector">- <item>has</item>- <item>host</item>- <item>host-context</item>- <item>is</item>- <item>matches</item>- <item>not</item>- <item>where</item>- </list>-- <list name="pseudoclasses-@page">- <item>blank</item>- <item>first</item>- <item>left</item>- <item>recto</item>- <item>right</item>- <item>verso</item>- </list>-- <list name="at-rules">- <item>@character</item>- <item>@layer</item>- <item>@container</item>- <item>@charset</item>- <item>@import</item>- <item>@namespace</item>- </list>-- <list name="nested at-rules">- <item>@font-feature-values</item>- <item>@document</item>- <item>@media</item>- <item>@supports</item>- </list>-- <list name="other at-rules">- <item>@counter-style</item>- <item>@viewport</item>- <item>@page</item>- <item>@font-face</item>- <item>@keyframes</item>- </list>-- <list name="within-@viewport">- <item>min-width</item>- <item>max-width</item>- <item>width</item>- <item>min-height</item>- <item>max-height</item>- <item>height</item>- <item>zoom</item>- <item>min-zoom</item>- <item>max-zoom</item>- <item>user-zoom</item>- <item>orientation</item>- <item>viewport-fit</item>- </list>-- <list name="within-@page">- <item>size</item>- <item>marks</item>- <item>bleed</item>- </list>-- <list name="within-@font-face">- <item>font-display</item>- <item>font-family</item>- <item>font-stretch</item>- <item>font-style</item>- <item>font-weight</item>- <item>font-variant</item>- <item>font-feature-settings</item>- <item>font-variation-settings</item>- <item>src</item>- <item>unicode-range</item>- </list>-- <list name="within-@keyframes">- <item>from</item>- <item>to</item>- </list>-- <list name="media operators">- <item>and</item>- <item>only</item>- <item>not</item>- </list>-- <contexts>- <context name="Base" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />- <IncludeRules context="FindSelector" />- </context>-- <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->- <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />- <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <AnyChar attribute="Operator" context="#stay" String="*>+~|" />- <RegExpr attribute="Selector Id" context="#stay" String="#&ident;" />- <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />- <RegExpr attribute="Selector Tag" context="#stay" String="&ident;" />- </context>-- <!-- find functions // rgba(255,255,255,0.75) -->- <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />- </context>-- <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->- <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Annotation" context="Annotation" char="!" />- <keyword attribute="Value Keyword" context="#stay" String="value keywords" />- <keyword attribute="Value" context="#stay" String="values" />- <keyword attribute="Color" context="#stay" String="colors" />- <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />- <RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])" />- <RegExpr attribute="Normal Text" context="#stay" String="&ident;" />- </context>-- <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <WordDetect attribute="Annotation" context="#pop" String="important" />- </context>-- <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <!-- https://drafts.csswg.org/css-values-4/#lengths -->- <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Values_and_Units -->- <RegExpr attribute="Unit" context="#stay" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)(?![-+])" />- </context>-- <!-- find strings // "some words" 'some words' -->- <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="String" context="StringDQ" char=""" />- <DetectChar attribute="String" context="StringSQ" char="'" />- </context>-- <!-- find comments // /* comment */ -->- <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">- <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>- <Detect2Chars attribute="Error" context="Error" char="/" char1="/" />- </context>-- <context name="Error" attribute="Error" lineEndContext="#pop">- <RegExpr attribute="Error" context="#pop" String=".*" />- </context>-- <context name="IsComments" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*BEGIN\b.*\*/" beginRegion="UserDefined" />- <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*END\b.*\*/" endRegion="UserDefined" />- <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />- </context>-- <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">- <keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />- <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />- <WordDetect attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />- <WordDetect attribute="At Rule" context="#pop!@viewport" String="@viewport" />- <WordDetect attribute="At Rule" context="#pop!@font-face" String="@font-face" />- <WordDetect attribute="At Rule" context="#pop!@page" String="@page" />- <RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />- </context>-- <context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <keyword attribute="Value" context="#stay" String="within-@keyframes" />- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />- </context>-- <context name="@viewport" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />- <DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <keyword attribute="Property" context="IsProperty" String="within-@viewport" />- <IncludeRules context="RuleSet" />- </context>-- <context name="@font-face" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <keyword attribute="Property" context="IsProperty" String="within-@font-face" />- <RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- </context>-- <context name="@page" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />- <DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />- </context>-- <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop">- <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />- <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <keyword attribute="Property" context="IsProperty" String="within-@page" />- <IncludeRules context="RuleSet" />- </context>-- <context name="IsProperty" attribute="Error" lineEndContext="#stay">- <DetectSpaces attribute="Normal Text" />- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- </context>-- <context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="NestedBase" char="{" beginRegion="ruleset" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="NestedBase" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />- <IncludeRules context="Base" />- </context>-- <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">- <DetectSpaces />- <DetectChar attribute="Separator Symbol" context="#pop" char=";" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Separator Symbol" context="#pop" char=";" />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <keyword attribute="Keyword" context="#stay" String="media operators" />- <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />- <keyword attribute="Value" context="#stay" String="medias" />- <IncludeRules context="FindValues" />- </context>-- <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="#pop" char="]" />- <IncludeRules context="FindStrings" />- <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />- <DetectIdentifier />- </context>-- <context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />- <DetectIdentifier />- </context>-- <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />- <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">- <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />- <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />- </context>-- <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />- <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindSelector" />- </context>-- <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />- </context>-- <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">- <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />- <DetectIdentifier />- </context>-- <context name="Comment" attribute="Comment" lineEndContext="#stay">- <DetectSpaces />- <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />- <IncludeRules context="##Comments" />- <DetectIdentifier />- </context>-- <context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+(?=\s*:)" lookAhead="true" />- <IncludeRules context="Base" />- <RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_-]+" />- </context>-- <context name="Rule" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />- <keyword attribute="Property" context="#stay" String="properties" />- <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />- </context>-- <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">- <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />- <RegExpr attribute="Variable" context="#stay" String="[^:]+" />- </context>-- <context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <!-- Jump out conditions -->- <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />- </context>-- <context name="Function" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Function" context="FunctionParameters" char="(" />- <StringDetect attribute="Function" context="FunctionVar" String="var(" />- <StringDetect attribute="Function" context="FunctionUrl" String="url(" />- <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />- <keyword attribute="Function" context="#stay" String="functions" />- <RegExpr attribute="Normal Text" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">- <DetectSpaces />- <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />- </context>-- <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- <IncludeRules context="Calc" />- </context>-- <context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop" char=")" />- <IncludeRules context="Calc" />- </context>-- <context name="Calc" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />- </context>-- <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">- <DetectSpaces />- <IncludeRules context="FindStrings" />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- </context>-- <context name="UrlValue" attribute="String" lineEndContext="#stay">- <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />- </context>-- <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- </context>-- <!-- string contexts -->- <context name="StringDQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char=""" />- <IncludeRules context="InsideString" />- </context>-- <context name="StringSQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char="'" />- <IncludeRules context="InsideString" />- </context>-- <context name="InsideString" attribute="String" lineEndContext="#stay">- <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />- <RegExpr attribute="String" context="#stay" String="\\?[^"'\\]+" />- </context>-- </contexts>-- <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>- <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="String" defStyleNum="dsString"/>- <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>- <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>- <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>- <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>- <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>- <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>- <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>- <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>- <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>- <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>- <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>- <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="Comment" defStyleNum="dsComment" />- <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>- <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>- </itemDatas>- </highlighting>-- <general>- <keywords casesensitive="0" weakDeliminator="-%@" />- <comments>- <comment name="multiLine" start="/*" end="*/" region="comment" />+ <!ENTITY escaped "\\([0-9a-fA-F]{1,6}|[^\n\r\f0-9a-fA-F])">+ <!ENTITY ident "-?([_a-zA-Z]|&escaped;)([-_a-zA-Z0-9]+|&escaped;)*">+ <!-- identifiers starting with several - are invalid, but supported by browsers -->+ <!ENTITY ident2 "([-\w]+|&escaped;)+">+ <!ENTITY var "--[-\w]*">+ <!ENTITY func "-?[a-zA-Z][-a-zA-Z0-9]*">+ <!ENTITY propcheck "(?=\s*(/[*].*?[*]/\s*)?:)">+]>++<!--++Kate CSS syntax highlighting definition++Changelog:++- Version 8, by Jonathan Poelen+- fix some Operator and Selector Tag highlighting++- Version 7, by Jonathan Poelen+- fix tag followed by a pseudo-class in a nested rule (@media, ...)+- fix constraint in a rule+- fix Kate auto-completion for properties and rules+- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Variable, Value Keyword, Color, Number, Unit, Selector Tag++- Version 4, by Guo Yunhe guoyunhebrave@gmail.com+- Remake for complex CSS syntax, avoid errors++- Version 2.13, by Guo Yunhe+- Add all W3C Work Draft properties++- Version 2.06, by Mte90:+- CSS3 tag++- Version 2.03, by Milian Wolff:+- Make it spelling aware++- Version 2.08, Joseph Wenninger:+- CSS3 media queries++-->++<language name="CSS" version="17" kateversion="5.79" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">+ <highlighting>+ <!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties (exclude FPWD)-->+ <list name="properties">+ <item>-webkit-line-clamp</item>+ <item>-webkit-text-fill-color</item>+ <item>-webkit-text-stroke</item>+ <item>-webkit-text-stroke-color</item>+ <item>-webkit-text-stroke-width</item>+ <item>accent-color</item>+ <item>additive-symbols</item>+ <item>align-content</item>+ <item>align-items</item>+ <item>align-self</item>+ <item>all</item>+ <item>animation</item>+ <item>animation-composition</item>+ <item>animation-delay</item>+ <item>animation-direction</item>+ <item>animation-duration</item>+ <item>animation-fill-mode</item>+ <item>animation-iteration-count</item>+ <item>animation-name</item>+ <item>animation-play-state</item>+ <item>animation-timing-function</item>+ <item>appearance</item>+ <item>ascent-override</item>+ <item>aspect-ratio</item>+ <item>backdrop-filter</item>+ <item>backface-visibility</item>+ <item>background</item>+ <item>background-attachment</item>+ <item>background-blend-mode</item>+ <item>background-clip</item>+ <item>background-color</item>+ <item>background-image</item>+ <item>background-origin</item>+ <item>background-position</item>+ <item>background-position-x</item>+ <item>background-position-y</item>+ <item>background-repeat</item>+ <item>background-size</item>+ <item>base-palette</item>+ <item>block-size</item>+ <item>border</item>+ <item>border-block</item>+ <item>border-block-color</item>+ <item>border-block-end</item>+ <item>border-block-end-color</item>+ <item>border-block-end-style</item>+ <item>border-block-end-width</item>+ <item>border-block-start</item>+ <item>border-block-start-color</item>+ <item>border-block-start-style</item>+ <item>border-block-start-width</item>+ <item>border-block-style</item>+ <item>border-block-width</item>+ <item>border-bottom</item>+ <item>border-bottom-color</item>+ <item>border-bottom-left-radius</item>+ <item>border-bottom-right-radius</item>+ <item>border-bottom-style</item>+ <item>border-bottom-width</item>+ <item>border-collapse</item>+ <item>border-color</item>+ <item>border-end-end-radius</item>+ <item>border-end-start-radius</item>+ <item>border-image</item>+ <item>border-image-outset</item>+ <item>border-image-repeat</item>+ <item>border-image-slice</item>+ <item>border-image-source</item>+ <item>border-image-width</item>+ <item>border-inline</item>+ <item>border-inline-color</item>+ <item>border-inline-end</item>+ <item>border-inline-end-color</item>+ <item>border-inline-end-style</item>+ <item>border-inline-end-width</item>+ <item>border-inline-start</item>+ <item>border-inline-start-color</item>+ <item>border-inline-start-style</item>+ <item>border-inline-start-width</item>+ <item>border-inline-style</item>+ <item>border-inline-width</item>+ <item>border-left</item>+ <item>border-left-color</item>+ <item>border-left-style</item>+ <item>border-left-width</item>+ <item>border-radius</item>+ <item>border-right</item>+ <item>border-right-color</item>+ <item>border-right-style</item>+ <item>border-right-width</item>+ <item>border-spacing</item>+ <item>border-start-end-radius</item>+ <item>border-start-start-radius</item>+ <item>border-style</item>+ <item>border-top</item>+ <item>border-top-color</item>+ <item>border-top-left-radius</item>+ <item>border-top-right-radius</item>+ <item>border-top-style</item>+ <item>border-top-width</item>+ <item>border-width</item>+ <item>bottom</item>+ <item>box-decoration-break</item>+ <item>box-shadow</item>+ <item>box-sizing</item>+ <item>break-after</item>+ <item>break-before</item>+ <item>break-inside</item>+ <item>caption-side</item>+ <item>caret-color</item>+ <item>clear</item>+ <item>clip-path</item>+ <item>color</item>+ <item>color-scheme</item>+ <item>column-count</item>+ <item>column-fill</item>+ <item>column-gap</item>+ <item>column-rule</item>+ <item>column-rule-color</item>+ <item>column-rule-style</item>+ <item>column-rule-width</item>+ <item>column-span</item>+ <item>column-width</item>+ <item>columns</item>+ <item>contain</item>+ <item>contain-intrinsic-block-size</item>+ <item>contain-intrinsic-height</item>+ <item>contain-intrinsic-inline-size</item>+ <item>contain-intrinsic-size</item>+ <item>contain-intrinsic-width</item>+ <item>container</item>+ <item>container-name</item>+ <item>container-type</item>+ <item>content</item>+ <item>counter-increment</item>+ <item>counter-reset</item>+ <item>counter-set</item>+ <item>cursor</item>+ <item>descent-override</item>+ <item>direction</item>+ <item>display</item>+ <item>empty-cells</item>+ <item>fallback</item>+ <item>filter</item>+ <item>flex</item>+ <item>flex-basis</item>+ <item>flex-direction</item>+ <item>flex-flow</item>+ <item>flex-grow</item>+ <item>flex-shrink</item>+ <item>flex-wrap</item>+ <item>float</item>+ <item>font</item>+ <item>font-display</item>+ <item>font-family</item>+ <item>font-feature-settings</item>+ <item>font-kerning</item>+ <item>font-language-override</item>+ <item>font-optical-sizing</item>+ <item>font-palette</item>+ <item>font-size</item>+ <item>font-size-adjust</item>+ <item>font-stretch</item>+ <item>font-style</item>+ <item>font-synthesis</item>+ <item>font-synthesis-position</item>+ <item>font-synthesis-small-caps</item>+ <item>font-synthesis-style</item>+ <item>font-synthesis-weight</item>+ <item>font-variant</item>+ <item>font-variant-alternates</item>+ <item>font-variant-caps</item>+ <item>font-variant-east-asian</item>+ <item>font-variant-emoji</item>+ <item>font-variant-ligatures</item>+ <item>font-variant-numeric</item>+ <item>font-variant-position</item>+ <item>font-variation-settings</item>+ <item>font-weight</item>+ <item>forced-color-adjust</item>+ <item>gap</item>+ <item>grid</item>+ <item>grid-area</item>+ <item>grid-auto-columns</item>+ <item>grid-auto-flow</item>+ <item>grid-auto-rows</item>+ <item>grid-column</item>+ <item>grid-column-end</item>+ <item>grid-column-start</item>+ <item>grid-row</item>+ <item>grid-row-end</item>+ <item>grid-row-start</item>+ <item>grid-template</item>+ <item>grid-template-areas</item>+ <item>grid-template-columns</item>+ <item>grid-template-rows</item>+ <item>hanging-punctuation</item>+ <item>height</item>+ <item>hyphenate-character</item>+ <item>hyphenate-limit-chars</item>+ <item>hyphens</item>+ <item>image-orientation</item>+ <item>image-rendering</item>+ <item>inherits</item>+ <item>initial-value</item>+ <item>inline-size</item>+ <item>inset</item>+ <item>inset-block</item>+ <item>inset-block-end</item>+ <item>inset-block-start</item>+ <item>inset-inline</item>+ <item>inset-inline-end</item>+ <item>inset-inline-start</item>+ <item>isolation</item>+ <item>justify-content</item>+ <item>justify-items</item>+ <item>justify-self</item>+ <item>left</item>+ <item>letter-spacing</item>+ <item>line-break</item>+ <item>line-gap-override</item>+ <item>line-height</item>+ <item>list-style</item>+ <item>list-style-image</item>+ <item>list-style-position</item>+ <item>list-style-type</item>+ <item>margin</item>+ <item>margin-block</item>+ <item>margin-block-end</item>+ <item>margin-block-start</item>+ <item>margin-bottom</item>+ <item>margin-inline</item>+ <item>margin-inline-end</item>+ <item>margin-inline-start</item>+ <item>margin-left</item>+ <item>margin-right</item>+ <item>margin-top</item>+ <item>mask</item>+ <item>mask-border</item>+ <item>mask-border-mode</item>+ <item>mask-border-outset</item>+ <item>mask-border-repeat</item>+ <item>mask-border-slice</item>+ <item>mask-border-source</item>+ <item>mask-border-width</item>+ <item>mask-clip</item>+ <item>mask-composite</item>+ <item>mask-image</item>+ <item>mask-mode</item>+ <item>mask-origin</item>+ <item>mask-position</item>+ <item>mask-repeat</item>+ <item>mask-size</item>+ <item>mask-type</item>+ <item>math-depth</item>+ <item>math-style</item>+ <item>max-block-size</item>+ <item>max-height</item>+ <item>max-inline-size</item>+ <item>max-width</item>+ <item>min-block-size</item>+ <item>min-height</item>+ <item>min-inline-size</item>+ <item>min-width</item>+ <item>mix-blend-mode</item>+ <item>negative</item>+ <item>object-fit</item>+ <item>object-position</item>+ <item>offset</item>+ <item>offset-anchor</item>+ <item>offset-distance</item>+ <item>offset-path</item>+ <item>offset-rotate</item>+ <item>opacity</item>+ <item>order</item>+ <item>orphans</item>+ <item>outline</item>+ <item>outline-color</item>+ <item>outline-offset</item>+ <item>outline-style</item>+ <item>outline-width</item>+ <item>overflow</item>+ <item>overflow-anchor</item>+ <item>overflow-block</item>+ <item>overflow-clip-margin</item>+ <item>overflow-inline</item>+ <item>overflow-wrap</item>+ <item>overflow-x</item>+ <item>overflow-y</item>+ <item>override-colors</item>+ <item>overscroll-behavior</item>+ <item>overscroll-behavior-block</item>+ <item>overscroll-behavior-inline</item>+ <item>overscroll-behavior-x</item>+ <item>overscroll-behavior-y</item>+ <item>pad</item>+ <item>padding</item>+ <item>padding-block</item>+ <item>padding-block-end</item>+ <item>padding-block-start</item>+ <item>padding-bottom</item>+ <item>padding-inline</item>+ <item>padding-inline-end</item>+ <item>padding-inline-start</item>+ <item>padding-left</item>+ <item>padding-right</item>+ <item>padding-top</item>+ <item>page</item>+ <item>page-break-after</item>+ <item>page-break-before</item>+ <item>page-break-inside</item>+ <item>page-orientation</item>+ <item>paint-order</item>+ <item>perspective</item>+ <item>perspective-origin</item>+ <item>place-content</item>+ <item>place-items</item>+ <item>place-self</item>+ <item>pointer-events</item>+ <item>position</item>+ <item>prefix</item>+ <item>print-color-adjust</item>+ <item>quotes</item>+ <item>range</item>+ <item>resize</item>+ <item>right</item>+ <item>rotate</item>+ <item>row-gap</item>+ <item>ruby-position</item>+ <item>scale</item>+ <item>scroll-behavior</item>+ <item>scroll-margin</item>+ <item>scroll-margin-block</item>+ <item>scroll-margin-block-end</item>+ <item>scroll-margin-block-start</item>+ <item>scroll-margin-bottom</item>+ <item>scroll-margin-inline</item>+ <item>scroll-margin-inline-end</item>+ <item>scroll-margin-inline-start</item>+ <item>scroll-margin-left</item>+ <item>scroll-margin-right</item>+ <item>scroll-margin-top</item>+ <item>scroll-padding</item>+ <item>scroll-padding-block</item>+ <item>scroll-padding-block-end</item>+ <item>scroll-padding-block-start</item>+ <item>scroll-padding-bottom</item>+ <item>scroll-padding-inline</item>+ <item>scroll-padding-inline-end</item>+ <item>scroll-padding-inline-start</item>+ <item>scroll-padding-left</item>+ <item>scroll-padding-right</item>+ <item>scroll-padding-top</item>+ <item>scroll-snap-align</item>+ <item>scroll-snap-stop</item>+ <item>scroll-snap-type</item>+ <item>scrollbar-color</item>+ <item>scrollbar-gutter</item>+ <item>scrollbar-width</item>+ <item>shape-image-threshold</item>+ <item>shape-margin</item>+ <item>shape-outside</item>+ <item>size</item>+ <item>size-adjust</item>+ <item>speak-as</item>+ <item>src</item>+ <item>suffix</item>+ <item>symbols</item>+ <item>syntax</item>+ <item>system</item>+ <item>tab-size</item>+ <item>table-layout</item>+ <item>text-align</item>+ <item>text-align-last</item>+ <item>text-combine-upright</item>+ <item>text-decoration</item>+ <item>text-decoration-color</item>+ <item>text-decoration-line</item>+ <item>text-decoration-skip-ink</item>+ <item>text-decoration-style</item>+ <item>text-decoration-thickness</item>+ <item>text-emphasis</item>+ <item>text-emphasis-color</item>+ <item>text-emphasis-position</item>+ <item>text-emphasis-style</item>+ <item>text-indent</item>+ <item>text-justify</item>+ <item>text-orientation</item>+ <item>text-overflow</item>+ <item>text-rendering</item>+ <item>text-shadow</item>+ <item>text-transform</item>+ <item>text-underline-offset</item>+ <item>text-underline-position</item>+ <item>top</item>+ <item>touch-action</item>+ <item>transform</item>+ <item>transform-box</item>+ <item>transform-origin</item>+ <item>transform-style</item>+ <item>transition</item>+ <item>transition-delay</item>+ <item>transition-duration</item>+ <item>transition-property</item>+ <item>transition-timing-function</item>+ <item>translate</item>+ <item>unicode-bidi</item>+ <item>unicode-range</item>+ <item>user-select</item>+ <item>vertical-align</item>+ <item>visibility</item>+ <item>white-space</item>+ <item>widows</item>+ <item>width</item>+ <item>will-change</item>+ <item>word-break</item>+ <item>word-spacing</item>+ <item>writing-mode</item>+ <item>z-index</item>++ <!-- SVG only -->++ <item>alignment-baseline</item>+ <item>baseline-shift</item>+ <item>color-interpolation</item>+ <item>color-interpolation-filters</item>+ <item>dominant-baseline</item>+ <item>fill</item>+ <item>fill-opacity</item>+ <item>fill-rule</item>+ <item>flood-color</item>+ <item>flood-opacity</item>+ <item>marker-end</item>+ <item>marker-mid</item>+ <item>marker-start</item>+ <item>shape-rendering</item>+ <item>stop-color</item>+ <item>stop-opacity</item>+ <item>stroke</item>+ <item>stroke-dasharray</item>+ <item>stroke-dashoffset</item>+ <item>stroke-linecap</item>+ <item>stroke-linejoin</item>+ <item>stroke-miterlimit</item>+ <item>stroke-opacity</item>+ <item>text-anchor</item>+ <item>vector-effect</item>+ </list>++ <list name="vendor properties">+ <!-- Gecko rendering engine CSS property extensions -->+ <item>-moz-box-align</item>+ <item>-moz-box-direction</item>+ <item>-moz-box-flex</item>+ <item>-moz-box-flex-group</item>+ <item>-moz-box-ordinal-group</item>+ <item>-moz-box-orient</item>+ <item>-moz-box-pack</item>+ <item>-moz-box</item>++ <!-- Opera rendering engine CSS property extensions -->+ <item>-o-linear-gradient</item>++ <!-- konq specific -->+ <item>konq_bgpos_x</item>+ <item>konq_bgpos_y</item>++ <!-- Webkit rendering engine CSS property extensions -->+ <item>-webkit-box-align</item>+ <item>-webkit-box-direction</item>+ <item>-webkit-box-flex</item>+ <item>-webkit-box-ordinal-group</item>+ <item>-webkit-box-orient</item>+ <item>-webkit-box-pack</item>+ <item>-webkit-box-reflect</item>+ <item>-webkit-linear-gradient</item>+ <item>-webkit-gradient</item>+ <item>-webkit-overflow-scrolling</item>+ <item>-webkit-text-decoration-skip</item>+ <item>-webkit-text-size-adjust</item>+ <item>-webkit-tap-highlight-color</item>++ <!-- Trident (a.k.a., MSHTML) CSS property extensions -->+ <item>-ms-filter</item>+ <item>-ms-flex</item>+ <item>-ms-flex-align</item>+ <item>-ms-flex-item-align</item>+ <item>-ms-flex-line-pack</item>+ <item>-ms-flex-negative</item>+ <item>-ms-flex-order</item>+ <item>-ms-flex-pack</item>+ <item>-ms-flex-positive</item>+ <item>-ms-flex-position</item>+ <item>-ms-flex-preferred-size</item>+ <item>-ms-interpolation-mode</item>+ <item>-ms-linear-gradient</item>+ <item>-ms-text-size-adjust</item>+ </list>++ <list name="value keywords">+ <item>auto</item>+ <item>inherit</item>+ <item>initial</item>+ <item>revert</item>+ <item>revert-layer</item>+ <item>unset</item>+ </list>++ <list name="values">+ <item>-moz-arabic-indic</item>+ <item>-moz-bengali</item>+ <item>-moz-cjk-earthly-branch</item>+ <item>-moz-cjk-heavenly-stem</item>+ <item>-moz-devanagari</item>+ <item>-moz-gujarati</item>+ <item>-moz-gurmukhi</item>+ <item>-moz-kannada</item>+ <item>-moz-lao</item>+ <item>-moz-malayalam</item>+ <item>-moz-myanmar</item>+ <item>-moz-oriya</item>+ <item>-moz-persian</item>+ <item>-moz-tamil</item>+ <item>-moz-telugu</item>+ <item>-moz-thai</item>+ <item>absolute</item>+ <item>accumulate</item>+ <item>add</item>+ <item>additive</item>+ <item>alias</item>+ <item>all</item>+ <item>all-petite-caps</item>+ <item>all-scroll</item>+ <item>all-small-caps</item>+ <item>allow-end</item>+ <item>alpha</item>+ <item>alphabetic</item>+ <item>alternate</item>+ <item>alternate-reverse</item>+ <item>always</item>+ <item>anywhere</item>+ <item>arabic-indic</item>+ <item>armenian</item>+ <item>auto-add</item>+ <item>auto-fill</item>+ <item>auto-fit</item>+ <item>avoid</item>+ <item>avoid-column</item>+ <item>avoid-page</item>+ <item>avoid-region</item>+ <item>backwards</item>+ <item>balance</item>+ <item>balance-all</item>+ <item>baseline</item>+ <item>bengali</item>+ <item>bidi-override</item>+ <item>bigger</item>+ <item>block</item>+ <item>block-end</item>+ <item>block-start</item>+ <item>bold</item>+ <item>bolder</item>+ <item>border</item>+ <item>border-box</item>+ <item>both</item>+ <item>both-edges</item>+ <item>bottom</item>+ <item>break-all</item>+ <item>break-spaces</item>+ <item>break-word</item>+ <item>bullets</item>+ <item>cambodian</item>+ <item>cap-height</item>+ <item>capitalize</item>+ <item>cell</item>+ <item>center</item>+ <item>ch-width</item>+ <item>circle</item>+ <item>cjk-decimal</item>+ <item>cjk-earthly-branch</item>+ <item>cjk-heavenly-stem</item>+ <item>cjk-ideographic</item>+ <item>clip</item>+ <item>clone</item>+ <item>close-quote</item>+ <item>col-resize</item>+ <item>collapse</item>+ <item>color</item>+ <item>color-burn</item>+ <item>color-dodge</item>+ <item>column</item>+ <item>column-reverse</item>+ <item>common-ligatures</item>+ <item>compact</item>+ <item>condensed</item>+ <item>contain</item>+ <item>content</item>+ <item>content-box</item>+ <item>contents</item>+ <item>context-menu</item>+ <item>contextual</item>+ <item>copy</item>+ <item>cover</item>+ <item>crisp-edges</item>+ <item>crosshair</item>+ <item>currentcolor</item>+ <item>cursive</item>+ <item>cyclic</item>+ <item>dark</item>+ <item>darken</item>+ <item>dashed</item>+ <item>decimal</item>+ <item>decimal-leading-zero</item>+ <item>default</item>+ <item>dense</item>+ <item>devanagari</item>+ <item>diagonal-fractions</item>+ <item>difference</item>+ <item>disc</item>+ <item>disclosure-closed</item>+ <item>disclosure-open</item>+ <item>discretionary-ligatures</item>+ <item>dot</item>+ <item>dotted</item>+ <item>double</item>+ <item>double-circle</item>+ <item>e-resize</item>+ <item>each-line</item>+ <item>ease</item>+ <item>ease-in</item>+ <item>ease-in-out</item>+ <item>ease-out</item>+ <item>economy</item>+ <item>ellipsis</item>+ <item>embed</item>+ <item>emoji</item>+ <item>end</item>+ <item>ethiopic-numeric</item>+ <item>ew-resize</item>+ <item>ex-height</item>+ <item>exact</item>+ <item>exclude</item>+ <item>exclusion</item>+ <item>expanded</item>+ <item>extends</item>+ <item>extra-condensed</item>+ <item>extra-expanded</item>+ <item>fade</item>+ <item>fallback</item>+ <item>false</item>+ <item>fangsong</item>+ <item>fantasy</item>+ <item>fill</item>+ <item>fill-box</item>+ <item>filled</item>+ <item>first</item>+ <item>fit-content</item>+ <item>fixed</item>+ <item>flat</item>+ <item>flex</item>+ <item>flex-end</item>+ <item>flex-start</item>+ <item>flow</item>+ <item>flow-root</item>+ <item>force-end</item>+ <item>forwards</item>+ <item>from-font</item>+ <item>from-image</item>+ <item>full-size-kana</item>+ <item>full-width</item>+ <item>georgian</item>+ <item>grab</item>+ <item>grabbing</item>+ <item>grid</item>+ <item>groove</item>+ <item>gujarati</item>+ <item>gurmukhi</item>+ <item>hanging</item>+ <item>hard-light</item>+ <item>hebrew</item>+ <item>help</item>+ <item>hidden</item>+ <item>hide</item>+ <item>high-quality</item>+ <item>hiragana</item>+ <item>hiragana-iroha</item>+ <item>historical-forms</item>+ <item>historical-ligatures</item>+ <item>horizontal</item>+ <item>horizontal-tb</item>+ <item>hue</item>+ <item>ic-height</item>+ <item>ic-width</item>+ <item>infinite</item>+ <item>inline</item>+ <item>inline-block</item>+ <item>inline-end</item>+ <item>inline-flex</item>+ <item>inline-grid</item>+ <item>inline-size</item>+ <item>inline-start</item>+ <item>inline-table</item>+ <item>inset</item>+ <item>inside</item>+ <item>inter-character</item>+ <item>inter-word</item>+ <item>intersect</item>+ <item>invert</item>+ <item>isolate</item>+ <item>isolate-override</item>+ <item>italic</item>+ <item>japanese-formal</item>+ <item>japanese-informal</item>+ <item>jump-both</item>+ <item>jump-end</item>+ <item>jump-none</item>+ <item>jump-start</item>+ <item>justify</item>+ <item>justify-all</item>+ <item>kannada</item>+ <item>katakana</item>+ <item>katakana-iroha</item>+ <item>keep-all</item>+ <item>keyword</item>+ <item>khmer</item>+ <item>korean-hangul-formal</item>+ <item>korean-hanja-formal</item>+ <item>korean-hanja-informal</item>+ <item>landscape</item>+ <item>lao</item>+ <item>large</item>+ <item>larger</item>+ <item>last</item>+ <item>layout</item>+ <item>left</item>+ <item>legacy</item>+ <item>light</item>+ <item>lighten</item>+ <item>lighter</item>+ <item>line-through</item>+ <item>linear</item>+ <item>lining-nums</item>+ <item>local</item>+ <item>loose</item>+ <item>lower-alpha</item>+ <item>lower-armenian</item>+ <item>lower-greek</item>+ <item>lower-latin</item>+ <item>lower-roman</item>+ <item>lowercase</item>+ <item>ltr</item>+ <item>luminance</item>+ <item>luminosity</item>+ <item>malayalam</item>+ <item>mandatory</item>+ <item>manipulation</item>+ <item>manual</item>+ <item>margin-box</item>+ <item>match-parent</item>+ <item>match-source</item>+ <item>math</item>+ <item>max-content</item>+ <item>medium</item>+ <item>min-content</item>+ <item>mixed</item>+ <item>mongolian</item>+ <item>monospace</item>+ <item>move</item>+ <item>multiply</item>+ <item>myanmar</item>+ <item>n-resize</item>+ <item>ne-resize</item>+ <item>nesw-resize</item>+ <item>no-clip</item>+ <item>no-close-quote</item>+ <item>no-common-ligatures</item>+ <item>no-contextual</item>+ <item>no-discretionary-ligatures</item>+ <item>no-drop</item>+ <item>no-historical-ligatures</item>+ <item>no-open-quote</item>+ <item>no-repeat</item>+ <item>none</item>+ <item>normal</item>+ <item>not-allowed</item>+ <item>nowrap</item>+ <item>ns-resize</item>+ <item>numbers</item>+ <item>numeric</item>+ <item>nw-resize</item>+ <item>nwse-resize</item>+ <item>oblique</item>+ <item>oldstyle-nums</item>+ <item>only</item>+ <item>open</item>+ <item>open-quote</item>+ <item>optional</item>+ <item>ordinal</item>+ <item>oriya</item>+ <item>outset</item>+ <item>outside</item>+ <item>over</item>+ <item>overlay</item>+ <item>overline</item>+ <item>padding</item>+ <item>padding-box</item>+ <item>paint</item>+ <item>painted</item>+ <item>pan-down</item>+ <item>pan-left</item>+ <item>pan-right</item>+ <item>pan-up</item>+ <item>pan-x</item>+ <item>pan-y</item>+ <item>paused</item>+ <item>persian</item>+ <item>petite-caps</item>+ <item>pinch-zoom</item>+ <item>pixelated</item>+ <item>plaintext</item>+ <item>pointer</item>+ <item>portrait</item>+ <item>position</item>+ <item>pre</item>+ <item>pre-line</item>+ <item>pre-wrap</item>+ <item>preserve-3d</item>+ <item>progress</item>+ <item>proportional-nums</item>+ <item>proportional-width</item>+ <item>proximity</item>+ <item>recto</item>+ <item>relative</item>+ <item>repeat</item>+ <item>repeat-x</item>+ <item>repeat-y</item>+ <item>replace</item>+ <item>reverse</item>+ <item>ridge</item>+ <item>right</item>+ <item>rotate-left</item>+ <item>rotate-right</item>+ <item>round</item>+ <item>row</item>+ <item>row-resize</item>+ <item>row-reverse</item>+ <item>rtl</item>+ <item>ruby</item>+ <item>ruby-base</item>+ <item>ruby-base-container</item>+ <item>ruby-text</item>+ <item>ruby-text-container</item>+ <item>running</item>+ <item>s-resize</item>+ <item>safe</item>+ <item>sans-serif</item>+ <item>saturation</item>+ <item>scale-down</item>+ <item>screen</item>+ <item>scroll</item>+ <item>scroll-position</item>+ <item>se-resize</item>+ <item>self-end</item>+ <item>self-start</item>+ <item>semi-condensed</item>+ <item>semi-expanded</item>+ <item>separate</item>+ <item>serif</item>+ <item>sesame</item>+ <item>show</item>+ <item>sideways</item>+ <item>sideways-lr</item>+ <item>sideways-right</item>+ <item>sideways-rl</item>+ <item>simp-chinese-formal</item>+ <item>simp-chinese-informal</item>+ <item>size</item>+ <item>slashed-zero</item>+ <item>slice</item>+ <item>small</item>+ <item>small-caps</item>+ <item>smaller</item>+ <item>smooth</item>+ <item>soft-light</item>+ <item>solid</item>+ <item>space</item>+ <item>space-around</item>+ <item>space-between</item>+ <item>space-evenly</item>+ <item>spell-out</item>+ <item>square</item>+ <item>stable</item>+ <item>stacked-fractions</item>+ <item>start</item>+ <item>static</item>+ <item>step-end</item>+ <item>step-start</item>+ <item>sticky</item>+ <item>stretch</item>+ <item>strict</item>+ <item>stroke</item>+ <item>stroke-box</item>+ <item>style</item>+ <item>sub</item>+ <item>subtract</item>+ <item>super</item>+ <item>sw-resize</item>+ <item>swap</item>+ <item>symbolic</item>+ <item>system-ui</item>+ <item>table</item>+ <item>table-caption</item>+ <item>table-cell</item>+ <item>table-column</item>+ <item>table-column-group</item>+ <item>table-footer-group</item>+ <item>table-header-group</item>+ <item>table-row</item>+ <item>table-row-group</item>+ <item>tabular-nums</item>+ <item>tamil</item>+ <item>telugu</item>+ <item>text</item>+ <item>thai</item>+ <item>thick</item>+ <item>thin</item>+ <item>tibetan</item>+ <item>titling-caps</item>+ <item>top</item>+ <item>trad-chinese-formal</item>+ <item>trad-chinese-informal</item>+ <item>transparent</item>+ <item>triangle</item>+ <item>true</item>+ <item>ui-monospace</item>+ <item>ui-rounded</item>+ <item>ui-sans-serif</item>+ <item>ui-serif</item>+ <item>ultra-condensed</item>+ <item>ultra-expanded</item>+ <item>under</item>+ <item>underline</item>+ <item>unicase</item>+ <item>unicode</item>+ <item>unsafe</item>+ <item>upper-alpha</item>+ <item>upper-armenian</item>+ <item>upper-latin</item>+ <item>upper-roman</item>+ <item>uppercase</item>+ <item>upright</item>+ <item>use-glyph-orientation</item>+ <item>verso</item>+ <item>vertical</item>+ <item>vertical-lr</item>+ <item>vertical-rl</item>+ <item>vertical-text</item>+ <item>view-box</item>+ <item>visible</item>+ <item>visibleFill</item>+ <item>visiblePainted</item>+ <item>visibleStroke</item>+ <item>w-resize</item>+ <item>wait</item>+ <item>weight</item>+ <item>words</item>+ <item>wrap</item>+ <item>wrap-reverse</item>+ <item>x-large</item>+ <item>x-small</item>+ <item>xx-large</item>+ <item>xx-small</item>+ <item>xxx-large</item>+ <item>zoom-in</item>+ <item>zoom-out</item>++ <!-- SVG only -->++ <item>after-edge</item>+ <item>arcs</item>+ <item>before-edge</item>+ <item>bevel</item>+ <item>bounding-box</item>+ <item>butt</item>+ <item>central</item>+ <item>crispEdges</item>+ <item>evenodd</item>+ <item>fixed-position</item>+ <item>freeze</item>+ <item>geometricPrecision</item>+ <item>ideographic</item>+ <item>linearRGB</item>+ <item>mathematical</item>+ <item>middle</item>+ <item>miter</item>+ <item>miter-clip</item>+ <item>non-rotation</item>+ <item>non-scaling-size</item>+ <item>non-scaling-stroke</item>+ <item>nonzero</item>+ <item>optimizeLegibility</item>+ <item>optimizeQuality</item>+ <item>optimizeSpeed</item>+ <item>remove</item>+ <item>sRGB</item>+ <item>text-after-edge</item>+ <item>text-before-edge</item>+ <item>text-bottom</item>+ <item>text-top</item>++ <!-- manual list -->+ <item>konq-center</item>+ </list>++ <list name="colors">+ <item>aliceblue</item>+ <item>antiquewhite</item>+ <item>aqua</item>+ <item>aquamarine</item>+ <item>azure</item>+ <item>beige</item>+ <item>bisque</item>+ <item>black</item>+ <item>blanchedalmond</item>+ <item>blue</item>+ <item>blueviolet</item>+ <item>brown</item>+ <item>burlywood</item>+ <item>cadetblue</item>+ <item>chartreuse</item>+ <item>chocolate</item>+ <item>coral</item>+ <item>cornflowerblue</item>+ <item>cornsilk</item>+ <item>crimson</item>+ <item>cyan</item>+ <item>darkblue</item>+ <item>darkcyan</item>+ <item>darkgoldenrod</item>+ <item>darkgray</item>+ <item>darkgreen</item>+ <item>darkgrey</item>+ <item>darkkhaki</item>+ <item>darkmagenta</item>+ <item>darkolivegreen</item>+ <item>darkorange</item>+ <item>darkorchid</item>+ <item>darkred</item>+ <item>darksalmon</item>+ <item>darkseagreen</item>+ <item>darkslateblue</item>+ <item>darkslategray</item>+ <item>darkslategrey</item>+ <item>darkturquoise</item>+ <item>darkviolet</item>+ <item>deeppink</item>+ <item>deepskyblue</item>+ <item>dimgray</item>+ <item>dimgrey</item>+ <item>dodgerblue</item>+ <item>firebrick</item>+ <item>floralwhite</item>+ <item>forestgreen</item>+ <item>fuchsia</item>+ <item>gainsboro</item>+ <item>ghostwhite</item>+ <item>gold</item>+ <item>goldenrod</item>+ <item>gray</item>+ <item>green</item>+ <item>greenyellow</item>+ <item>grey</item>+ <item>honeydew</item>+ <item>hotpink</item>+ <item>indianred</item>+ <item>indigo</item>+ <item>ivory</item>+ <item>khaki</item>+ <item>lavender</item>+ <item>lavenderblush</item>+ <item>lawngreen</item>+ <item>lemonchiffon</item>+ <item>lightblue</item>+ <item>lightcoral</item>+ <item>lightcyan</item>+ <item>lightgoldenrodyellow</item>+ <item>lightgray</item>+ <item>lightgreen</item>+ <item>lightgrey</item>+ <item>lightpink</item>+ <item>lightsalmon</item>+ <item>lightseagreen</item>+ <item>lightskyblue</item>+ <item>lightslategray</item>+ <item>lightslategrey</item>+ <item>lightsteelblue</item>+ <item>lightyellow</item>+ <item>lime</item>+ <item>limegreen</item>+ <item>linen</item>+ <item>magenta</item>+ <item>maroon</item>+ <item>mediumaquamarine</item>+ <item>mediumblue</item>+ <item>mediumorchid</item>+ <item>mediumpurple</item>+ <item>mediumseagreen</item>+ <item>mediumslateblue</item>+ <item>mediumspringgreen</item>+ <item>mediumturquoise</item>+ <item>mediumvioletred</item>+ <item>midnightblue</item>+ <item>mintcream</item>+ <item>mistyrose</item>+ <item>moccasin</item>+ <item>navajowhite</item>+ <item>navy</item>+ <item>oldlace</item>+ <item>olive</item>+ <item>olivedrab</item>+ <item>orange</item>+ <item>orangered</item>+ <item>orchid</item>+ <item>palegoldenrod</item>+ <item>palegreen</item>+ <item>paleturquoise</item>+ <item>palevioletred</item>+ <item>papayawhip</item>+ <item>peachpuff</item>+ <item>peru</item>+ <item>pink</item>+ <item>plum</item>+ <item>powderblue</item>+ <item>purple</item>+ <item>rebeccapurple</item>+ <item>red</item>+ <item>rosybrown</item>+ <item>royalblue</item>+ <item>saddlebrown</item>+ <item>salmon</item>+ <item>sandybrown</item>+ <item>seagreen</item>+ <item>seashell</item>+ <item>sienna</item>+ <item>silver</item>+ <item>skyblue</item>+ <item>slateblue</item>+ <item>slategray</item>+ <item>slategrey</item>+ <item>snow</item>+ <item>springgreen</item>+ <item>steelblue</item>+ <item>tan</item>+ <item>teal</item>+ <item>thistle</item>+ <item>tomato</item>+ <item>turquoise</item>+ <item>violet</item>+ <item>wheat</item>+ <item>white</item>+ <item>whitesmoke</item>+ <item>yellow</item>+ <item>yellowgreen</item>+ + <!-- System colors -->+ <item>AccentColor</item>+ <item>AccentColorText</item>+ <item>ActiveText</item>+ <item>ButtonBorder</item>+ <item>ButtonFace</item>+ <item>ButtonText</item>+ <item>Canvas</item>+ <item>CanvasText</item>+ <item>Field</item>+ <item>FieldText</item>+ <item>GrayText</item>+ <item>Highlight</item>+ <item>HighlightText</item>+ <item>LinkText</item>+ <item>Mark</item>+ <item>MarkText</item>+ <item>VisitedText</item>+ </list>++ <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Functions -->+ <list name="functions">+ <item>abs</item>+ <item>acos</item>+ <item>annotation</item>+ <item>asin</item>+ <item>atan</item>+ <item>atan2</item>+ <item>attr</item>+ <item>blur</item>+ <item>brightness</item>+ <item>calc</item>+ <item>character-variant</item>+ <item>circle</item>+ <item>clamp</item>+ <item>color</item>+ <item>color-mix</item>+ <item>conic-gradient</item>+ <item>contrast</item>+ <item>cos</item>+ <item>counter</item>+ <item>counters</item>+ <item>cross-fade</item>+ <item>device-cmyk</item>+ <item>drop-shadow</item>+ <item>ellipse</item>+ <item>env</item>+ <item>exp</item>+ <item>fit-content</item>+ <item>format</item>+ <item>grayscale</item>+ <item>hsl</item>+ <item>hue-rotate</item>+ <item>hwb</item>+ <item>hypot</item>+ <item>image</item>+ <item>image-set</item>+ <item>inset</item>+ <item>invert</item>+ <item>lab</item>+ <item>lch</item>+ <item>linear-gradient</item>+ <item>local</item>+ <item>log</item>+ <item>matrix</item>+ <item>matrix3d</item>+ <item>max</item>+ <item>min</item>+ <item>minmax</item>+ <item>mod</item>+ <item>oklab</item>+ <item>oklch</item>+ <item>opacity</item>+ <item>ornaments</item>+ <item>paint</item>+ <item>path</item>+ <item>perspective</item>+ <item>polygon</item>+ <item>pow</item>+ <item>radial-gradient</item>+ <item>rem</item>+ <item>repeat</item>+ <item>repeating-conic-gradient</item>+ <item>repeating-linear-gradient</item>+ <item>repeating-radial-gradient</item>+ <item>rgb</item>+ <item>rotate</item>+ <item>rotate3d</item>+ <item>rotateX</item>+ <item>rotateY</item>+ <item>rotateZ</item>+ <item>round</item>+ <item>saturate</item>+ <item>scale</item>+ <item>scale3d</item>+ <item>scaleX</item>+ <item>scaleY</item>+ <item>scaleZ</item>+ <item>sepia</item>+ <item>sign</item>+ <item>sin</item>+ <item>skew</item>+ <item>skewX</item>+ <item>skewY</item>+ <item>sqrt</item>+ <item>styleset</item>+ <item>stylistic</item>+ <item>swash</item>+ <item>symbols</item>+ <item>tan</item>+ <item>tech</item>+ <item>translate</item>+ <item>translate3d</item>+ <item>translateX</item>+ <item>translateY</item>+ <item>translateZ</item>+ <item>url</item>+ <item>var</item>+ </list>++ <list name="media types">+ <item>all</item>+ <item>print</item>+ <item>screen</item>+ <item>speech</item>+ </list>++ <list name="media features">+ <item>-webkit-device-pixel-ratio</item>+ <item>-webkit-transform-3d</item>+ <item>any-hover</item>+ <item>any-pointer</item>+ <item>aspect-ratio</item>+ <item>color</item>+ <item>color-gamut</item>+ <item>color-index</item>+ <item>display-mode</item>+ <item>dynamic-range</item>+ <item>forced-colors</item>+ <item>grid</item>+ <item>height</item>+ <item>hover</item>+ <item>inverted-colors</item>+ <item>max-height</item>+ <item>max-width</item>+ <item>min-height</item>+ <item>min-width</item>+ <item>monochrome</item>+ <item>orientation</item>+ <item>overflow-block</item>+ <item>overflow-inline</item>+ <item>pointer</item>+ <item>prefers-color-scheme</item>+ <item>prefers-contrast</item>+ <item>prefers-reduced-motion</item>+ <item>resolution</item>+ <item>scripting</item>+ <item>update</item>+ <item>video-dynamic-range</item>+ <item>width</item>+ </list>++ <!-- prefixed by :: -->+ <list name="pseudo-elements">+ <item>after</item>+ <item>backdrop</item>+ <item>before</item>+ <item>cue</item>+ <item>cue-region</item>+ <item>file-selector-button</item>+ <item>first-letter</item>+ <item>first-line</item>+ <item>marker</item>+ <item>part</item>+ <item>placeholder</item>+ <item>selection</item>+ <item>slotted</item>++ <!-- manual list -->++ <item>-moz-progress-bar</item>+ <item>-moz-range-progress</item>+ <item>-moz-range-thumb</item>+ <item>-moz-range-track</item>+ <item>-moz-selection</item>+ <item>-ms-fill</item>+ <item>-ms-fill-lower</item>+ <item>-ms-fill-upper</item>+ <item>-ms-thumb</item>+ <item>-ms-track</item>+ <item>-webkit-progress-bar</item>+ <item>-webkit-progress-value</item>+ <item>-webkit-slider-runnable-track</item>+ <item>-webkit-slider-thumb</item>+ </list>++ <!-- prefixed by : -->+ <list name="pseudo-classes">+ <item>active</item>+ <item>any-link</item>+ <item>autofill</item>+ <item>buffering</item>+ <item>checked</item>+ <item>current</item>+ <item>default</item>+ <item>defined</item>+ <item>dir</item>+ <item>disabled</item>+ <item>empty</item>+ <item>enabled</item>+ <item>first</item>+ <item>first-child</item>+ <item>first-of-type</item>+ <item>focus</item>+ <item>focus-visible</item>+ <item>focus-within</item>+ <item>fullscreen</item>+ <item>has</item>+ <item>host</item>+ <item>host-context</item>+ <item>hover</item>+ <item>in-range</item>+ <item>indeterminate</item>+ <item>invalid</item>+ <item>is</item>+ <item>lang</item>+ <item>last-child</item>+ <item>last-of-type</item>+ <item>left</item>+ <item>link</item>+ <item>local-link</item>+ <item>modal</item>+ <item>muted</item>+ <item>not</item>+ <item>nth-child</item>+ <item>nth-last-child</item>+ <item>nth-last-of-type</item>+ <item>nth-of-type</item>+ <item>only-child</item>+ <item>only-of-type</item>+ <item>optional</item>+ <item>out-of-range</item>+ <item>paused</item>+ <item>picture-in-picture</item>+ <item>placeholder-shown</item>+ <item>playing</item>+ <item>read-only</item>+ <item>read-write</item>+ <item>required</item>+ <item>right</item>+ <item>root</item>+ <item>scope</item>+ <item>seeking</item>+ <item>stalled</item>+ <item>target</item>+ <item>user-invalid</item>+ <item>user-valid</item>+ <item>valid</item>+ <item>visited</item>+ <item>volume-locked</item>+ <item>where</item>+ </list>++ <list name="@page pseudo-classes">+ <item>blank</item>+ <item>first</item>+ <item>left</item>+ <item>recto</item>+ <item>right</item>+ <item>verso</item>+ </list>++ <list name="at-rules">+ <item>@charset</item>+ <item>@container</item>+ <item>@font-feature-values</item>+ <item>@import</item>+ <item>@keyframes</item>+ <item>@layer</item>+ <item>@media</item>+ <item>@namespace</item>+ <item>@page</item>+ <item>@supports</item>+ </list>++ <list name="at-rules definitions">+ <item>@color-profile</item>+ <item>@counter-style</item>+ <item>@font-face</item>+ <item>@font-palette-values</item>+ <item>@property</item>+ </list>++ <list name="media operators">+ <item>or</item>+ <item>and</item>+ <item>only</item>+ <item>not</item>+ </list>++ <contexts>+ <context name="Base" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Block Symbol" context="RuleSet" char="{" beginRegion="ruleset"/>+ <DetectChar context="SelectAtRule" char="@" lookAhead="1"/>+ <IncludeRules context="FindSelector"/>+ </context>++ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <context name="FindSelector" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Selector Pseudo" context="PseudoClassOrElement" char=":"/>+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="["/>+ <DetectChar attribute="Selector Pseudo" context="PseudoClassSelector" char="("/>+ <AnyChar attribute="Selector Symbol" String="*>+~|&"/>+ <IncludeRules context="FindComments"/>+ <RegExpr attribute="Selector Class" String="\.&ident2;"/>+ <RegExpr attribute="Selector Id" String="#&ident2;"/>+ <RegExpr attribute="Selector Tag" String="&ident;"/>+ </context>++ <!-- find functions // rgba(255,255,255,0.75) -->+ <context name="FindFunctions" attribute="Normal Text">+ <RegExpr context="Function" String="(&func;)?\(" lookAhead="1"/>+ </context>+ <context name="FindNestedFunctions" attribute="Normal Text">+ <RegExpr context="NestedFunction" String="(&func;)?\(" lookAhead="1"/>+ </context>++ <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->+ <context name="FindValues" attribute="Normal Text">+ <DetectChar attribute="Annotation" context="Annotation" char="!"/>+ <keyword attribute="Value Keyword" String="value keywords"/>+ <keyword attribute="Value" String="values"/>+ <keyword attribute="Named Color" String="colors"/>+ <RegExpr attribute="Color" String="#([0-9A-Fa-f]{8}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{3,4})"/>+ <IncludeRules context="FindNumber"/>+ <IncludeRules context="FindIdentifier"/>+ </context>++ <context name="FindNumber" attribute="Number" lineEndContext="#pop">+ <RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])"/>+ </context>++ <context name="FindIdentifier" attribute="Number" lineEndContext="#pop">+ <RegExpr String="&ident2;\s*"/>+ </context>++ <context name="FindVendorProperty" attribute="Normal Text">+ <RegExpr attribute="Vendor Property" String="-(webkit|moz|o|ms)-[-_a-zA-Z0-9]*"/>+ </context>++ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <WordDetect attribute="Annotation" context="#pop" String="important"/>+ </context>++ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <!-- https://drafts.csswg.org/css-values-4/#lengths -->+ <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Values_and_Units -->+ <RegExpr attribute="Unit" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|grad|rad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)(?![-+])"/>+ </context>++ <!-- find strings // "some words" 'some words' -->+ <context name="FindStrings" attribute="Normal Text">+ <DetectChar attribute="String" context="StringDQ" char="""/>+ <DetectChar attribute="String" context="StringSQ" char="'"/>+ </context>++ <!-- find comments // /* comment */ -->+ <context name="FindComments" attribute="Normal Text">+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="1"/>+ <Detect2Chars attribute="Error" context="Error" char="/" char1="/"/>+ </context>++ <context name="Error" attribute="Error" lineEndContext="#pop">+ <RegExpr attribute="Error" context="#pop" String=".*"/>+ </context>++ <context name="IsComments" attribute="Normal Text">+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*BEGIN\b.*\*/" beginRegion="UserDefined"/>+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*END\b.*\*/" endRegion="UserDefined"/>+ <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment"/>+ </context>++ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">+ <WordDetect attribute="At Rule" context="@keyframes" String="@keyframes"/>+ <WordDetect attribute="At Rule" context="@layer" String="@layer"/>+ <WordDetect attribute="At Rule" context="@font-feature-values" String="@font-feature-values"/>+ <WordDetect attribute="At Rule" context="@page" String="@page"/>+ <WordDetect attribute="At Rule" context="@supports" String="@supports"/>+ <keyword attribute="At Rule" context="@property" String="at-rules definitions"/>+ <RegExpr attribute="At Rule" context="@media" String="@[-a-zA-Z0-9_]*"/>+ </context>+++ <context name="AtRuleCommon" attribute="At Rule Text">+ <DetectChar char=";" context="#pop#pop" attribute="Separator Symbol"/>+ <DetectChar char="}" context="#pop#pop" lookAhead="1"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="AtRuleCommon2" attribute="At Rule Text">+ <DetectChar char="{" context="#pop#pop!NestedRule" attribute="Block Symbol" beginRegion="ruleset"/>+ <IncludeRules context="AtRuleCommon"/>+ </context>+++ <context name="@media" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="(" context="AtRuleMediaCondition" attribute="Condition Open/Close"/>+ <IncludeRules context="AtRuleCommon2"/>+ <IncludeRules context="FindFunctions"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="media types" attribute="Media Type"/>+ <DetectIdentifier/>+ </context>++ <context name="AtRuleMediaCondition" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char=";" context="#pop#pop#pop" attribute="Error"/>+ <DetectChar char="{" context="#pop#pop#pop!RuleSet" attribute="Error" beginRegion="ruleset"/>+ <DetectChar char="}" context="#pop#pop#pop" lookAhead="1"/>+ <IncludeRules context="AtRuleMediaConditionValue"/>+ </context>+ <context name="NestedAtRuleMediaCondition" attribute="At Rule Text">+ <DetectSpaces/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="AtRuleMediaConditionValue"/>+ </context>+ <context name="AtRuleMediaConditionValue" attribute="At Rule Text">+ <AnyChar String="<>=" attribute="Operator"/>+ <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/>+ <DetectChar char="(" context="NestedAtRuleMediaCondition" attribute="Condition Open/Close"/>+ <DetectChar char=":" attribute="Property Separator"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindNumber"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="media features" attribute="Condition Property"/>+ <IncludeRules context="FindIdentifier"/>+ </context>++ <context name="NestedRule" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char="}" context="#pop" attribute="Block Symbol" endRegion="ruleset"/>+ <DetectChar char="{" context="RuleSet" attribute="Block Symbol" beginRegion="ruleset"/>+ <DetectChar char="@" context="SelectAtRule" lookAhead="1"/>+ <IncludeRules context="FindSelector"/>+ </context>+++ <context name="@supports" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="(" context="AtRuleSupportsCondition" lookAhead="1"/>+ <IncludeRules context="AtRuleCommon2"/>+ <keyword String="media operators" attribute="Keyword"/>+ <WordDetect String="selector(" context="FunctionSelector" attribute="Function"/>+ <WordDetect String="font-tech(" context="#pop!SupportsProp" lookAhead="1"/>+ <WordDetect String="font-format(" context="#pop!SupportsProp" lookAhead="1"/>+ <DetectIdentifier/>+ </context>+ <context name="SupportsProp" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="{" context="#pop#pop!RuleSet" attribute="Block Symbol" beginRegion="ruleset"/>+ <WordDetect String="font-tech(" context="FunctionFont" attribute="Function"/>+ <WordDetect String="font-format(" context="FunctionFont" attribute="Function"/>+ <IncludeRules context="AtRuleCommon"/>+ </context>++ <context name="AtRuleSupportsCondition" attribute="At Rule Text" fallthroughContext="#pop">+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <DetectChar char=";" context="#pop#pop#pop" attribute="Error"/>+ <DetectChar char="{" context="#pop#pop#pop!NestedRule" attribute="Error" beginRegion="ruleset"/>+ <DetectChar char="}" context="#pop#pop#pop" lookAhead="1"/>+ </context>+ <context name="SupportsCondition" attribute="At Rule Text" fallthroughContext="#pop!SupportsConditionValue">+ <DetectSpaces/>+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <DetectChar char=":" context="#pop!SupportsConditionValue" attribute="Property Separator"/>+ <IncludeRules context="FindComments"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="properties" attribute="Condition Property"/>+ <IncludeRules context="FindVendorProperty"/>+ </context>+ <context name="SupportsConditionValue" attribute="At Rule Text">+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/>+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="FunctionSelector" attribute="At Rule Text">+ <DetectSpaces/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <DetectChar char=")" context="#pop" attribute="Function"/>+ <IncludeRules context="FindSelector"/>+ </context>+ <context name="FunctionFont" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectIdentifier/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <DetectChar char=")" context="#pop" attribute="Function"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ </context>+++ <context name="@layer" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectIdentifier/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <IncludeRules context="AtRuleCommon2"/>+ </context>+++ <context name="@page" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar attribute="Selector Pseudo" char=":"/>+ <AnyChar String="{};" context="#pop#pop" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <keyword attribute="Selector Pseudo" String="@page pseudo-classes"/>+ <DetectIdentifier/>+ </context>+++ <context name="@property" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="-"/>+ <DetectChar char="{" context="#pop#pop!RuleSet" attribute="Block Symbol" beginRegion="ruleset"/>+ <IncludeRules context="AtRuleCommon"/>+ <DetectIdentifier/>+ </context>+++ <context name="@font-feature-values" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectIdentifier/>+ <DetectChar char="{" context="#pop#pop!FontFeatureBlock" attribute="Block Symbol" beginRegion="ruleset"/>+ <IncludeRules context="AtRuleCommon"/>+ </context>+ <context name="FontFeatureBlock" attribute="Normal Text" fallthroughContext="#pop!NestedRule">+ <DetectSpaces/>+ <DetectChar char="}" context="#pop" attribute="Block Symbol" endRegion="ruleset"/>+ <DetectChar char="{" context="AtRuleSet" attribute="Block Symbol" beginRegion="ruleset"/>+ <RegExpr String="@[-a-zA-Z]*" attribute="At Rule"/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="AtRuleSet" attribute="Normal Text" fallthroughContext="#pop!NestedRule">+ <IncludeRules context="RuleSet"/>+ </context>+++ <context name="@keyframes" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="{" context="#pop#pop!KeyFramesBlock" attribute="Block Symbol" beginRegion="ruleset"/>+ <IncludeRules context="AtRuleCommon"/>+ <DetectIdentifier/>+ </context>+ <context name="KeyFramesBlock" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char="{" context="RuleSet" attribute="Block Symbol" beginRegion="ruleset"/>+ <DetectChar char="}" context="#pop" attribute="Block Symbol" endRegion="ruleset"/>+ <DetectChar char="," attribute="Separator Symbol"/>+ <IncludeRules context="FindComments"/>+ <RegExpr attribute="Value" String="\b(from|to)\b|[-+]?[0-9.]+%"/>+ </context>+++ <context name="SelectorAttr" attribute="Attribute Name">+ <DetectChar attribute="Selector Attribute" context="#pop" char="]"/>+ <IncludeRules context="FindStrings"/>+ <DetectChar attribute="Attribute Operator" context="SelectorAttrValue" char="="/>+ <AnyChar attribute="Attribute Operator" String="~^$*|"/>+ <IncludeRules context="FindComments"/>+ <DetectIdentifier/>+ <AnyChar context="#pop" String="{};#.,:>" lookAhead="1"/>+ </context>++ <context name="SelectorAttrValue" attribute="Normal Text" fallthroughContext="SelectorAttrEnd">+ <DetectSpaces/>+ <AnyChar context="SelectorAttrValueQuoted" String=""'" lookAhead="1"/>+ <RegExpr context="SelectorAttrEnd" attribute="String" String="-?(\w|&escaped;)([-\w]+|&escaped;)*"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="SelectorAttrValueQuoted" attribute="String" fallthroughContext="#pop!SelectorAttrEnd">+ <IncludeRules context="FindStrings"/>+ </context>+ <context name="SelectorAttrEnd" attribute="String" fallthroughContext="#pop#pop#pop">+ <DetectSpaces/>+ <DetectChar attribute="Selector Attribute" context="#pop#pop#pop" char="]"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="i" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="I" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="s" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="S" char1="]" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="SelectorAttrValueSensitiveOp" attribute="String">+ <DetectChar attribute="Selector Attribute" context="#pop#pop#pop#pop" char="]"/>+ <AnyChar attribute="Attribute Operator" String="isIS"/>+ </context>++ <context name="PseudoClassOrElement" attribute="Selector Pseudo" lineEndContext="#pop" fallthroughContext="#pop">+ <DetectChar char=":" attribute="Selector Pseudo"/>+ <WordDetect String="lang" attribute="Selector Pseudo" context="PseudoClassStr"/>+ <WordDetect String="part" attribute="Selector Pseudo" context="PseudoClassStr"/>+ <RegExpr String="nth-[-a-zA-Z0-9]*" attribute="Selector Pseudo" context="PseudoClassNth"/>+ <RegExpr String="[-a-zA-Z]+" attribute="Selector Pseudo" context="#pop"/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="PseudoClassStr" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="(" context="PseudoClassStrInner" attribute="Selector Pseudo"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="PseudoClassStrInner" attribute="Error">+ <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/>+ <DetectChar char="{" context="#pop#pop#pop!RuleSet" attribute="Error" beginRegion="ruleset"/>+ <DetectChar char=":" context="#pop#pop#pop!PseudoClassOrElement" attribute="Error"/>+ <RegExpr String="\s*&ident;(\s+&ident;|\s+)*" attribute="String"/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="PseudoClassNth" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="(" context="PseudoClassNthInner" attribute="Selector Pseudo"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="PseudoClassNthInner" attribute="Normal Text" fallthroughContext="#pop#pop!PseudoClassSelector">+ <Int attribute="Number" additionalDeliminator="-"/>+ <AnyChar String="+-" attribute="Operator"/>+ <DetectChar char="n" attribute="Unit"/>+ <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/>+ <WordDetect String="odd" attribute="Value"/>+ <WordDetect String="even" attribute="Value"/>+ <WordDetect String="of" attribute="Keyword" context="#pop#pop!PseudoClassSelector"/>+ <IncludeRules context="FindComments"/>+ <DetectSpaces/>+ </context>++ <context name="PseudoClassSelector" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char=")" context="#pop" attribute="Selector Pseudo"/>+ <DetectChar attribute="Selector Pseudo" context="NestedPseudoClassSelector" char="("/>+ <IncludeRules context="FindSelector"/>+ <DetectChar char="{" context="#pop!RuleSet" attribute="Error" beginRegion="ruleset"/>+ </context>+ <context name="NestedPseudoClassSelector" attribute="Normal Text">+ <DetectChar char="{" context="#pop" lookAhead="1"/>+ <IncludeRules context="PseudoClassSelector"/>+ </context>++ <context name="Comment" attribute="Comment">+ <DetectSpaces/>+ <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment"/>+ <IncludeRules context="##Comments"/>+ <DetectIdentifier/>+ </context>++ <context name="RuleSet" attribute="Normal Text" fallthroughContext="Rule">+ <DetectSpaces/>+ <DetectChar attribute="Block Symbol" context="#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="RuleSet" char="{" beginRegion="ruleset"/>+ <DetectChar context="SelectAtRule" char="@" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <AnyChar context="Selector" String=".#:,[*>+~|&" lookAhead="1"/>+ </context>++ <context name="Selector" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Block Symbol" context="#pop!RuleSet" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/>+ <DetectChar context="#pop!SelectAtRule" char="@" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindSelector"/>+ </context>++ <context name="Rule" attribute="Normal Text">+ <DetectChar attribute="Property Separator" context="RuleParameters" char=":"/>+ <Detect2Chars attribute="Variable" context="PropertyVariable" char="-" char1="-"/>+ <IncludeRules context="FindComments"/>+ <AnyChar context="#pop!Selector" String=".#,[*>+~|&@{}" lookAhead="1"/>+ <keyword attribute="Property" String="properties"/>+ <DetectSpaces attribute="Normal Text"/>+ <IncludeRules context="FindVendorProperty"/>+ <RegExpr attribute="Unknown Property" String="[-_a-zA-Z]*"/>+ </context>+ <context name="PropertyVariable" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <RegExpr attribute="Variable" context="#pop" String="[-_a-zA-Z0-9]*"/>+ </context>++ <context name="RuleParameters" attribute="Normal Text">+ <DetectSpaces/>+ <!-- Jump out conditions -->+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="Function" attribute="Normal Text">+ <IncludeRules context="FunctionInc"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char=";"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset"/>+ </context>+ <context name="NestedFunction" attribute="Normal Text">+ <IncludeRules context="FunctionInc"/>+ <AnyChar context="#pop" String="{};" lookAhead="1"/>+ </context>+ <context name="FunctionInc" attribute="Normal Text">+ <DetectChar attribute="Function" context="FunctionParameters" char="("/>+ <StringDetect attribute="Function" context="FunctionVar" String="var("/>+ <StringDetect attribute="Function" context="FunctionCalc" String="calc("/>+ <StringDetect attribute="Function" context="FunctionUrl" String="url("/>+ <StringDetect attribute="Function" context="FunctionEnv" String="env("/>+ <keyword attribute="Function" String="functions"/>+ <!-- Legacy -->+ <WordDetect attribute="Function" String="rgba"/>+ <WordDetect attribute="Function" String="hsla"/>+ <RegExpr attribute="Unknown Function" String="&func;"/>+ </context>++ <context name="FunctionVar" attribute="Normal Text" fallthroughContext="FunctionVarSep">+ <RegExpr String="&var;" context="FunctionVarSep" attribute="Variable"/>+ <DetectSpaces/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="FunctionVarSep" attribute="Normal Text" fallthroughContext="FunctionVarParam">+ <DetectChar char=")" context="#pop#pop#pop" attribute="Function"/>+ <DetectChar char="," context="FunctionVarParam" attribute="Separator Symbol"/>+ </context>+ <context name="FunctionVarParam" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char=")" context="#pop#pop#pop#pop" attribute="Function"/>+ <AnyChar String=";{}" context="#pop#pop#pop" lookAhead="1"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindNestedFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="FunctionEnv" attribute="Normal Text" fallthroughContext="FunctionVarSep">+ <RegExpr String="&ident;" context="FunctionVarSep" attribute="Normal Text"/>+ <DetectSpaces/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="FunctionCalc" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Function" context="#pop#pop" char=")"/>+ <IncludeRules context="Calc"/>+ </context>+ <context name="NestedCalc" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Normal Text" context="#pop" char=")"/>+ <IncludeRules context="Calc"/>+ </context>+ <context name="Calc" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Normal Text" context="NestedCalc" char="("/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindComments"/>+ <AnyChar attribute="Operator" String="*/%"/>+ <IncludeRules context="FindNestedFunctions"/>+ <IncludeRules context="FindNumber"/>+ <RegExpr String="[-+]?((?i:infinity|e|pi)|NaN)($|[^-\w])|[-+]($|[\s(,;]|/\*)" context="CalcConstantOrOperator" lookAhead="1"/>+ <IncludeRules context="FindIdentifier"/>+ </context>+ <context name="CalcConstantOrOperator" attribute="Normal Text" fallthroughContext="#pop">+ <DetectIdentifier context="#pop" attribute="Calc Constant"/>+ <AnyChar String="-+" attribute="Operator"/>+ </context>++ <context name="FunctionUrl" attribute="Normal Text" fallthroughContext="UrlValue">+ <DetectSpaces/>+ <IncludeRules context="FindStrings"/>+ </context>+ <context name="UrlValue" attribute="String">+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")"/>+ <AnyChar String=";{}" context="#pop#pop" lookAhead="1"/>+ </context>++ <context name="FunctionParameters" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Function" context="#pop#pop" char=")"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindNestedFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <!-- string contexts -->+ <context name="StringDQ" attribute="String" lineEndContext="#pop">+ <DetectChar attribute="String" context="#pop" char="""/>+ <IncludeRules context="InsideString"/>+ </context>++ <context name="StringSQ" attribute="String" lineEndContext="#pop">+ <DetectChar attribute="String" context="#pop" char="'"/>+ <IncludeRules context="InsideString"/>+ </context>++ <context name="InsideString" attribute="String">+ <RegExpr attribute="SpecialChar" String="\\([0-9A-Fa-f]{1,6}|.?)"/>+ <RegExpr attribute="String" String="\\?[^"'\\]+"/>+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="At Rule Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Media Type" defStyleNum="dsAnnotation" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Vendor Property" defStyleNum="dsKeyword" spellChecking="false" italic="1"/>+ <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Property Separator" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Block Symbol" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Named Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Unknown Function" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Calc Constant" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Condition Open/Close" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Condition Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>+ <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Selector Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Attribute Name" defStyleNum="dsSpecialString" spellChecking="false"/>+ <itemData name="Attribute Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="0" weakDeliminator="-%@"/>+ <comments>+ <comment name="multiLine" start="/*" end="*/" region="comment"/> </comments> </general>
xml/djangotemplate.xml view
@@ -4,7 +4,7 @@ <!ENTITY name "[A-Za-z_:][\w.:_-]*"> <!ENTITY entref "&(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);"> ]>-<language name="Django HTML Template" version="7" kateversion="5.53" section="Markup" extensions="*.htm;*.html" mimetype="text/html" author="Matthew Marshall (matthew@matthewmarshall.org)" license="LGPL" priority="9">+<language name="Django HTML Template" version="8" kateversion="5.79" section="Markup" extensions="*.htm;*.html" mimetype="text/html" author="Matthew Marshall (matthew@matthewmarshall.org)" license="LGPL" priority="9"> <!-- Based off of the katepart html syntax highlighting by Wilbert Berendsen.@@ -131,17 +131,17 @@ <DetectIdentifier/> <StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" /> <StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />- <RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" beginRegion="doctype" />+ <WordDetect attribute="Doctype" context="Doctype" String="<!DOCTYPE" beginRegion="doctype" /> <RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />- <RegExpr attribute="Element" context="CSS" String="<style\b" insensitive="true" beginRegion="style" />- <RegExpr attribute="Element" context="JS" String="<script\b" insensitive="true" beginRegion="script" />- <RegExpr attribute="Element" context="El Open" String="<pre\b" insensitive="true" beginRegion="pre" />- <RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="true" beginRegion="div" />- <RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="true" beginRegion="table" />+ <WordDetect attribute="Element" context="CSS" String="<style" insensitive="true" beginRegion="style" />+ <WordDetect attribute="Element" context="JS" String="<script" insensitive="true" beginRegion="script" />+ <WordDetect attribute="Element" context="El Open" String="<pre" insensitive="true" beginRegion="pre" />+ <WordDetect attribute="Element" context="El Open" String="<div" insensitive="true" beginRegion="div" />+ <WordDetect attribute="Element" context="El Open" String="<table" insensitive="true" beginRegion="table" /> <RegExpr attribute="Element" context="El Open" String="<&name;" />- <RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="true" endRegion="pre" />- <RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="true" endRegion="div" />- <RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="true" endRegion="table" />+ <WordDetect attribute="Element" context="El Close" String="</pre" insensitive="true" endRegion="pre" />+ <WordDetect attribute="Element" context="El Close" String="</div" insensitive="true" endRegion="div" />+ <WordDetect attribute="Element" context="El Close" String="</table" insensitive="true" endRegion="table" /> <RegExpr attribute="Element" context="El Close" String="</&name;" /> <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" /> <IncludeRules context="FindEntityRefs" />@@ -249,7 +249,7 @@ </context> <context name="CSS content" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Element" context="El Close 2" String="</style\b" insensitive="true" endRegion="style" />+ <WordDetect attribute="Element" context="El Close 2" String="</style" insensitive="true" endRegion="style" /> <IncludeRules context="FindTemplate" /> <IncludeRules context="##CSS" includeAttrib="true"/> </context>@@ -263,25 +263,25 @@ </context> <context name="JS content" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Element" context="El Close 2" String="</script\b" insensitive="true" endRegion="script" />+ <WordDetect attribute="Element" context="El Close 2" String="</script" insensitive="true" endRegion="script" /> <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*</script\b)" insensitive="true" /> <IncludeRules context="FindTemplate" /> <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> </context> <context name="JS comment close" attribute="Comment" lineEndContext="#pop">- <RegExpr attribute="Element" context="El Close 3" String="</script\b" insensitive="true" endRegion="script" />+ <WordDetect attribute="Element" context="El Close 3" String="</script" insensitive="true" endRegion="script" /> <IncludeRules context="FindTemplate" /> <IncludeRules context="##Comments" /> </context> - <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">+ <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="Value NQ"> <DetectChar attribute="Value" context="Value DQ" char=""" /> <DetectChar attribute="Value" context="Value SQ" char="'" /> <DetectSpaces /> </context> - <context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthroughContext="#pop#pop"> <IncludeRules context="FindEntityRefs" /> <IncludeRules context="FindTemplate" /> <RegExpr attribute="Value" context="#stay" String="/(?!>)|[^/><"'\s]" />
xml/dosbat.xml view
@@ -7,7 +7,7 @@ <!ENTITY eop "(?=([\s\\;"%]|$))"> <!-- end of path --> <!ENTITY pathpart "[^\s\\%!;/:*?"><|&]"> <!-- valid character in a file name --> ]>-<language name="MS-DOS Batch" version="8" kateversion="5.62" section="Scripts" extensions="*.bat;*.cmd" mimetype="application/x-dos" casesensitive="0" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL">+<language name="MS-DOS Batch" version="9" kateversion="5.62" section="Scripts" extensions="*.bat;*.cmd" mimetype="application/x-dos" casesensitive="0" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL"> <!-- (c) 2006, 2009, 2010 Matthew Woehlke (mw_triad@users.sourceforge.net) Released under the LGPL -->@@ -340,6 +340,7 @@ </context> <context attribute="Normal Text" lineEndContext="#pop" name="FindUnquotedStringEscape">+ <LineContinue attribute="Escape" char="^"/> <RegExpr attribute="Escape" context="#stay" String="\^."/> </context>
xml/groovy.xml view
@@ -10,7 +10,7 @@ <!-- Based on the java syntax file 1.19 by Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br) -->-<language name="Groovy" version="11" kateversion="5.62" section="Sources" extensions="*.groovy;*.gradle;*.gvy;Jenkinsfile" license="LGPL" author="Chris Reeves (chris@ev-soft.net)">+<language name="Groovy" version="12" kateversion="5.79" section="Sources" extensions="*.groovy;*.gradle;*.gvy;Jenkinsfile" license="LGPL" author="Chris Reeves (chris@ev-soft.net)"> <highlighting> <list name="java15"> <include>java15##Java</include>
xml/html.xml view
@@ -5,7 +5,7 @@ <!ENTITY attributeName "[A-Za-z_:*#\(\[][\)\]\w.:_-]*"> <!ENTITY entref "&(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);"> ]>-<language name="HTML" version="17" kateversion="5.53" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm;*.aspx" mimetype="text/html" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">+<language name="HTML" version="18" kateversion="5.79" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm;*.aspx" mimetype="text/html" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10"> <highlighting> <contexts>@@ -18,7 +18,7 @@ <DetectIdentifier/> <StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" /> <StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />- <RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" insensitive="true" beginRegion="doctype" />+ <WordDetect attribute="Doctype" context="Doctype" String="<!DOCTYPE" insensitive="true" beginRegion="doctype" /> <IncludeRules context="FindElements" /> <RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" /> @@ -211,13 +211,13 @@ <IncludeRules context="##Comments" /> </context> - <context name="Value" attribute="Other Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">+ <context name="Value" attribute="Other Text" lineEndContext="#stay" fallthroughContext="Value NQ"> <DetectChar attribute="Value" context="Value DQ" char=""" /> <DetectChar attribute="Value" context="Value SQ" char="'" /> <DetectSpaces /> </context> - <context name="Value NQ" attribute="Other Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <context name="Value NQ" attribute="Other Text" lineEndContext="#pop#pop" fallthroughContext="#pop#pop"> <!-- '{' and '}' are valid, but used with twig --> <RegExpr attribute="Value" String="[^><"'&\s=`{}]+" /> <IncludeRules context="FindEntityRefs" />@@ -238,11 +238,11 @@ <!-- Read content from the "type" attribute to change the language to highlight in the <script> tag. The default language is JavaScript. --> - <context name="Script-Type" attribute="Other Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">+ <context name="Script-Type" attribute="Other Text" lineEndContext="#stay" fallthroughContext="#pop"> <DetectSpaces /> <DetectChar attribute="Attribute" context="#pop!Script-Type Value" char="=" /> </context>- <context name="Script-Type Value" attribute="Other Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!Value">+ <context name="Script-Type Value" attribute="Other Text" lineEndContext="#stay" fallthroughContext="#pop!Value"> <DetectSpaces /> <!-- TypeScript --> <StringDetect attribute="Value" context="#pop#pop!TypeScript" String=""text/typescript""/>@@ -293,7 +293,7 @@ <context name="MustacheJS content" attribute="Other Text" lineEndContext="#stay"> <IncludeRules context="FindScriptTagClose" /> <StringDetect attribute="Error" context="#stay" String="<script>" insensitive="true" />- <RegExpr attribute="Error" context="#stay" String="<script\b" insensitive="true" />+ <WordDetect attribute="Error" context="#stay" String="<script" insensitive="true" /> <IncludeRules context="Base##Mustache/Handlebars (HTML)" includeAttrib="true"/> </context> @@ -304,7 +304,7 @@ <context name="Script HTML template content" attribute="Other Text" lineEndContext="#stay"> <IncludeRules context="FindScriptTagClose" /> <StringDetect attribute="Error" context="#stay" String="<script>" insensitive="true" />- <RegExpr attribute="Error" context="#stay" String="<script\b" insensitive="true" />+ <WordDetect attribute="Error" context="#stay" String="<script" insensitive="true" /> <IncludeRules context="FindHTML" /> </context>
xml/ini.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language>-<language name="INI Files" section="Configuration" extensions="*.ini;*.pls;*.kcfgc;.gitattributes*;.gitconfig*;.gitmodules*;.editorconfig*" mimetype="" version="12" kateversion="5.0" author="Jan Janssen (medhefgo@web.de)" license="LGPL">+<language name="INI Files" section="Configuration" extensions="*.ini;*.cfg;*.pls;*.kcfgc;.gitattributes*;.gitconfig*;.gitmodules*;.editorconfig*" mimetype="" version="13" kateversion="5.0" author="Jan Janssen (medhefgo@web.de)" license="LGPL" priority="1"> <highlighting> <list name="keywords">
xml/isocpp.xml view
@@ -35,12 +35,12 @@ <language name="ISO C++" section="Sources"- version="29"+ version="31" kateversion="5.79" indenter="cstyle" style="C++" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"- extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"+ extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.cu;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.cuh;*.inl;*.ino;*.pde;*.moc;*.mpp;*.ixx;*.cppm;*.cxxm;*.c++m;*.ccm" author="Alex Turbov (i.zaufi@gmail.com)" license="LGPL" priority="6"@@ -370,11 +370,11 @@ <Detect2Chars context="#pop!SelectStringPrefix" char="u" char1=""" lookAhead="1"/> <Detect2Chars context="#pop!SelectStringPrefix" char="L" char1=""" lookAhead="1"/> <StringDetect context="#pop!SelectStringPrefix" String="u8"" lookAhead="1"/>- <Detect2Chars attribute="Raw String Delimiter" context="#pop!RawString" char="R" char1=""" />- <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="uR""/>- <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="UR""/>- <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="LR""/>- <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="u8R""/>+ <StringDetect context="#pop!RawString" String="R"" lookAhead="1"/>+ <StringDetect context="#pop!RawString" String="uR"" lookAhead="1"/>+ <StringDetect context="#pop!RawString" String="UR"" lookAhead="1"/>+ <StringDetect context="#pop!RawString" String="LR"" lookAhead="1"/>+ <StringDetect context="#pop!RawString" String="u8R"" lookAhead="1"/> <Detect2Chars context="#pop!SelectCharPrefix" char="U" char1="'" lookAhead="1"/> <Detect2Chars context="#pop!SelectCharPrefix" char="u" char1="'" lookAhead="1"/> <Detect2Chars context="#pop!SelectCharPrefix" char="L" char1="'" lookAhead="1"/>@@ -637,8 +637,12 @@ <DetectIdentifier /> </context> - <context name="RawString" attribute="String" lineEndContext="#stay" fallthroughContext="#pop!LineError">- <RegExpr attribute="Raw String Delimiter" context="#pop!InRawString" String="([^\(]{0,16})\(" beginRegion="Raw String" />+ <context name="RawString" attribute="String" lineEndContext="#stay">+ <AnyChar attribute="Raw String Literal Prefix" String="uUL8R"/>+ <!-- A sequence of one or more basic character set, except parentheses, backslash and spaces,+ at most 16 characters long -->+ <RegExpr attribute="Raw String Delimiter" context="#pop!InRawString" String=""([\x21-\x27\x2A-\x5B\x5D-\x7E]{0,16})\(" beginRegion="Raw String"/>+ <RegExpr attribute="Error" context="#pop" String=""(\s+|\w+\s*|"|[^\s\w]+)?"/> </context> <context name="InRawString" attribute="Raw String" lineEndContext="#stay" dynamic="true">@@ -893,6 +897,7 @@ <itemData name="String Literal Prefix" defStyleNum="dsString" spellChecking="true" /> <itemData name="Raw String" defStyleNum="dsVerbatimString" spellChecking="true" /> <itemData name="Raw String Delimiter" defStyleNum="dsString" spellChecking="false" />+ <itemData name="Raw String Literal Prefix" defStyleNum="dsString" spellChecking="false" /> <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" /> <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false" /> <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false" />@@ -908,8 +913,8 @@ <itemData name="Boost Stuff" defStyleNum="dsExtension" spellChecking="false" /> <itemData name="Internals" defStyleNum="dsNormal" spellChecking="false" color="#808080" selColor="#808080" /> <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />- <itemData name="UDL Numeric Suffix" defStyleNum="dsDecVal" spellChecking="false" />- <itemData name="UDL String Suffix" defStyleNum="dsString" spellChecking="false" />+ <itemData name="UDL Numeric Suffix" defStyleNum="dsOperator" spellChecking="false" />+ <itemData name="UDL String Suffix" defStyleNum="dsOperator" spellChecking="false" /> <itemData name="Standard Suffix" defStyleNum="dsBuiltIn" spellChecking="false" /> <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> </itemDatas>
xml/java.xml view
@@ -7,7 +7,7 @@ <!ENTITY float "(\b∫(\.((∫&exp;?+|&exp;)[fFdD]?\b|[fFdD]\b)?|&exp;[fFdD]?\b|[fFdD]\b)|\.∫&exp;?[fFdD]?\b)"> <!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?∫[fFdD]?\b"> ]>-<language name="Java" version="12" kateversion="5.62" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">+<language name="Java" version="13" kateversion="5.79" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)"> <highlighting> <list name="java15"> <item>ACTIVE</item>
xml/javadoc.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language>-<language name="Javadoc" version="6" kateversion="5.62" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">+<language name="Javadoc" version="7" kateversion="5.79" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)"> <highlighting> <contexts> <context name="Start" attribute="Normal Text" lineEndContext="#stay">
xml/json.xml view
@@ -13,7 +13,7 @@ ** https://www.json.org/json-en.html *************************************************************************** -->-<language name="JSON" section="Markup" version="7" kateversion="2.4" extensions="*.json;.kateproject;.arcconfig;*.geojson;*.gltf;*.theme" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">+<language name="JSON" section="Markup" version="8" kateversion="2.4" extensions="*.json;.kateproject;.arcconfig;*.geojson;*.gltf;*.theme" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL"> <highlighting> <list name="Constants"> <item>null</item>@@ -40,9 +40,14 @@ <context name="String_Key" lineEndContext="#stay" attribute="Style_String_Key"> <DetectChar char=""" context="#pop" attribute="Style_String_Key" />- <RegExpr String="\\(?:["\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" attribute="Style_String_Key_Char" />+ <DetectChar char="\" context="String_Key_Char" lookAhead="1"/> </context> + <context name="String_Key_Char" lineEndContext="#stay" attribute="Style_Normal">+ <RegExpr String="\\(?:["\\/bfnrt]|u[0-9a-fA-f]{4})" context="#pop" attribute="Style_String_Key_Char" />+ <RegExpr String="\\(u[0-9a-fA-f]+|.)?" context="#pop" attribute="Style_Error" />+ </context>+ <context name="Value" lineEndContext="#stay" attribute="Style_Error" > <AnyChar String="}," context="#pop" lookAhead="true" /> <IncludeRules context="JsonValue"/>@@ -57,13 +62,18 @@ <keyword String="Constants" context="#stay" attribute="Style_Keyword" /> - <RegExpr String="-?[0-9]+\.[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" attribute="Style_Float" />- <RegExpr String="-?[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" attribute="Style_Decimal" />+ <RegExpr String="-?\b([1-9][0-9]*\.[0-9]+(?:[eE][+-]?[0-9]+)?)" context="#stay" attribute="Style_Float" />+ <RegExpr String="-?\b(0\b|[1-9][0-9]*(?:[eE][+-]?[0-9]+)?)" context="#stay" attribute="Style_Decimal" /> </context> <context name="String_Value" lineEndContext="#stay" attribute="Style_String_Value"> <DetectChar char=""" context="#pop" attribute="Style_String_Value" />- <RegExpr String="\\(?:["\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" attribute="Style_String_Value_Char" />+ <DetectChar char="\" context="String_Key_Value" lookAhead="1" />+ </context>++ <context name="String_Key_Value" lineEndContext="#stay" attribute="Style_Normal">+ <RegExpr String="\\(?:["\\/bfnrt]|u[0-9a-fA-f]{4})" context="#pop" attribute="Style_String_Value_Char" />+ <RegExpr String="\\(u[0-9a-fA-f]+|.)?" context="#pop" attribute="Style_Error" /> </context> <context name="Array" lineEndContext="#stay" attribute="Style_Error">
xml/jsp.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language>-<language version="9" kateversion="5.62" name="JSP" section="Markup" extensions="*.jsp;*.JSP" mimetype="text/html" casesensitive="false" author="Rob Martin (rob@gamepimp.com)" license="LGPL">+<language version="11" kateversion="5.79" name="JSP" section="Markup" extensions="*.jsp;*.JSP" mimetype="text/html" casesensitive="false" author="Rob Martin (rob@gamepimp.com)" license="LGPL"> <highlighting> <list name="jsp-reserved-words">@@ -27,15 +27,13 @@ <RegExpr String="<%@\s*[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Standard Directive"/> <RegExpr String="<\s*jsp:(declaration|expression|scriptlet)\s*>" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/> <RegExpr String="<\s*\/?s*jsp:[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Xml Directive"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>+ <IncludeRules context="FindJspScriptlet"/> <StringDetect String="<!--" attribute="Html Comment" context="Html Comment" beginRegion="HtmlComment"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?[a-zA-Z0-9_]*:\$?[a-zA-Z0-9_]*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspCustomTag"/> <StringDetect String="<![CDATA[" attribute="Normal Text" context="#stay"/> <StringDetect String="]]>" attribute="Normal Text" context="#stay"/>- <RegExpr String="<script\b" attribute="Normal Text" context="JS" beginRegion="script" />- <RegExpr String="<style\b" attribute="Normal Text" context="CSS" beginRegion="style" />+ <WordDetect String="<script" attribute="Normal Text" context="JS" beginRegion="script" />+ <WordDetect String="<style" attribute="Normal Text" context="CSS" beginRegion="style" /> <RegExpr String="<\s*\/?\s*[a-zA-Z0-9_]*" attribute="Normal Text" context="Html Attribute"/> </context> @@ -57,7 +55,7 @@ </context> <context name="JS content" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Normal Text" context="#pop#pop!Html Attribute" String="</script\b" endRegion="script" />+ <WordDetect attribute="Normal Text" context="#pop#pop!Html Attribute" String="</script" endRegion="script" /> <RegExpr attribute="Jsp Comment" context="JS comment close" String="//(?=.*</script)" /> <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> </context>@@ -71,18 +69,14 @@ <context name="Jsp Standard Directive" attribute="Jsp Param Name" lineEndContext="#stay"> <Detect2Chars char="%" char1=">" attribute="Jsp Directive" context="#pop"/> <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Standard Directive Value"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspScriptlet"/>+ <IncludeRules context="FindJspCustomTag"/> </context> <context name="Jsp Xml Directive" attribute="Jsp Param Name" lineEndContext="#stay"> <RegExpr String="\s*\/?\s*>" attribute="Jsp Directive" context="#pop"/> <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Xml Directive Value"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Comment" attribute="Jsp Comment" lineEndContext="#stay">@@ -94,33 +88,25 @@ <context name="Jsp Custom Tag" attribute="Identifier" lineEndContext="#stay"> <RegExpr String="\/?>" attribute="Keyword" context="#pop"/> <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Custom Tag Value"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Standard Directive Value" attribute="Jsp Param Value" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> <DetectChar char=""" attribute="Jsp Param Value" context="Jsp Double Quoted Param Value"/> <DetectChar char="'" attribute="Jsp Param Value" context="Jsp Single Quoted Param Value"/> <Detect2Chars char="%" char1=">" attribute="Jsp Directive" context="#pop#pop"/> </context> <context name="Jsp Xml Directive Value" attribute="Jsp Param Value" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> <DetectChar char=""" attribute="Jsp Param Value" context="Jsp Double Quoted Param Value"/> <DetectChar char="'" attribute="Jsp Param Value" context="Jsp Single Quoted Param Value"/> <RegExpr String="\s*\/?\s*>" attribute="Jsp Directive" context="#pop#pop"/> </context> <context name="Jsp Custom Tag Value" attribute="Normal Text" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> <DetectChar char=""" attribute="Types" context="Jsp Double Quoted Custom Tag Value"/> <DetectChar char="'" attribute="Types" context="Jsp Single Quoted Custom Tag Value"/> <RegExpr String="\/?>" attribute="Normal Text" context="#pop#pop"/>@@ -128,30 +114,22 @@ <context name="Jsp Double Quoted Param Value" attribute="Jsp Param Value" lineEndContext="#stay"> <DetectChar char=""" attribute="Jsp Param Value" context="#pop#pop"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Single Quoted Param Value" attribute="Jsp Param Value" lineEndContext="#stay"> <DetectChar char="'" attribute="Jsp Param Value" context="#pop#pop"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Double Quoted Custom Tag Value" attribute="Types" lineEndContext="#stay"> <DetectChar char=""" attribute="Types" context="#pop#pop"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Single Quoted Custom Tag Value" attribute="Types" lineEndContext="#stay"> <DetectChar char="'" attribute="Types" context="#pop#pop"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Jsp Scriptlet" attribute="Normal Text" lineEndContext="#stay">@@ -170,16 +148,12 @@ <context name="Html Attribute" attribute="Identifier" lineEndContext="#stay"> <RegExpr String="\/?>" attribute="Normal Text" context="#pop"/> <RegExpr String="\s*=\s*" attribute="Normal Text" context="Html Value"/>- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> </context> <context name="Html Value" attribute="Types" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspScriptlet"/>+ <IncludeRules context="FindJspCustomTag"/> <RegExpr String="("|&quot;|&#34;)" attribute="Types" context="Html Double Quoted Value"/> <RegExpr String="('|&#39;)" attribute="Types" context="Html Single Quoted Value"/> <RegExpr String="\s*#?-?_?\.?[a-zA-Z0-9]*" attribute="Types" context="Html Unquoted Value"/>@@ -187,36 +161,38 @@ </context> <context name="Html Double Quoted Value" attribute="Types" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspScriptlet"/>+ <IncludeRules context="FindJspCustomTag"/> <RegExpr String="("|&quot;|&#34;)" attribute="Types" context="#pop#pop"/> </context> <context name="Html Single Quoted Value" attribute="Types" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspScriptlet"/>+ <IncludeRules context="FindJspCustomTag"/> <RegExpr String="('|&#39;)" attribute="Types" context="#pop#pop"/> </context> <context name="Html Unquoted Value" attribute="Types" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>- <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+ <IncludeRules context="FindJspScriptlet"/>+ <IncludeRules context="FindJspCustomTag"/> <RegExpr String="\/?>" attribute="Normal Text" context="#pop#pop#pop"/> <DetectSpaces attribute="Types" context="#pop#pop"/> </context> <context name="Html Comment" attribute="Html Comment" lineEndContext="#stay">- <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>- <RegExpr String="<%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>- <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <IncludeRules context="FindJspScriptlet"/> <RegExpr String="\/*-->" attribute="Html Comment" context="#pop" endRegion="HtmlComment"/> <IncludeRules context="##Comments" />+ </context>++ <context name="FindJspScriptlet" attribute="Normal Text" lineEndContext="#stay">+ <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+ <StringDetect String="<%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>+ <RegExpr String="<%[!=]?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>+ </context>++ <context name="FindJspCustomTag" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr String="<\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/> </context> </contexts>
xml/julia.xml view
@@ -27,16 +27,16 @@ Author: Timothy E. Holy, Washington University in St. Louis --> -<!DOCTYPE language SYSTEM "language.dtd"+<!DOCTYPE language [- <!ENTITY int "[0-9]([0-9_]*[0-9])?">- <!ENTITY hex "[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?">+ <!ENTITY int "[0-9]+(_[0-9]+)*">+ <!ENTITY hex "[0-9a-fA-F]+(_[0-9a-fA-F]+)*"> <!ENTITY function_disallowed_chars "\s.,(){}\[\];:%'"&$=/?\|^#@"> <!ENTITY function_disallowed_first_char "0-9!&function_disallowed_chars;"> <!ENTITY function_begin_boundary "(?:(?<=[&function_disallowed_chars;!]|^)(?=[^&function_disallowed_first_char;]))"> ]> -<language name="Julia" style="julia" indenter="julia" section="Sources" version="13" kateversion="5.0" extensions="*.jl" casesensitive="1" priority="5" license="MIT">+<language name="Julia" style="julia" indenter="julia" section="Sources" version="14" kateversion="5.62" extensions="*.jl" casesensitive="1" priority="5" license="MIT"> <highlighting> <list name="cflow_begin">@@ -493,14 +493,15 @@ <keyword context="controlflow-block" attribute="Control Flow" String="cflow_begin" beginRegion="block" /> <keyword context="#stay" attribute="Control Flow" String="cflow"/>- <keyword context="#stay" attribute="Keyword" String="block_end"- endRegion="block" />+ <WordDetect context="#stay" attribute="Keyword" String="end"+ endRegion="block" /> <IncludeRules context="coderoot"/> </context> <context name="subsetting" attribute="Normal Text" lineEndContext="#stay">- <keyword context="#stay" attribute="Keyword" String="block_end"/>+ <DetectSpaces attribute="Normal Text"/>+ <WordDetect context="#stay" attribute="Keyword" String="end"/> <IncludeRules context="coderoot"/> <DetectChar attribute="Normal Text" context="#pop" char="]"/> </context>@@ -543,718 +544,32 @@ <StringDetect attribute="Command String" context="Block-Backtick-String" String="```" beginRegion="block-string"/> <DetectChar attribute="Command String" context="Backtick-String" char="`"/> - <!-- Multi-character operators- this was generated semi-automatically using operators in https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm -->- <StringDetect context="#stay" attribute="Operator" String="..."/>+ <!-- Subsetting. This is needed because the `end` keyword has a special meaning in subsetting operations and should not be used for folding -->+ <DetectChar attribute="Normal Text" context="subsetting" char="["/>+ <Detect2Chars context="type-annotation" attribute="Operator" char=":" char1=":"/>- <StringDetect context="#stay" attribute="Operator" String=".>>>=" />- <StringDetect context="#stay" attribute="Operator" String=">>>=" />- <StringDetect context="#stay" attribute="Operator" String=".<-->" />- <StringDetect context="#stay" attribute="Operator" String="<-->" />- <StringDetect context="#stay" attribute="Operator" String=".//=" />- <StringDetect context="#stay" attribute="Operator" String="//=" />- <StringDetect context="#stay" attribute="Operator" String=".<<=" />- <StringDetect context="#stay" attribute="Operator" String="<<=" />- <StringDetect context="#stay" attribute="Operator" String=".>>=" />- <StringDetect context="#stay" attribute="Operator" String=">>=" />- <StringDetect context="#stay" attribute="Operator" String=".-->" />- <StringDetect context="#stay" attribute="Operator" String="-->" />- <StringDetect context="#stay" attribute="Operator" String=".<--" />- <StringDetect context="#stay" attribute="Operator" String="<--" />- <StringDetect context="#stay" attribute="Operator" String=".===" />- <StringDetect context="#stay" attribute="Operator" String="===" />- <StringDetect context="#stay" attribute="Operator" String=".!==" />- <StringDetect context="#stay" attribute="Operator" String="!==" />- <StringDetect context="#stay" attribute="Operator" String=".>>>" />- <StringDetect context="#stay" attribute="Operator" String=">>>" />- <StringDetect context="#stay" attribute="Operator" String=".+=" />- <Detect2Chars context="#stay" attribute="Operator" char="+" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".-=" />- <Detect2Chars context="#stay" attribute="Operator" char="-" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".−=" />- <Detect2Chars context="#stay" attribute="Operator" char="−" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".*=" />- <Detect2Chars context="#stay" attribute="Operator" char="*" char1="="/>- <StringDetect context="#stay" attribute="Operator" String="./=" />- <Detect2Chars context="#stay" attribute="Operator" char="/" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".\=" />- <Detect2Chars context="#stay" attribute="Operator" char="\" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".^=" />- <Detect2Chars context="#stay" attribute="Operator" char="^" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".÷=" />- <Detect2Chars context="#stay" attribute="Operator" char="÷" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".%=" />- <Detect2Chars context="#stay" attribute="Operator" char="%" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".|=" />- <Detect2Chars context="#stay" attribute="Operator" char="|" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".&=" />- <Detect2Chars context="#stay" attribute="Operator" char="&" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".⊻=" />- <Detect2Chars context="#stay" attribute="Operator" char="⊻" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".:=" />- <Detect2Chars context="#stay" attribute="Operator" char=":" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".$=" />- <Detect2Chars context="#stay" attribute="Operator" char="$" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".=>" />- <Detect2Chars context="#stay" attribute="Operator" char="=" char1=">"/>- <StringDetect context="#stay" attribute="Operator" String=".&&" />- <Detect2Chars context="#stay" attribute="Operator" char="&" char1="&"/>- <StringDetect context="#stay" attribute="Operator" String=".||" />- <Detect2Chars context="#stay" attribute="Operator" char="|" char1="|"/>- <StringDetect context="#stay" attribute="Operator" String=".>=" />- <Detect2Chars context="#stay" attribute="Operator" char=">" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".<=" />- <Detect2Chars context="#stay" attribute="Operator" char="<" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".==" />- <Detect2Chars context="#stay" attribute="Operator" char="=" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".!=" />- <Detect2Chars context="#stay" attribute="Operator" char="!" char1="="/>- <StringDetect context="#stay" attribute="Operator" String=".<|" />- <Detect2Chars context="#stay" attribute="Operator" char="<" char1="|"/>- <StringDetect context="#stay" attribute="Operator" String=".|>" />- <Detect2Chars context="#stay" attribute="Operator" char="|" char1=">"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="."/>- <StringDetect context="#stay" attribute="Operator" String=".++" />- <Detect2Chars context="#stay" attribute="Operator" char="+" char1="+"/>- <StringDetect context="#stay" attribute="Operator" String=".//" />- <Detect2Chars context="#stay" attribute="Operator" char="/" char1="/"/>- <StringDetect context="#stay" attribute="Operator" String=".<<" />- <Detect2Chars context="#stay" attribute="Operator" char="<" char1="<"/>- <StringDetect context="#stay" attribute="Operator" String=".>>" />- <Detect2Chars context="#stay" attribute="Operator" char=">" char1=">"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="="/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="~"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1=">"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="<"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≯"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩯"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪯"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="…"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⁝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋯"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="$"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="+"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="-"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="−"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="¦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="|"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="±"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨦"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨨"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨪"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨫"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨬"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨭"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨹"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨺"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩁"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩂"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩐"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩢"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="*"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="/"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⌿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="÷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="%"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="&"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋅"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="×"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="\"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∩"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∧"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="∤"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⅋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="≀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋆"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦾"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦿"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨇"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨲"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨳"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨴"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨶"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨸"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨻"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨼"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨽"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩀"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩃"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩄"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩎"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩚"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩞"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫛"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="▷"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟖"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟗"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨟"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="^"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇵"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟰"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟱"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤈"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤊"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤋"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤒"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤓"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥉"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥌"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥍"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥏"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥔"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥕"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥘"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥙"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥜"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥝"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥠"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥡"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥣"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥥"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥮"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥯"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↑"/>- <Detect2Chars context="#stay" attribute="Operator" char="." char1="↓"/> <!-- subtype operator --> <Detect2Chars context="type-annotation" attribute="Operator" char="<" char1=":"/> - <!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->- <RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />- <RegExpr context="_adjoint" attribute="Float" String="(∫(\.∫)?|\.∫)([eEfF][+-]?\d+)?(im)?(?=')" />- <!-- <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" /> -->+ <!-- Character operators+ this was generated semi-automatically using operators in https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm -->+ <RegExpr context="#stay" attribute="Operator" String="\.\.\.?|[:$]=?|\.?(?:>>>=|<-->|//=|<<=|>>=|-->|<--|===|!==|>>>|[-+*/\\^÷%|&⊻]=|=>|&&|\|\|?|>=|<=|==|!=|<\||\|>|\+\+|//|<<|>>|<:|>:|[\Q=≔⩴≕~←→↔↚↛↞↠↢↣↦↤↮⇎⇍⇏⇐⇒⇔⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦⥧⥨⥩⥪⥫⥬⥭⥰⧴⬱⬰⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←→⇜⇝↜↝↩↪↫↬↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇚⇛⇠⇢↷↶↺↻><≥≤≡≠≢∈∉∋∌⊆⊈⊂⊄⊊∝∊∍∥∦∷∺∻∽∾≁≃≂≄≅≆≇≈≉≊≋≌≍≎≐≑≒≓≖≗≘≙≚≛≜≝≞≟≣≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊃⊅⊇⊉⊋⊏⊐⊑⊒⊜⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⋍⋐⋑⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫷⫸⫹⫺⊢⊣⟂⫪⫫…⁝⋮⋱⋰⋯+-−¦|⊕⊖⊞⊟∪∨⊔±∓∔∸≏⊎⊻⊽⋎⋓⧺⧻⨈⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣*/⌿÷%&··⋅∘×\∩∧⊗⊘⊙⊚⊛⊠⊡⊓∗∙∤⅋≀⊼⋄⋆⋇⋉⋊⋋⋌⋏⋒⟑⦸⦼⦾⦿⧶⧷⨇⨰⨱⨲⨳⨴⨵⨶⨷⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛⊍▷⨝⟕⟖⟗⨟^↑↓⇵⟰⟱⤈⤉⤊⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯↑↓\E])" /> + <!-- Identifiers, numbers -->+ <!-- We can't use HlCHex, Int, and Float because we need to allow the "im" at the end of complex numbers -->+ <DetectIdentifier context="_adjoint" attribute="Variable" />+ <RegExpr context="_adjoint" attribute="Float" String="0x(&hex;\.?|(&hex;)?\.&hex;)[pP][+-]?[0-9]+(im)?"/>+ <RegExpr context="_adjoint" attribute="Hex" String="0x&hex;(im)?" />+ <RegExpr context="_adjoint" attribute="Octal" String="0o[0-7]+(_[0-7]+)*(im)?" />+ <RegExpr context="_adjoint" attribute="Binary" String="0b[01]+(_[01]+)*(im)?" />+ <RegExpr context="_adjoint" attribute="Float" String="(∫(\.∫)?|\.∫)([eEfF][+-]?\d+)?(im)?" />+ <!-- If ' is not the adjoint operator, it starts a character or an unterminated char --> <RegExpr context="#stay" attribute="Char" String="'[^']*(''[^']*)*'(?=[^']|$)" /> <RegExpr context="#stay" attribute="Incomplete Char" String="'[^']*(''[^']*)*" /> <RegExpr context="#stay" attribute="Macro" String="@[a-zA-Z_]\w*" />-- <!-- Identifiers, numbers and braces -->- <!-- We can't use HlCHex, Int, and Float because we need to allow the "im" at the end of complex numbers -->- <DetectIdentifier context="#stay" attribute="Variable" />- <RegExpr context="#stay" attribute="Float" String="0x(&hex;\.?|(&hex;)?\.&hex;)[pP][+-]?\d+(im)?"/>- <RegExpr context="#stay" attribute="Hex" String="0x&hex;(im)?" />- <RegExpr context="#stay" attribute="Octal" String="0o[0-7]([0-7_]*[0-7])?(im)?" />- <RegExpr context="#stay" attribute="Binary" String="0b[01]([01_]*[01])?(im)?" />- <RegExpr context="#stay" attribute="Float" String="(∫(\.∫)?|\.∫)([eEfF][+-]?\d+)?(im)?" />-- <!-- Single-character operators- this was generated semi-automatically using operators in https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm -->- <AnyChar context="#stay" attribute="Operator" String="=≔⩴≕~←→↔↚↛↞↠↢↣↦↤↮⇎⇍⇏⇐⇒⇔⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦⥧⥨⥩⥪⥫⥬⥭⥰⧴⬱⬰⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←→⇜⇝↜↝↩↪↫↬↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇚⇛⇠⇢↷↶↺↻><≥≤≡≠≢∈∉∋∌⊆⊈⊂⊄⊊∝∊∍∥∦∷∺∻∽∾≁≃≂≄≅≆≇≈≉≊≋≌≍≎≐≑≒≓≖≗≘≙≚≛≜≝≞≟≣≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊃⊅⊇⊉⊋⊏⊐⊑⊒⊜⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⋍⋐⋑⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫷⫸⫹⫺⊢⊣⟂⫪⫫…⁝⋮⋱⋰⋯:$+-−¦|⊕⊖⊞⊟∪∨⊔±∓∔∸≏⊎⊻⊽⋎⋓⧺⧻⨈⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣*/⌿÷%&··⋅∘×\∩∧⊗⊘⊙⊚⊛⊠⊡⊓∗∙∤⅋≀⊼⋄⋆⋇⋉⋊⋋⋌⋏⋒⟑⦸⦼⦾⦿⧶⧷⨇⨰⨱⨲⨳⨴⨵⨶⨷⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛⊍▷⨝⟕⟖⟗⨟^↑↓⇵⟰⟱⤈⤉⤊⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯↑↓"/>-- <!-- Subsetting. This is needed because the `end` keyword has a special meaning in subsetting operations and should not be used for folding -->- <DetectChar attribute="Normal Text" context="subsetting" char="["/> </context> <!-- Context for user block (#BEGIN...#END) -->@@ -1262,9 +577,9 @@ <IncludeRules context="1-comment" /> </context> - <!-- Context entered after encountering an ' adjoint operator -->- <context name="_adjoint" attribute="Operator" lineEndContext="#pop">- <RegExpr context="#pop" attribute="Operator" String="'+" />+ <!-- Context entered after encountering an identifier or a number -->+ <context name="_adjoint" attribute="Operator" lineEndContext="#pop" fallthroughContext="#pop">+ <DetectChar attribute="Operator" char="'" /> </context> <!-- Context entered after encountering an " (string) -->@@ -1361,16 +676,18 @@ <!-- 1-line comment: #pop@EOL --> <context name="1-comment" lineEndContext="#pop" attribute="Comment">- <DetectSpaces />+ <DetectSpaces/>+ <IncludeRules context="##Comments"/>+ <DetectIdentifier/> </context> <context name="block-comment" lineEndContext="#stay" attribute="Comment">- <DetectSpaces /> <Detect2Chars char="=" char1="#" context="#pop" attribute="Comment" endRegion="block-comment"/>+ <IncludeRules context="1-comment" /> </context> <context name="controlflow-block" lineEndContext="#stay" attribute="Normal Text"> <keyword context="#stay" attribute="Control Flow" String="cflow_eb" endRegion="block" beginRegion="block" />- <keyword context="#pop" attribute="Control Flow" String="block_end" endRegion="block" />+ <WordDetect context="#pop" attribute="Control Flow" String="end" endRegion="block" /> <IncludeRules context="_normal" /> </context> <context name="parametric-type" lineEndContext="#stay" attribute="Data Type">@@ -1401,13 +718,19 @@ </context> <!-- context for imports -->- <context name="import" lineEndContext="#stay" lineEmptyContext="#stay" attribute="Normal Text">+ <context name="import" lineEndContext="#stay" lineEmptyContext="#stay" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/> <IncludeRules context="comment-rules"/>- <RegExpr attribute="Module" context="#stay" String="[^:,\s]+\s*(?=,)"/>- <RegExpr attribute="Module" context="import_vars" String="[^:,\s]+\s*(?=:)"/>- <RegExpr attribute="Module" context="#pop" String="[^:,\s]+\s*(?![,:])"/>+ <RegExpr attribute="Module" context="import_list" String="[^:,\s]+"/> </context>+ <context name="import_list" lineEndContext="#pop#pop" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/>+ <IncludeRules context="comment-rules"/>+ <DetectChar attribute="Normal Text" context="#pop" char=","/>+ <DetectChar attribute="Normal Text" context="#pop!import_vars" char=":"/>+ </context> <context name="import_vars" lineEndContext="#stay" lineEmptyContext="#stay" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/> <IncludeRules context="comment-rules"/> <!-- we don't know if these are types, variables, or functions, so no highlighting here -->
xml/latex.xml view
@@ -4,7 +4,7 @@ <!ENTITY bullet "×"> <!ENTITY envname "[a-zA-Z]+\*?"> ]>-<language name="LaTeX" version="22" section="Markup" kateversion="5.79" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;*.tikz;*.pgf" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" >+<language name="LaTeX" version="23" section="Markup" kateversion="5.79" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;*.tikz;*.pgf" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" > <highlighting> <!-- NOTE: Keywords of kind "\something" do not need a delimiter before "\". Using a DetectChar rule with lookAhead to detect "\" at the beginning@@ -850,6 +850,13 @@ <item>longtable</item> </list> + <list name="TabuEnv">+ <item>tabu*</item>+ <item>tabu</item>+ <item>longtabu*</item>+ <item>longtabu</item>+ </list>+ <list name="MathModeText"> <item>\text</item> <item>\textit</item>@@ -887,8 +894,8 @@ </context> <context name="LatexMacro" attribute="Normal Text" lineEndContext="#pop">- <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>- <keyword String="endEnv" attribute="Structure" context="#pop!FindEndEnvironment"/>+ <WordDetect String="\begin" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block" additionalDeliminator="\"/>+ <WordDetect String="\end" attribute="Structure" context="#pop!FindEndEnvironment" additionalDeliminator="\"/> <keyword String="Label" attribute="Structure" context="#pop!Label"/> <keyword String="macroFancyLabel" attribute="Builtin Macro" context="#pop!FancyLabel"/> <keyword String="FancyLabel" attribute="Structure" context="#pop!FancyLabel"/>@@ -913,8 +920,7 @@ <context name="Sectioning" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop"> <DetectSpaces/> <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>- <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>- <DetectChar char="}" attribute="Normal Text" context="#pop"/>+ <DetectChar char="{" attribute="Normal Text" context="#pop!SectioningInside"/> <IncludeRules context="FindComments"/> </context> <context name="SectioningInside" attribute="Sectioning Text" lineEndContext="#stay">@@ -1129,6 +1135,7 @@ <keyword String="MathEnvParam" attribute="Environment" context="MathEnvWithParam"/> <keyword String="MathEnv" attribute="Environment" context="MathEnv"/> <keyword String="TabEnv" attribute="Environment" context="TabEnv"/>+ <keyword String="TabuEnv" attribute="Environment" context="TabuEnv"/> <DetectChar char="•" attribute="Bullet" context="#stay"/> <RegExpr String="(\w+)code\b" attribute="Environment" context="MintedCodeEnv" lookAhead="true"/> <RegExpr String="&envname;" attribute="Environment" context="LatexEnv"/>@@ -2229,7 +2236,7 @@ <DetectSpaces/> <RegExpr String=".+" attribute="Error" context="#stay"/> </context>- <context name="HighlightingBash" attribute="Normal Text" lineEndContext="#stay">+ <context name="HighlightingBash" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="Command##Bash"> <IncludeRules context="HighlightingCommon"/> <IncludeRules context="##Bash" includeAttrib="true"/> </context>@@ -5245,7 +5252,7 @@ <DetectSpaces/> <RegExpr String=".+" attribute="Error" context="#stay"/> </context>- <context name="HighlightingSCSS" attribute="Normal Text" lineEndContext="#stay">+ <context name="HighlightingSCSS" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="Selector##SCSS"> <IncludeRules context="HighlightingCommon"/> <IncludeRules context="##SCSS" includeAttrib="true"/> </context>@@ -6094,8 +6101,8 @@ <DetectChar char="•" attribute="Bullet" context="#stay"/> </context> <context name="BackslashMathModeEnv" attribute="Math" lineEndContext="#pop">- <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>- <keyword String="endEnv" attribute="Structure" context="#pop!MathFindEnd"/>+ <WordDetect String="\begin" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block" additionalDeliminator="\"/>+ <WordDetect String="\end" attribute="Structure" context="#pop!MathFindEnd" additionalDeliminator="\"/> <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText"/> <Detect2Chars char="\" char1="(" attribute="Error" context="#pop"/> <Detect2Chars char="\" char1=")" attribute="Error" context="#pop"/>@@ -6147,8 +6154,33 @@ <DetectChar char="{" attribute="Normal Text" context="#stay"/> <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/> <keyword String="TabEnv" attribute="Environment" context="#stay"/>+ <keyword String="TabuEnv" attribute="Environment" context="#stay"/> </context> + <!-- environment type 10: tabu -->+ <context name="TabuEnv" attribute="Environment" lineEndContext="#stay" fallthroughContext="#pop#pop#pop">+ <DetectChar char="}" attribute="Normal Text" context="Tabu"/>+ <RegExpr String="[^}]*" attribute="Error" context="#stay"/>+ </context>++ <!-- parse tabu options+ \begin {tabu} [pos] {tabular preamble}+ \begin {tabu} to <dimen> [pos] {tabular preamble}+ \begin {tabu} spread <dimen> [pos] {tabular preamble}+ -->+ <context name="Tabu" attribute="Normal Text" lineEndContext="#pop!Tab">+ <DetectChar char="{" attribute="Normal Text" context="TabuPreambule"/>+ <DetectChar char="\" context="#pop!Tab" lookAhead="1"/>+ </context>+ <context name="TabuPreambule" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar char="}" attribute="Normal Text" context="#pop#pop!Tab"/>+ <DetectChar char="{" attribute="Normal Text" context="TabuPreambuleInside"/>+ </context>+ <context name="TabuPreambuleInside" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar char="}" attribute="Normal Text" context="#pop"/>+ <DetectChar char="{" attribute="Normal Text" context="TabuPreambuleInside"/>+ </context>+ <!-- math mode: starting with $ --> <context name="MathModeTex" attribute="Math" lineEndContext="#stay" fallthroughContext="#pop!MathMode"> <DetectChar char="$" attribute="Math" context="#pop!MathModeDisplay" beginRegion="mathMode"/>@@ -6198,8 +6230,8 @@ <DetectChar char="•" attribute="Bullet" context="#stay"/> </context> <context name="BackslashMathModeCommon" attribute="Math" lineEndContext="#pop">- <keyword String="beginEnv" attribute="Structure" context="#pop!MathEnvironment" beginRegion="block"/>- <keyword String="endEnv" attribute="Structure" context="#pop!MathEnvironmentEnd"/>+ <WordDetect String="\begin" attribute="Structure" context="#pop!MathEnvironment" beginRegion="block" additionalDeliminator="\"/>+ <WordDetect String="\end" attribute="Structure" context="#pop!MathEnvironmentEnd" additionalDeliminator="\"/> <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText" /> <DetectChar char="\" attribute="Macro Mathmode" context="#pop!MathContrSeq"/> </context>@@ -6210,6 +6242,7 @@ </context> <context name="MathEnvironmentInside" attribute="Environment" lineEndContext="#stay"> <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>+ <keyword String="TabuEnv" attribute="Environment" context="MathTabuEnv"/> <RegExpr String="&envname;" attribute="Environment" context="#stay"/> <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#stay"/> </context>@@ -6223,6 +6256,25 @@ <WordDetect String="ensuremath" attribute="Environment" context="#pop!LatexEnvEnd"/> <RegExpr String="&envname;" attribute="Environment" context="#stay"/> <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#pop#pop"/>+ </context>++ <!-- tabu in mathmode+ \begin {tabu} [pos] {tabular preamble}+ \begin {tabu} to <dimen> [pos] {tabular preamble}+ \begin {tabu} spread <dimen> [pos] {tabular preamble}+ -->+ <context name="MathTabuEnv" attribute="Environment" lineEndContext="#stay">+ <DetectChar char="}" attribute="Normal Text" context="MathTabu"/>+ <RegExpr String="[^}]*" attribute="Error" context="#stay"/>+ </context>+ <context name="MathTabu" attribute="Math" lineEndContext="#pop#pop#pop#pop">+ <DetectChar char="{" attribute="Normal Text" context="#pop#pop#pop#pop!MathTabuPreambule"/>+ <DetectChar char="\" context="#pop#pop#pop#pop" lookAhead="1"/>+ <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop"/>+ </context>+ <context name="MathTabuPreambule" attribute="Math" lineEndContext="#stay">+ <DetectChar char="}" attribute="Normal Text" context="#pop"/>+ <DetectChar char="{" attribute="Normal Text" context="MathTabuPreambule"/> </context> <!-- command in mathmode -->
xml/makefile.xml view
@@ -15,7 +15,7 @@ <!-- v10 by Peter J. Mello <admin@petermello.net> Add recognition of POSIX 2013 '::=' operator for variable assignment --> <language name="Makefile" section="Other"- version="16" kateversion="5.79"+ version="17" kateversion="5.79" extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk" mimetype="text/x-makefile" priority="11" author="Per Wigren (wigren@home.se)" license="">@@ -548,14 +548,27 @@ <context name="callFunc(" attribute="FuncParam" lineEndContext="#stay"> <DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>- <DetectChar attribute="Operator" context="dollar" char="$"/>- <DetectChar attribute="Keyword" context="#stay" char=","/>- <DetectChar attribute="String" context="string"" char="""/>- <DetectChar attribute="String" context="string'" char="'"/>+ <DetectChar attribute="FuncParam" char="(" context="callFuncSub("/>+ <IncludeRules context="callFuncCommon"/> </context>+ <context name="callFuncSub(" attribute="FuncParam" lineEndContext="#stay">+ <DetectChar attribute="FuncParam" char=")" context="#pop"/>+ <DetectChar attribute="FuncParam" char="(" context="callFuncSub("/>+ <IncludeRules context="callFuncCommon"/>+ </context> <context name="callFunc{" attribute="FuncParam" lineEndContext="#stay"> <DetectChar attribute="Operator" char="}" context="#pop#pop#pop"/>+ <DetectChar attribute="FuncParam" char="{" context="callFuncSub{"/>+ <IncludeRules context="callFuncCommon"/>+ </context>+ <context name="callFuncSub{" attribute="FuncParam" lineEndContext="#stay">+ <DetectChar attribute="FuncParam" char="}" context="#pop"/>+ <DetectChar attribute="FuncParam" char="{" context="callFuncSub{"/>+ <IncludeRules context="callFuncCommon"/>+ </context>++ <context name="callFuncCommon" attribute="FuncParam" lineEndContext="#stay"> <DetectChar attribute="Operator" context="dollar" char="$"/> <DetectChar attribute="Keyword" context="#stay" char=","/> <DetectChar attribute="String" context="string"" char="""/>
xml/mustache.xml view
@@ -43,7 +43,7 @@ * v1 [2019-02-10]: Initial version --> -<language name="Mustache/Handlebars (HTML)" version="8" kateversion="5.53"+<language name="Mustache/Handlebars (HTML)" version="9" kateversion="5.79" section="Markup" priority="1" mimetype="" extensions="*.mustache;*.handlebars;*.hbs;*.ractive;*.hogan;*.hulk;*.html.mst;*.html.mu;*.html.rac" author="Nibaldo González (nibgonz@gmail.com), based on the HTML highlighter by Wilbert Berendsen (wilbert@kde.nl)"@@ -54,8 +54,8 @@ <contexts> <context name="Normal" attribute="Normal Text" lineEndContext="#stay">- <RegExpr context="CSS" attribute="Element Tag" String="<style\b" insensitive="true" beginRegion="style" />- <RegExpr context="JS" attribute="Element Tag" String="<script\b" insensitive="true" beginRegion="script" />+ <WordDetect context="CSS" attribute="Element Tag" String="<style" insensitive="true" beginRegion="style" />+ <WordDetect context="JS" attribute="Element Tag" String="<script" insensitive="true" beginRegion="script" /> <IncludeRules context="Base" /> </context> @@ -64,7 +64,7 @@ <IncludeRules context="MustacheVariables" /> <StringDetect context="CDATA" attribute="CDATA" String="<![CDATA[" beginRegion="cdata" />- <RegExpr context="Doctype" attribute="Doctype" String="<!DOCTYPE\s+" insensitive="true" beginRegion="doctype" />+ <WordDetect context="Doctype" attribute="Doctype" String="<!DOCTYPE" insensitive="true" beginRegion="doctype" /> <IncludeRules context="FindPI" /> <IncludeRules context="FindTags" />@@ -153,11 +153,11 @@ <LineContinue context="#stay" attribute="Escape" /> <HlCStringChar context="#stay" attribute="Escape" /> </context>- <context name="MustacheSymbolValue" attribute="Mustache Inside" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="MustacheSymbolValue" attribute="Mustache Inside" lineEndContext="#pop" fallthroughContext="#pop"> <DetectChar context="#pop!MustacheValue" attribute="Symbol" char="=" /> <DetectSpaces /> </context>- <context name="MustacheValue" attribute="Mustache Inside" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="MustacheValue" attribute="Mustache Inside" lineEndContext="#pop" fallthroughContext="#pop"> <DetectSpaces /> <RegExpr context="#pop" attribute="Number" String="\d+(?=[\s\}\)\]]|$)" /> </context>@@ -243,7 +243,7 @@ <DetectChar context="Value" attribute="Symbol" char="=" /> </context> - <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!ValueNQ">+ <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!ValueNQ"> <DetectChar context="#pop!ValueDQ" attribute="Value" char=""" /> <DetectChar context="#pop!ValueSQ" attribute="Value" char="'" /> <RegExpr context="#pop" attribute="Number" String="\d+(?=\s|/?>|$)" />@@ -259,7 +259,7 @@ <IncludeRules context="MustacheVariables" /> <IncludeRules context="FindEntityRefs" /> </context>- <context name="ValueNQ" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="ValueNQ" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> <IncludeRules context="MustacheVariables" /> <IncludeRules context="FindEntityRefs" /> <RegExpr context="#stay" attribute="Value" String="/(?!>)|[^/><"'\s]" />@@ -343,7 +343,7 @@ <RegExpr context="#stay" attribute="Error" String="\S" /> </context> <context name="CSSContent" attribute="Normal Text" lineEndContext="#stay">- <RegExpr context="#pop!ElementTagEnd" attribute="Element Tag" String="</style\b" insensitive="true" endRegion="style" />+ <WordDetect context="#pop!ElementTagEnd" attribute="Element Tag" String="</style" insensitive="true" endRegion="style" /> <IncludeRules context="MustacheVariables" /> <DetectChar context="CSS-RuleSet" attribute="Normal Text" char="{" beginRegion="ruleset" />@@ -352,11 +352,23 @@ </context> <!-- Overwrite some rules of 'css.xml' to add Mustache variables -->- <context name="CSS-RuleSet" attribute="Normal Text" lineEndContext="#stay">+ <context name="CSS-RuleSet" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="CSS-Rule">+ <IncludeRules context="MustacheVariables" />+ <DetectChar context="CSS-RuleSet" attribute="Normal Text" char="{" beginRegion="ruleset" /> <DetectChar context="#pop" attribute="Normal Text" char="}" endRegion="ruleset" />+ <AnyChar context="CSS-Selector" String=".#:,[*>+~|&" lookAhead="1" />+ </context>+ <context name="CSS-Selector" attribute="Normal Text" lineEndContext="#stay"> <IncludeRules context="MustacheVariables" />- <IncludeRules context="RuleSet##CSS" />+ <DetectChar context="#pop!CSS-RuleSet" attribute="Normal Text" char="{" beginRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset"/>+ <IncludeRules context="Selector##CSS" /> </context>+ <context name="CSS-Rule" attribute="Normal Text" lineEndContext="#stay">+ <IncludeRules context="MustacheVariables" />+ <AnyChar context="#pop!CSS-Selector" String=".#,[*>+~|&@{}" lookAhead="1"/>+ <IncludeRules context="Rule##CSS" />+ </context> <context name="CSS-SelectorAttr" attribute="CSS: Selector Attribute" lineEndContext="#stay"> <DetectChar context="#pop" attribute="CSS: Selector Attribute" char="]" /> <IncludeRules context="MustacheVariables" />@@ -374,14 +386,14 @@ </context> <context name="JSContent" attribute="Normal Text" lineEndContext="#stay">- <RegExpr context="#pop!ElementTagEnd" attribute="Element Tag" String="</script\b" insensitive="true" endRegion="script" />+ <WordDetect context="#pop!ElementTagEnd" attribute="Element Tag" String="</script" insensitive="true" endRegion="script" /> <RegExpr context="JSCommentClose" attribute="Comment" String="//(?=.*</script\b)" insensitive="true" /> <IncludeRules context="MustacheVariables" /> <IncludeRules context="OverwriteJavaScript" /> <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> </context> <context name="JSCommentClose" attribute="Comment" lineEndContext="#pop">- <RegExpr context="#pop#pop!ElementTagEnd" attribute="Element Tag" String="</script\b" insensitive="true" endRegion="script" />+ <WordDetect context="#pop#pop!ElementTagEnd" attribute="Element Tag" String="</script" insensitive="true" endRegion="script" /> <DetectSpaces /> <IncludeRules context="##Comments" /> </context>
xml/php.xml view
@@ -77,10 +77,10 @@ <!ENTITY float "\b&LNUM;(\.(&LNUM;)?(&EXPONENT;)?|&EXPONENT;)|\.&LNUM;(&EXPONENT;)?"> ]> -<language name="PHP/PHP" indenter="cstyle" version="25" kateversion="5.53" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">+<language name="PHP/PHP" indenter="cstyle" version="27" kateversion="5.79" section="Scripts" extensions="" priority="5" mimetype="" hidden="true"> <highlighting> <!-- https://php.watch/versions -->- <!-- Based on 8.1 -->+ <!-- Based on 8.3 (https://php.watch/versions/8.3 and https://stitcher.io/blog/new-in-php-83) --> <!-- https://secure.php.net/manual/en/reserved.keywords.php --> <list name="control structures">@@ -7492,6 +7492,7 @@ <item>json_encode</item> <item>json_last_error</item> <item>json_last_error_msg</item>+ <item>json_validate</item> <item>judy_type</item> <item>judy_version</item> <item>juliantojd</item>@@ -7777,6 +7778,8 @@ <item>mb_scrub</item> <item>mb_send_mail</item> <item>mb_split</item>+ <item>mb_str_pad</item>+ <item>mb_str_split</item> <item>mb_strcut</item> <item>mb_strimwidth</item> <item>mb_stripos</item>@@ -8880,7 +8883,9 @@ <item>pos</item> <item>posix_access</item> <item>posix_ctermid</item>+ <item>posix_eaccess</item> <item>posix_errno</item>+ <item>posix_fpathconf</item> <item>posix_getcwd</item> <item>posix_getegid</item> <item>posix_geteuid</item>@@ -8904,6 +8909,7 @@ <item>posix_kill</item> <item>posix_mkfifo</item> <item>posix_mknod</item>+ <item>posix_pathconf</item> <item>posix_setegid</item> <item>posix_seteuid</item> <item>posix_setgid</item>@@ -8912,6 +8918,7 @@ <item>posix_setsid</item> <item>posix_setuid</item> <item>posix_strerror</item>+ <item>posix_sysconf</item> <item>posix_times</item> <item>posix_ttyname</item> <item>posix_uname</item>@@ -9637,6 +9644,7 @@ <item>stream_context_get_options</item> <item>stream_context_get_params</item> <item>stream_context_set_default</item>+ <item>stream_context_set_options</item> <item>stream_context_set_option</item> <item>stream_context_set_params</item> <item>stream_copy_to_stream</item>@@ -10490,7 +10498,10 @@ <item>CurlShareHandle</item> <item>CURLStringFile</item> <item>DateInterval</item>+ <item>DateInvalidOperationException</item>+ <item>DateMalformedIntervalStringException</item> <item>DatePeriod</item>+ <item>DateRangeError</item> <item>DateTime</item> <item>DateTimeImmutable</item> <item>DateTimeInterface</item>@@ -10680,6 +10691,7 @@ <item>QuickHashIntSet</item> <item>QuickHashIntStringHash</item> <item>QuickHashStringIntHash</item>+ <item>Randomizer</item> <item>RangeException</item> <item>RecursiveArrayIterator</item> <item>RecursiveCachingIterator</item>@@ -11180,7 +11192,7 @@ <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" /> </context> - <context name="MatchComment" attribute="PHP Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="MatchComment" attribute="PHP Text" lineEndContext="#pop" fallthroughContext="#pop"> <IncludeRules context="##Doxygen" /> <Detect2Chars attribute="Comment" context="#pop!onelinecomment" char="/" char1="/" /> <Detect2Chars attribute="Comment" context="#pop!twolinecomment" char="/" char1="*" beginRegion="Comment" />@@ -11213,11 +11225,11 @@ $var[$ident] ^_ error -->- <context name="dqaftervarname" attribute="String" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">+ <context name="dqaftervarname" attribute="String" lineEndContext="#pop" fallthroughContext="#pop"> <DetectChar attribute="Symbol" context="#pop!dqarray" char="["/> <Detect2Chars context="#pop!dqobject" char="-" char1=">" lookAhead="1"/> </context>- <context name="dqarray" attribute="Variable" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">+ <context name="dqarray" attribute="Variable" lineEndContext="#stay" fallthroughContext="#pop"> <DetectIdentifier attribute="String" context="#pop!dqarrayclose"/> <Int attribute="Decimal" context="#pop!dqarrayclose"/> <DetectChar attribute="Operator" context="#stay" char="-"/>@@ -11225,25 +11237,25 @@ <RegExpr attribute="Variable" context="#pop!dqarrayclose" String="\$&varid;"/> <IncludeRules context="finddqarraycharerror"/> </context>- <context name="dqarrayclose" attribute="Variable" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">+ <context name="dqarrayclose" attribute="Variable" lineEndContext="#stay" fallthroughContext="#pop"> <DetectChar attribute="Symbol" context="#pop" char="]"/> <IncludeRules context="finddqarraycharerror"/> </context>- <context name="dqobject" attribute="String" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">+ <context name="dqobject" attribute="String" lineEndContext="#pop" fallthroughContext="#pop"> <RegExpr attribute="Symbol" context="#pop!dqobjectmem" String="->(?=&varid;)"/> </context> <context name="dqobjectmem" attribute="Variable" lineEndContext="#pop"> <DetectIdentifier attribute="PHP Text" context="#pop"/> </context>- <context name="finddqarraycharerror" attribute="String" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">+ <context name="finddqarraycharerror" attribute="String" lineEndContext="#stay" fallthroughContext="#pop"> <RegExpr attribute="Error" context="#pop" String="[^"`]"/> </context> - <context name="dqcomplexvariable" attribute="Variable" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!finddqarraycharerror">+ <context name="dqcomplexvariable" attribute="Variable" lineEndContext="#stay" fallthroughContext="#pop!finddqarraycharerror"> <DetectChar attribute="Symbol" context="#stay" char="{"/> <DetectChar attribute="Variable" context="#pop!dqcomplexvariable2" char="$"/> </context>- <context name="dqcomplexvariable2" attribute="Variable" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!finddqarraycharerror">+ <context name="dqcomplexvariable2" attribute="Variable" lineEndContext="#stay" fallthroughContext="#pop!finddqarraycharerror"> <DetectIdentifier attribute="Variable" context="#pop!dqaftercomplexvariable"/> <DetectChar attribute="Variable" context="#stay" char="$"/> <IncludeRules context="finddqarraycharerror"/>@@ -11376,7 +11388,7 @@ <!--/ Alternate PHP Block Syntax --> <DetectIdentifier attribute="Control Structures" context="#pop"/> </context>- <context name="yield" attribute="PHP Text" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">+ <context name="yield" attribute="PHP Text" lineEndContext="#stay" fallthroughContext="#pop"> <DetectSpaces attribute="PHP Text" context="#stay"/> <WordDetect attribute="Control Structures" context="#pop" String="from"/> </context>@@ -11384,7 +11396,7 @@ <DetectIdentifier attribute="Control Structures" context="#pop" endRegion="Alternate Block"/> </context> - <context name="MaybeAlternateBlock" attribute="PHP Text" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">+ <context name="MaybeAlternateBlock" attribute="PHP Text" lineEndContext="#stay" fallthroughContext="#pop"> <DetectChar attribute="Symbol" context="#pop!MaybeAlternateBlockOpen" char="("/> <DetectSpaces attribute="PHP Text"/> <IncludeRules context="FindComment"/>@@ -11399,7 +11411,7 @@ <DetectChar attribute="Symbol" context="#pop" char=")"/> <IncludeRules context="phpsource"/> </context>- <context name="MaybeAlternateBlockClose" attribute="PHP Text" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">+ <context name="MaybeAlternateBlockClose" attribute="PHP Text" lineEndContext="#pop" fallthroughContext="#pop"> <DetectChar attribute="Other" context="#pop" char=":" beginRegion="Alternate Block"/> <DetectSpaces attribute="PHP Text"/> </context>
xml/powershell.xml view
@@ -1,48 +1,54 @@-<!DOCTYPE language>+<!DOCTYPE language [+ <!ENTITY varscope "(?:global|local|private|script|using|workflow|alias|env|function|variable)">+ <!ENTITY varname "(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)">+]> <language name="PowerShell"- version="13"- kateversion="5.0"+ version="14"+ kateversion="5.79" extensions="*.ps1;*.psm1;*.psd1" section="Scripts" author="Motoki Kashihara (motoki8791@gmail.com); Michael Lombardi (Michael.T.Lombardi@outlook.com)" casesensitive="0" license="MIT"> <highlighting>- <list name="keywords">- <item>Begin</item>+ <list name="control-flow"> <item>Exit</item> <item>Process</item> <item>Break</item>- <item>Filter</item> <item>Return</item> <item>Catch</item> <item>Finally</item>- <item>Sequence</item> <item>Class</item> <item>For</item> <item>Switch</item> <item>Continue</item> <item>ForEach</item> <item>Throw</item>+ <item>Try</item>+ <item>Do</item>+ <item>If</item>+ <item>Until</item>+ <item>Else</item>+ <item>ElseIf</item>+ <item>While</item>+ </list>++ <list name="keywords">+ <item>Begin</item>+ <item>Filter</item>+ <item>Sequence</item> <item>Data</item> <item>From</item> <item>Trap</item> <item>Define</item> <item>Function</item>- <item>Try</item>- <item>Do</item>- <item>If</item>- <item>Until</item> <item>DynamicParam</item> <item>In</item> <item>Using</item>- <item>Else</item> <item>InlineScript</item> <item>Var</item>- <item>ElseIf</item> <item>Parallel</item>- <item>While</item> <item>End</item> <item>Param</item> <item>Workflow</item>@@ -75,69 +81,6 @@ <item>ulong</item> <item>ushort</item> </list>-<!-- TODO: Seems unused?!- <list name="operators">- <item>-split</item>- <item>-isplit</item>- <item>-csplit</item>- <item>-join</item>- <item>-is</item>- <item>-isnot</item>- <item>-as</item>- <item>-eq</item>- <item>-ieq</item>- <item>-ceq</item>- <item>-ne</item>- <item>-ine</item>- <item>-cne</item>- <item>-gt</item>- <item>-igt</item>- <item>-cgt</item>- <item>-ge</item>- <item>-ige</item>- <item>-cge</item>- <item>-lt</item>- <item>-ilt</item>- <item>-clt</item>- <item>-le</item>- <item>-ile</item>- <item>-cle</item>- <item>-like</item>- <item>-ilike</item>- <item>-clike</item>- <item>-notlike</item>- <item>-inotlike</item>- <item>-cnotlike</item>- <item>-match</item>- <item>-imatch</item>- <item>-cmatch</item>- <item>-notmatch</item>- <item>-inotmatch</item>- <item>-cnotmatch</item>- <item>-contains</item>- <item>-icontains</item>- <item>-ccontains</item>- <item>-notcontains</item>- <item>-inotcontains</item>- <item>-cnotcontains</item>- <item>-replace</item>- <item>-ireplace</item>- <item>-creplace</item>- <item>-band</item>- <item>-bor</item>- <item>-bxor</item>- <item>-and</item>- <item>-or</item>- <item>-xor</item>- <item>.</item>- <item>&</item>- <item>=</item>- <item>+=</item>- <item>-=</item>- <item>*=</item>- <item>/=</item>- <item>%=</item>- </list>--> <list name="cmdlets"> <item>Add-Content</item> <item>Add-ADComputerServiceAccount</item>@@ -847,11 +790,23 @@ <item>\%</item> <item>\?</item> </list>+ <list name="special-variables">+ <!-- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes?view=powershell-7.3#scope-modifiers -->+ <item>$Global:</item>+ <item>$Local:</item>+ <item>$Private:</item>+ <item>$Script:</item>+ <item>$Using:</item>+ <item>$Workflow:</item>+ <item>$Alias:</item>+ <item>$Env:</item>+ <item>$Function:</item>+ <item>$Variable:</item>+ <item>$_</item> <item>$True</item> <item>$False</item>- <item>$Env</item> <item>$Null</item> <item>$^</item> <item>$$</item>@@ -873,75 +828,176 @@ <item>$Host</item> <item>$OFS</item> </list>++ <!-- https://learn.microsoft.com/en-us/powershell/scripting/developer/help/comment-based-help-keywords?view=powershell-7.3 -->+ <list name="comment-based-help">+ <item>.SYNOPSIS</item>+ <item>.DESCRIPTION</item>+ <item>.PARAMETER</item>+ <item>.EXAMPLE</item>+ <item>.INPUTS</item>+ <item>.OUTPUTS</item>+ <item>.NOTES</item>+ <item>.LINK</item>+ <item>.COMPONENT</item>+ <item>.ROLE</item>+ <item>.FUNCTIONALITY</item>+ <item>.FORWARDHELPTARGETNAME</item>+ <item>.FORWARDHELPCATEGORY</item>+ <item>.REMOTEHELPRUNSPACE</item>+ <item>.EXTERNALHELP</item>+ </list>+ <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="Normal">+ <DetectSpaces attribute="Normal Text"/>+ <IncludeRules context="FindSpecialSymbol"/>+ <DetectChar attribute="Symbol" context="Attribute" char="["/>+ <IncludeRules context="FindSpecialOtherSymbol"/> <keyword attribute="Keyword" context="#stay" String="keywords"/>- <keyword attribute="Data Type" context="#stay" String="types" />- <IncludeRules context="Cmdlet" />- <DetectChar attribute="String" context="String" char="""/>- <DetectChar attribute="String" context="StringQ" char="'"/>- <Detect2Chars attribute="HereString" context="HereStringer" char="@" char1=""" beginRegion="StringRegion"/>+ <keyword attribute="Control Flow" context="#stay" String="control-flow"/>+ <keyword attribute="Function" context="#stay" String="cmdlets"/>+ <IncludeRules context="FindIdentifiant"/>+ <IncludeRules context="FindEscape"/>+ </context>++ <context attribute="Attribute" name="Attribute">+ <DetectSpaces attribute="Normal Text"/>+ <keyword attribute="Data Type" context="#stay" String="types"/>+ <IncludeRules context="FindIdentifiant"/>+ <DetectChar attribute="Symbol" context="#pop" char="]"/>+ <IncludeRules context="FindSpecialSymbol"/>+ <IncludeRules context="FindSpecialOtherSymbol"/>+ <IncludeRules context="FindEscape"/>+ </context>++ <context attribute="Normal Text" name="FindSpecialSymbol">+ <DetectChar attribute="String" context="StringDQ" char="""/>+ <DetectChar attribute="String" context="StringSQ" char="'"/>+ <StringDetect attribute="HereString" context="HereStringDQ" String="@"" beginRegion="StringRegion"/>+ <StringDetect attribute="HereString" context="HereStringSQ" String="@'" beginRegion="StringRegion"/>+ <StringDetect attribute="Symbol" String="@("/> <DetectChar attribute="Comment" context="Commentar 1" char="#"/>- <Detect2Chars attribute="Comment" context="Commentar 2" char="<" char1="#" beginRegion="CommentRegion"/>+ <StringDetect attribute="Comment" context="Commentar 2" String="<#" beginRegion="CommentRegion"/> <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="block1"/> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="block1"/>- <RegExpr attribute="Keyword" context="#stay" String="\b\$(global|script)(?=\s+(:))"/>- <RegExpr attribute="Variable" context="#stay" String="\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" />- <keyword attribute="Special Variable" context="#stay" String="special-variables"/>- <DetectChar attribute="Symbol" context="Member" char="." />- <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/*<=>?[]|~^;"/>+ <DetectChar attribute="Symbol" context="Member" char="."/> </context>- <context attribute="String Char" lineEndContext="#stay" name="StringEscape">- <RegExpr attribute="String Char" String="`[`"0abefnrtv\$]|`u\{[0-9A-Fa-f]+\}" context="#stay"/>++ <context attribute="Normal Text" name="FindSpecialOtherSymbol">+ <RegExpr attribute="Operator" String="(?<=^|[\s(){}])-([ic]?(split|eq|ne|gt|ge|lt|le|like|notlike|match|notmatch|contains|notcontains|replace)|b?(and|or|xor)|join|not|isnot|is|as)(?=[\s(){}$]|$)"/>+ <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/*<=>?[]|~^;"/>+ <IncludeRules context="FindVariable"/> </context>- <context attribute="String" lineEndContext="#pop" name="String">- <IncludeRules context="StringEscape"/>- <Detect2Chars attribute="Variable Substitution" context="#stay" char="$" char1="_" />- <Detect2Chars attribute="Variable Substitution" context="VarSubst" char="$" char1="{" />- <LineContinue attribute="String" context="#pop"/>++ <context attribute="Normal Text" name="FindEscape">+ <RegExpr attribute="String Char" String="`u\{[0-9A-Fa-f]+\}|`."/>+ <RegExpr attribute="Escape" String="(?<=\s)`"/>+ </context>++ <context attribute="Normal Text" name="FindVariable">+ <StringDetect attribute="Variable Substitution" context="VarSubst" String="${" />+ <StringDetect attribute="Symbol" context="VarCmd" String="$(" />+ <RegExpr attribute="Variable" context="VariableScopeModifier" String="\$(?=&varscope;:)" insensitive="1"/>+ <RegExpr attribute="Variable" String="\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*|[?^$])"/>+ </context>++ <context attribute="Normal Text" name="FindIdentifiant">+ <RegExpr attribute="Number" context="NumericSuffix" String="\b(0b[01]+|0x[0-9a-fA-F]+|([0-9]+(\.[0-9]*)?|\.[0-9]+)(e([-+][0-9]+|[0-9]*))?)(?=(u?[ysl]|[und])?([kmgtp]b)?\b)" insensitive="1"/>+ <RegExpr String="[-\w]+"/>+ </context>+ <context attribute="Numeric Suffix" name="NumericSuffix" fallthroughContext="#pop">+ <DetectIdentifier attribute="Numeric Suffix" context="#pop"/>+ </context>++ <!-- $( -->+ <context attribute="Normal Text" name="VarCmd">+ <DetectChar attribute="Symbol" context="#pop" char=")"/>+ <IncludeRules context="Normal"/>+ </context>++ <!-- ${ -->+ <context attribute="Variable" name="VarSubst" fallthroughContext="VarNameSubst">+ <DetectChar attribute="Variable Substitution" context="#pop" char="}"/>+ <RegExpr attribute="Scope Modifier" context="VariableName" String="&varscope;:" insensitive="1"/>+ </context>+ <context attribute="Variable" name="VarNameSubst">+ <DetectChar attribute="Variable Substitution" context="#pop#pop" char="}"/>+ </context>++ <!-- $xxx:varname -->+ <context attribute="Normal Text" name="VariableScopeModifier" lineEndContext="#pop">+ <DetectChar attribute="Symbol" context="#pop!VariableName" char=":"/>+ <DetectIdentifier attribute="Scope Modifier"/>+ </context>+ <context attribute="Normal Text" name="VariableName" lineEndContext="#pop">+ <RegExpr attribute="Variable" context="#pop" String="&varname;(:&varname;)*"/>+ </context>++ <context attribute="String" name="StringDQ">+ <IncludeRules context="FindVariable"/>+ <RegExpr attribute="String Char" String="`u\{[0-9A-Fa-f]+\}|`.|`$|"""/> <DetectChar attribute="String" context="#pop" char="""/> </context>- <context attribute="String" lineEndContext="#pop" name="StringQ">- <IncludeRules context="StringEscape"/>- <LineContinue attribute="String" context="#pop"/>+ <context attribute="String" name="StringSQ">+ <StringDetect attribute="String Char" String="''"/> <DetectChar attribute="String" context="#pop" char="'"/> </context>- <context attribute="Variable Substitution" lineEndContext="#pop" name="VarSubst">- <DetectIdentifier />- <DetectChar attribute="Variable Substitution" context="#pop" char="}" />++ <context attribute="HereString" lineEndContext="#stay" name="HereStringDQ">+ <IncludeRules context="FindVariable"/>+ <StringDetect attribute="HereString" context="#pop" String=""@" endRegion="StringRegion" column="0"/> </context>- <context attribute="HereString" lineEndContext="#stay" name="HereStringer">- <Detect2Chars attribute="HereString" context="#pop" char=""" char1="@" endRegion="StringRegion"/>+ <context attribute="HereString" lineEndContext="#stay" name="HereStringSQ">+ <StringDetect attribute="HereString" context="#pop" String="'@" endRegion="StringRegion" column="0"/> </context>- <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">- <RegExpr attribute="Function" context="#pop" String="\b[_\w][_\w\d]*(?=[\s]*)" />++ <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthroughContext="#pop">+ <RegExpr attribute="Function" context="#pop" String="[_[:alpha:]]\w*" /> </context>+ <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"> <DetectSpaces /> <IncludeRules context="##Comments"/> </context>+ <context attribute="Comment" lineEndContext="#stay" name="Commentar 2"> <DetectSpaces /> <Detect2Chars attribute="Comment" context="#pop" char="#" char1=">" endRegion="CommentRegion"/>+ <!-- no delimiter except spaces -->+ <keyword context="CommentHelp" String="comment-based-help" weakDeliminator="!%&()*+,-./:;$lt;=>?[\]^{|}~" firstNonSpace="1" lookAhead="1" insensitive="0"/> <IncludeRules context="##Comments"/> </context>- <context attribute="Normal Text" lineEndContext="#stay" name="Cmdlet">- <keyword attribute="Function" context="#stay" String="cmdlets"/>+ <context attribute="Comment-Based Help Keyword" lineEndContext="#pop" name="CommentHelp">+ <DetectChar attribute="Symbol" char="."/>+ <DetectIdentifier attribute="Comment-Based Help Keyword" context="CommentHelpParam"/> </context>+ <context attribute="Comment-Based Help Paramater" lineEndContext="#pop#pop" name="CommentHelpParam">+ </context>+ </contexts>+ <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Escape" defStyleNum="dsChar" spellChecking="false"/> <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/> <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/> <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/> <itemData name="String" defStyleNum="dsString"/> <itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/> <itemData name="HereString" defStyleNum="dsVerbatimString"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Numeric Suffix" defStyleNum="dsDataType" spellChecking="false"/> <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Comment-Based Help Keyword" defStyleNum="dsDocumentation" spellChecking="false"/>+ <itemData name="Comment-Based Help Paramater" defStyleNum="dsSpecialString" spellChecking="false"/> <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/> <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>- <itemData name="Special Variable" defStyleNum="dsVariable" spellChecking="false" bold="1"/>- <itemData name="Variable Substitution" defStyleNum="dsString" spellChecking="false" />+ <itemData name="Scope Modifier" defStyleNum="dsVariable" spellChecking="false" bold="1"/>+ <itemData name="Variable Substitution" defStyleNum="dsPreprocessor" spellChecking="false"/> </itemDatas> </highlighting> <general>
xml/raku.xml view
@@ -7,1749 +7,2064 @@ Alphanumeric characters additionally include characters with the Unicode General Category value Number, Decimal Digit (Nd). --> <!-- Large values -->- <!ENTITY _rangealphabetic "A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\x{2c1}\x{2C6}-\x{2D1}\x{2E0}-\x{2EE}\x{370}-\x{588}\x{5d0}-\x{17dc}\x{1820}-\x{1aa7}\x{1b05}-\x{2139}\x{2c00}-\x{31ff}\x{3400}\x{4db5}\x{4db5}\x{4e00}-\x{ac00}\x{d7a3}-\x{d7fb}\x{f900}-\x{FD3D}\x{FF64}\x{100fa}\x{10000}-\x{100fa}\x{10280}-\x{20000}\x{2a6d6}-\x{2fa1d}">- <!ENTITY rangealphabetic "_&_rangealphabetic;">- <!ENTITY rangenumeric "0-9">- <!ENTITY alphabetic "[&rangealphabetic;]">- <!ENTITY numeric "[&rangenumeric;]">- <!ENTITY alnum "[&rangealphabetic;&rangenumeric;]">- <!ENTITY ident "(?:&alphabetic;(?:&alnum;+|[-']&alphabetic;)*)">-- <!ENTITY prefixdollarvarname "(?:[&rangealphabetic;0-9/!]|\(\))">- <!ENTITY dollarvarname "(?:&ident;|[0-9]+|[/!]|\(\))">- <!ENTITY twigils "*?!.<^:=~">-- <!ENTITY podfmt "BCEIKLMNPRTUVXZ">- <!ENTITY allnopodfmt "(?:[^&podfmt;]+|[&podfmt;](?![<«]))+">- <!ENTITY allnopodfmt1 "(?:[^&podfmt;<>]+|[&podfmt;](<(?:<*(?=<))|(?![<«])))+">- <!ENTITY allnopodfmt2 "(?:[^&podfmt;«»]+|[&podfmt;](?![<«]))+">- <!ENTITY allnopodfmt3 "(?:[^&podfmt;<>]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+">-- <!ENTITY quotingform_q "(?:q?(?::?[xsahfcb]|:?ww?|:(?:v|exec|words|quotewords|scalar|array|hash|function|closure|backslash|to|heredoc)|)(?::[xsahfcbv]|ww?|exec|words|quotewords|scalar|array|hash|function|closure|backslash|to|heredoc)*)">- <!ENTITY quotingform_q_assert "(?:\s+(?=\()|\s*(?=[^()>」\]}a-zA-Z0-9]|$))">- <!ENTITY quotingconstruct "q"ingform_q;"ingform_q_assert;">-- <!ENTITY int10 "(?:[0-9]+(?:_[0-9]+)*)">- <!ENTITY intN "(?:[0-9a-zA-Z]+(?:_[0-9a-zA-Z]+)*)">-- <!-- <!ENTITY operators "(?:\b(?:X[*~]|Z=|xx=)|\((?:[<>][+=]|[-&+.<>|^]|cont|elem)\)|\+[&+<=>^|]?|~[&<>^|~]?|\.(?::<[^>]+>|\.\.?\^?|[=?^*+.])?|\^(?:fff?\b|\.\.)?\^?|(?:[?…]|f?ff)\^|\[[*+]\]|=(?:==?|=>>?|>|~=)?|<(?:<==|=[=>]?)?|\*\*=?|\?[?|]?|!(?:[=]|eqv\b)?|%%?|&&?|//?|\|\|?|>=?|-[-=]?|::|[−∈∉∋∌∘∩∪≅≠≤≥≼≽⊂⊃⊄⊅⊆⊇⊈⊉⊍⊎⊖×÷∖*…])"> -->- <!-- <!ENTITY hyperoperators "(?:[«»]|<<|>>)"> -->- <!ENTITY safesymboloperators "−∈∉∋∌∘∩∪≅≠≤≥≼≽⊂⊃⊄⊅⊆⊇⊈⊉⊍⊎⊖×÷∖*…?.+-/=!~&|^%">- <!ENTITY unsafesymboloperators "<>«»">- <!ENTITY symboloperators "&safesymboloperators;&unsafesymboloperators;">- <!ENTITY bracehyperoperator "(?:\[[^\s]+\]|\([^\s]+\))">- <!ENTITY prefixoperator "R?(?:[XZ]|xx)?">- <!ENTITY extrasymboloperators "(?:\^fff?\b\^?|\bf?ff\^|\((?:[<>][+=]|[-&+.<>|^]|cont|elem)\))">- <!ENTITY hyperoperators1 "[«»]&prefixoperator;(?:&&ident;|[&safesymboloperators;<>]+|&bracehyperoperator;)[«»]">- <!ENTITY hyperoperators2 "(?:<<|>>)&prefixoperator;(?:&&ident;|[&safesymboloperators;«»]+|&bracehyperoperator;)(?:<<|>>)">- <!ENTITY hyperoperators "&hyperoperators1;|&hyperoperators2;">- <!ENTITY startstringasoperator "&prefixoperator;<[&symboloperators;]*(?=\s|$)">- <!ENTITY funcoperator "\[\[\&&ident;\]\]">- <!ENTITY reductionoperator "\[&prefixoperator;[&symboloperators;]+\]">- <!ENTITY innerbraceoperator "[&symboloperators;'"]+">- <!ENTITY operators "&prefixoperator;(?:(?:[&safesymboloperators;>]|&extrasymboloperators;)[&symboloperators;]*|\(&innerbraceoperator;\)|\[&innerbraceoperator;\]|<[&safesymboloperators;'"]+>)">-- <!-- <!ENTITY regadverb "(?!\()\s*(?::\w+\s*)*(?=[^\w\s])"> -->- <!ENTITY regadverb "(?!\()\s*(?=[^\w\s])">-]>-<language name="Raku" version="8" kateversion="5.53" section="Scripts" extensions="*.raku;*.rakumod;*.rakudoc;*.rakutest;*.pl6;*.PL6;*.p6;*.pm6;*.pod6" priority="6" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">- <highlighting>-- <list name="pod">- <item>begin</item>- <item>end</item>- <item>finish</item>- <item>for</item>- <include>podtypename</include>- </list>-- <list name="podblocktypename">- <item>pod</item>- <include>podtypename</include>- </list>-- <list name="podvalue">- <item>True</item>- <item>False</item>- </list>-- <list name="podtypename">- <item>head1</item>- <item>head2</item>- <item>head3</item>- <item>head4</item>- <item>head5</item>- <item>head6</item>- <item>item</item>- <item>item1</item>- <item>item2</item>- <item>item3</item>- <item>item4</item>- <item>item5</item>- <item>item6</item>- <item>para</item>- <item>code</item>- <item>defn</item>- <item>comment</item>- <item>table</item>- <item>input</item>- <item>output</item>- </list>-- <list name="quoting">- <item>exec</item>- <item>words</item>- <item>quotewords</item>- <item>scalar</item>- <item>array</item>- <item>hash</item>- <item>function</item>- <item>closure</item>- <item>backslash</item>- <item>heredoc</item>- <item>val</item>- </list>-- <list name="declareRoutine">- <item>macro</item>- <item>sub</item>- <item>submethod</item>- <item>method</item>- <item>multi</item>- <item>proto</item>- <item>only</item>- <item>category</item>- </list>-- <list name="regexKeyword">- <item>rule</item>- <item>token</item>- <item>regex</item>- </list>-- <list name="value">- <include>podvalue</include>- <item>self</item>- </list>-- <list name="varStorage">- <item>let</item>- <item>my</item>- <item>our</item>- <item>state</item>- <item>temp</item>- <item>has</item>- <item>constant</item>- </list>-- <list name="controlFlow">- <!-- conditional -->- <item>if</item>- <item>else</item>- <item>elsif</item>- <item>unless</item>- <!-- repeat -->- <item>for</item>- <item>loop</item>- <item>repeat</item>- <item>while</item>- <item>until</item>- <item>gather</item>- <item>given</item>- <!-- control flow -->- <item>take</item>- <item>do</item>- <item>when</item>- <item>next</item>- <item>last</item>- <item>redo</item>- <item>return</item>- <item>contend</item>- <item>maybe</item>- <item>defer</item>- <item>default</item>- <item>exit</item>- <item>make</item>- <item>continue</item>- <item>break</item>- <item>goto</item>- <item>leave</item>- <item>async</item>- <item>lift</item>- <!-- exception -->- <item>die</item>- <item>fail</item>- <item>try</item>- <item>warn</item>- </list>-- <list name="keyword">- <!-- include -->- <item>no</item>- <item>use</item>- <item>require</item>- <!-- typeConstraint -->- <item>is</item>- <item>as</item>- <item>but</item>- <item>trusts</item>- <item>of</item>- <item>returns</item>- <item>handles</item>- <item>where</item>- <item>augment</item>- <item>supersede</item>- <!-- module -->- <item>module</item>- <item>class</item>- <item>role</item>- <item>package</item>- <item>enum</item>- <item>grammar</item>- <item>slang</item>- <item>subset</item>- <!-- closure trait -->- <item>BEGIN</item>- <item>CHECK</item>- <item>INIT</item>- <item>START</item>- <item>FIRST</item>- <item>ENTER</item>- <item>LEAVE</item>- <item>KEEP</item>- <item>UNDO</item>- <item>NEXT</item>- <item>LAST</item>- <item>PRE</item>- <item>POST</item>- <item>END</item>- <item>CATCH</item>- <item>CONTROL</item>- <item>TEMP</item>- </list>-- <list name="property">- <item>prec</item>- <item>irs</item>- <item>ofs</item>- <item>ors</item>- <item>export</item>- <item>deep</item>- <item>binary</item>- <item>unary</item>- <item>reparsed</item>- <item>rw</item>- <item>parsed</item>- <item>cached</item>- <item>readonly</item>- <item>defequiv</item>- <item>will</item>- <item>ref</item>- <item>copy</item>- <item>inline</item>- <item>tighter</item>- <item>looser</item>- <item>equiv</item>- <item>assoc</item>- <item>required</item>- </list>-- <list name="isProperty">- <include>property</include>- <item>signature</item>- <item>context</item>- <item>also</item>- <item>shape</item>- </list>-- <list name="Number">- <item>NaN</item>- <item>Inf</item>- </list>-- <list name="type">- <item>Object</item>- <item>Any</item>- <item>Junction</item>- <item>Whatever</item>- <item>Capture</item>- <item>Match</item>- <item>Signature</item>- <item>Proxy</item>- <item>Matcher</item>- <item>Package</item>- <item>Module</item>- <item>Class</item>- <item>Grammar</item>- <item>Scalar</item>- <item>Array</item>- <item>Hash</item>- <item>KeyHash</item>- <item>KeySet</item>- <item>KeyBag</item>- <item>Pair</item>- <item>List</item>- <item>Seq</item>- <item>Range</item>- <item>Set</item>- <item>Bag</item>- <item>Mapping</item>- <item>Void</item>- <item>Undef</item>- <item>Failure</item>- <item>Exception</item>- <item>Code</item>- <item>Block</item>- <item>Routine</item>- <item>Sub</item>- <item>Macro</item>- <item>Method</item>- <item>Submethod</item>- <item>Regex</item>- <item>Str</item>- <item>Blob</item>- <item>Char</item>- <item>Byte</item>- <item>Codepoint</item>- <item>Grapheme</item>- <item>StrPos</item>- <item>StrLen</item>- <item>Version</item>- <item>Num</item>- <item>Complex</item>- <item>num</item>- <item>complex</item>- <item>Bit</item>- <item>bit</item>- <item>bool</item>- <item>True</item>- <item>False</item>- <item>Increasing</item>- <item>Decreasing</item>- <item>Ordered</item>- <item>Callable</item>- <item>AnyChar</item>- <item>Positional</item>- <item>Associative</item>- <item>Ordering</item>- <item>KeyExtractor</item>- <item>Comparator</item>- <item>OrderingPair</item>- <item>IO</item>- <item>KitchenSink</item>- <item>Role</item>- <item>Int</item>- <item>int</item>- <item>int1</item>- <item>int2</item>- <item>int4</item>- <item>int8</item>- <item>int16</item>- <item>int32</item>- <item>int64</item>- <item>Rat</item>- <item>rat</item>- <item>rat1</item>- <item>rat2</item>- <item>rat4</item>- <item>rat8</item>- <item>rat16</item>- <item>rat32</item>- <item>rat64</item>- <item>Buf</item>- <item>buf</item>- <item>buf1</item>- <item>buf2</item>- <item>buf4</item>- <item>buf8</item>- <item>buf16</item>- <item>buf32</item>- <item>buf64</item>- <item>UInt</item>- <item>uint</item>- <item>uint1</item>- <item>uint2</item>- <item>uint4</item>- <item>uint8</item>- <item>uint16</item>- <item>uint32</item>- <item>uint64</item>- <item>Abstraction</item>- <item>utf8</item>- <item>utf16</item>- <item>utf32</item>- </list>-- <list name="operator">- <item>X</item>- <item>gcd</item>- <item>ge</item>- <item>gt</item>- <item>lcm</item>- <item>le</item>- <item>leg</item>- <item>let</item>- <item>lt</item>- <item>map</item>- <item>max</item>- <item>min</item>- <item>minmax</item>- <item>mod</item>- <item>ne</item>- <item>not</item>- <item>notandthen</item>- <item>o</item>- <item>or</item>- <item>orelse</item>- <item>print</item>- <item>push</item>- <item>say</item>- <item>so</item>- <item>substr</item>- <item>temp</item>- <item>unicmp</item>- <item>x</item>- <item>xor</item>- <item>xx</item>- <item>Xeqv</item>- <item>Z</item>- <item>and</item>- <item>andthen</item>- <item>any</item>- <item>but</item>- <item>cmp</item>- <item>coll</item>- <item>die</item>- <item>div</item>- <item>does</item>- <item>eq</item>- <item>eqv</item>- <item>ff</item>- <item>fff</item>- </list>-- <list name="unicodeGeneralCategories">- <item>L</item> <item>Letter</item>- <item>LC</item> <item>Cased_Letter</item>- <item>Lu</item> <item>Uppercase_Letter</item>- <item>Ll</item> <item>Lowercase_Letter</item>- <item>Lt</item> <item>Titlecase_Letter</item>- <item>Lm</item> <item>Modifier_Letter</item>- <item>Lo</item> <item>Other_Letter</item>- <item>M</item> <item>Mark</item>- <item>Mn</item> <item>Nonspacing_Mark</item>- <item>Mc</item> <item>Spacing_Mark</item>- <item>Me</item> <item>Enclosing_Mark</item>- <item>N</item> <item>Number</item>- <item>Nd</item> <item>Decimal_Number</item> <item>digit</item>- <item>Nl</item> <item>Letter_Number</item>- <item>No</item> <item>Other_Number</item>- <item>P</item> <item>Punctuation</item> <item>punct</item>- <item>Pc</item> <item>Connector_Punctuation</item>- <item>Pd</item> <item>Dash_Punctuation</item>- <item>Ps</item> <item>Open_Punctuation</item>- <item>Pe</item> <item>Close_Punctuation</item>- <item>Pi</item> <item>Initial_Punctuation</item>- <item>Pf</item> <item>Final_Punctuation</item>- <item>Po</item> <item>Other_Punctuation</item>- <item>S</item> <item>Symbol</item>- <item>Sm</item> <item>Math_Symbol</item>- <item>Sc</item> <item>Currency_Symbol</item>- <item>Sk</item> <item>Modifier_Symbol</item>- <item>So</item> <item>Other_Symbol</item>- <item>Z</item> <item>Separator</item>- <item>Zs</item> <item>Space_Separator</item>- <item>Zl</item> <item>Line_Separator</item>- <item>Zp</item> <item>Paragraph_Separator</item>- <item>C</item> <item>Other</item>- <item>Cc</item> <item>Control</item> <item>cntrl</item>- <item>Cf</item> <item>Format</item>- <item>Cs</item> <item>Surrogate</item>- <item>Co</item> <item>Private_Use</item>- <item>Cn</item> <item>Unassigned</item>- </list>-- <list name="assertion">- <item>before</item>- <item>after</item>- </list>-- <contexts>-- <context name="Shebang" attribute="Comment" lineEndContext="#pop!base" fallthrough="1" fallthroughContext="#pop!base">- <RegExpr attribute="Keyword" context="#pop!base" String="^#!\/.*" column="0"/>- </context>-- <context name="base" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces/>- <DetectChar attribute="Comment" context="StartComment" char="#"/>- <!-- <DetectChar attribute="Unspace" context="#stay" char="\"/> -->- <DetectChar attribute="String Delimiter" context="qq_RawString" char="""/>- <DetectChar attribute="String Delimiter" context="q_RawString" char="'"/>- <DetectChar char="{" context="Interpolation" attribute="Operator" beginRegion="block"/>- <RegExpr String="(?:s|tr|TR)®adverb;" context="RegexSubstitution" attribute="Operator"/>- <RegExpr String="(?:rx|m)®adverb;" context="Regex" attribute="Operator"/>- <IncludeRules context="find_Variable"/>- <DetectChar attribute="Pod" context="StartPod" char="=" firstNonSpace="1"/>- <RegExpr String="»\.|<<\.|&hyperoperators;|&startstringasoperator;|&funcoperator;|&reductionoperator;|&operators;" context="MaybeRegex" attribute="Operator"/>- <DetectChar char="(" context="SubExpression(" attribute="Operator" beginRegion="block"/>- <DetectChar char="[" context="SubExpression[" attribute="Operator" beginRegion="block"/>- <AnyChar String=",;" context="#stay" attribute="Separator Symbol"/>- <DetectChar attribute="String Delimiter" context="qq_String«" char="«"/>- <Detect2Chars attribute="String Delimiter" context="qq_String<<" char="<" char1="<"/>- <DetectChar attribute="String Delimiter" context="q_String<" char="<"/>- <DetectChar attribute="String Delimiter" context="Q_String「" char="「"/>- <RegExpr String="Q(\s++(?=['(_]|$)|\s*+(?=[^()>」\]}'&rangealphabetic;&rangenumeric;]|$))" context="Q_String" attribute="String"/>- <DetectChar char=":" context="MaybeAttribute" attribute="Operator"/>- <AnyChar String="0123456789." context="Number" lookAhead="1"/>- <RegExpr attribute="Operator" context="q_QuotingForm" String="q(?="ingform_q;"ingform_q_assert;)"/>- <keyword String="operator" context="#stay" attribute="Operator"/>- <keyword String="varStorage" context="#stay" attribute="Variable Storage"/>- <keyword String="type" context="#stay" attribute="Data Type"/>- <keyword String="controlFlow" context="#stay" attribute="Control Flow"/>- <WordDetect String="is" context="Is" attribute="Keyword"/>- <keyword String="keyword" context="#stay" attribute="Keyword"/>- <keyword String="declareRoutine" context="#stay" attribute="Declare Routine"/>- <keyword String="property" context="#stay" attribute="Property"/>- <keyword String="regexKeyword" context="RegexKeyword" attribute="Keyword"/>- <keyword String="value" context="#stay" attribute="Keyword Value"/>- <keyword String="Number" context="#stay" attribute="Float"/>- <RegExpr String="[A-Z](?:[a-z]+[a-zA-Z0-9]*)+" context="#stay" attribute="Data Type"/>- <RegExpr String="&ident;" context="#stay" attribute="Normal Text"/>- </context>-- <context name="Is" attribute="Normal Text" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <DetectSpaces/>- <keyword String="isProperty" context="#pop" attribute="Property"/>- </context>-- <context name="Interpolation" attribute="Normal Text" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="Operator" endRegion="block"/>- <IncludeRules context="base"/>- </context>-- <context name="SubExpression(" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="base"/>- <DetectChar char=")" context="#pop" attribute="Operator" endRegion="block"/>- </context>-- <context name="SubExpression[" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="base"/>- <DetectChar char="]" context="#pop" attribute="Operator" endRegion="block"/>- </context>-- <context name="find_Variable" attribute="Normal Text" lineEndContext="#stay">- <RegExpr String="[%&](?=[?*]&alphabetic;)|(?:\$[&twigils;]|::\?)(?=&alphabetic;)" context="Twigil" attribute="Variable"/>- <RegExpr String="[$@]\(\)|[%@]?\$/|\$!|\$[0-9]+|[\\@%&$]&ident;" context="#stay" attribute="Variable"/>- </context>-- <context name="MaybeRegex" attribute="Normal Text" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">- <DetectSpaces/>- <DetectChar char="/" context="#pop!Regex" attribute="Operator" lookAhead="1"/>- </context>-- <context name="Twigil" attribute="Variable" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <AnyChar String="&twigils;" context="#stay" attribute="Twigil"/>- <RegExpr String="&ident;" context="#pop" attribute="Variable"/>- </context>-- <context name="RegexKeyword" attribute="Normal Text" lineEndContext="#pop">- <DetectChar char="{" context="#pop!RegexKeyword-Pattern{" attribute="Operator" beginRegion="regex"/>- </context>- <context name="RegexKeyword-Pattern{" attribute="Pattern" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <!-- Regex -->-- <context name="Regex" attribute="Pattern" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">- <IncludeRules context="find_RegexClosure"/>- <RegExpr String="([^\w\s])" context="Pattern" attribute="Operator" beginRegion="regex"/>- </context>-- <context name="find_RegexClosure" attribute="Pattern" lineEndContext="#stay">- <DetectChar char=":" context="RegexModifier" attribute="Pattern Modifier"/>- <DetectChar char="{" context="Pattern{" attribute="Operator" beginRegion="regex"/>- <DetectChar char="(" context="Pattern(" attribute="Operator" beginRegion="regex"/>- <DetectChar char="[" context="Pattern[" attribute="Operator" beginRegion="regex"/>- <DetectChar char="<" context="Pattern<" attribute="Operator" beginRegion="regex"/>- <DetectSpaces/>- </context>-- <context name="RegexModifier" attribute="Pattern Modifier" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <Detect2Chars char="P" char1="5" context="RegexPerl5" attribute="Pattern Modifier"/>- <StringDetect String="Perl5" context="RegexPerl5" attribute="Pattern Modifier"/>- <DetectIdentifier context="#pop" attribute="Pattern Modifier"/>- </context>-- <context name="RegexPerl5" attribute="Pattern Modifier" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop!IsRegexPerl5">- <DetectSpaces/>- </context>-- <context name="IsRegexPerl5" attribute="Pattern" lineEndContext="#stay">- <IncludeRules context="find_pattern##Perl"/>- </context>-- <context name="Pattern{" attribute="Pattern" lineEndContext="#stay">- <DetectChar char="}" context="#pop#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="Pattern[" attribute="Pattern" lineEndContext="#stay">- <DetectChar char="]" context="#pop#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="Pattern(" attribute="Pattern" lineEndContext="#stay">- <DetectChar char=")" context="#pop#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="Pattern<" attribute="Pattern" lineEndContext="#stay">- <DetectChar char=">" context="#pop#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="Pattern" attribute="Pattern" lineEndContext="#stay">- <DetectChar char="1" dynamic="1" context="#pop#pop" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="find_Pattern" attribute="Pattern" lineEndContext="#stay">- <DetectChar attribute="Operator" context="SubPattern" char="("/>- <DetectChar char="\" context="PatternMetaChar" attribute="Pattern Character Class"/>- <DetectChar attribute="String Delimiter" context="qq_RawString" char="""/>- <DetectChar attribute="String Delimiter" context="q_RawString" char="'"/>- <DetectChar attribute="Pattern Modifier" context="PatternModifier" char=":" lookAhead="1"/>- <DetectChar char="{" context="Interpolation" attribute="Operator" beginRegion="block"/>- <Detect2Chars attribute="Operator" context="RecursivePattern" char="<" char1="("/>- <Detect2Chars attribute="Operator" context="PatternAssertion" char="<" char1="?"/>- <Detect2Chars attribute="Operator" context="PatternAssertion" char="<" char1="!"/>- <Detect2Chars attribute="Operator" context="#stay" char="<" char1="<"/>- <Detect2Chars attribute="Operator" context="#stay" char=">" char1=">"/>- <DetectChar attribute="Pattern Meta Character" context="RegexClass" char="<"/>- <AnyChar attribute="Pattern Quantifier" context="#stay" String="?*+%"/>- <Detect2Chars attribute="Pattern Quantifier" context="#stay" char="." char1="."/>- <AnyChar attribute="Operator" context="#stay" String="[]«»~"/>- <DetectChar attribute="Pattern Special Character" context="#stay" char="."/>- <Detect2Chars attribute="Variable" context="PatternVariable" char="$" char1="<"/>- <AnyChar attribute="Pattern Control Flow" context="#stay" String="&|^$"/>- <DetectChar attribute="Comment" context="StartComment" char="#"/>- <IncludeRules context="find_Variable"/>- <RegExpr String="[&rangealphabetic;&rangenumeric;\s]+" context="#stay" attribute="Pattern"/>- </context>-- <context name="SubPattern" attribute="Pattern" lineEndContext="#stay">- <DetectChar char=")" context="#pop" attribute="Operator"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="RecursivePattern" attribute="Variable" lineEndContext="#stay">- <Detect2Chars attribute="Operator" context="#pop" char=")" char1=">"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="PatternModifier" attribute="Pattern Modifier" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <RegExpr context="#pop" attribute="Pattern Modifier" String=":\w+"/>- <DetectChar attribute="Pattern Control Flow" context="#pop" char=":"/>- </context>-- <context name="PatternVariable" attribute="Variable" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <RegExpr String="&ident;>?" context="#pop" attribute="Variable"/>- </context>-- <context name="PatternAssertion" attribute="Normal Text" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!RegexClass">- <DetectChar attribute="Operator" context="#pop" char=">"/>- <DetectChar attribute="Operator" context="PatternAssertionCond" char="{"/>- <keyword attribute="Keyword" String="assertion" context="SubPatternAssertion"/>- </context>- <context name="SubPatternAssertion" attribute="Pattern" lineEndContext="#stay">- <DetectChar char=">" context="#pop#pop" attribute="Operator"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="PatternAssertionCond" attribute="Normal Text" lineEndContext="#stay">- <Detect2Chars attribute="Operator" context="#pop#pop" char="}" char1=">"/>- <IncludeRules context="base"/>- </context>-- <context name="PatternMetaChar" attribute="Pattern Meta Character" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!CharError">- <AnyChar attribute="Pattern Character Class" context="#pop" String="nthvsdwNTHVSDW"/>- <RegExpr String="[^&rangealphabetic;&rangenumeric;]" context="#pop" attribute="Pattern Meta Character"/>- </context>--- <!-- Pattern Character Classes -->-- <context name="RegexClass" attribute="Pattern Meta Character" lineEndContext="#stay">- <DetectSpaces/>- <AnyChar attribute="Operator" context="#stay" String="-!+()"/>- <DetectChar attribute="Pattern Meta Character" context="RegexClassRange" char="["/>- <DetectChar attribute="Pattern Unicode Property" context="RegexClassName" char=":"/>- <DetectChar attribute="Pattern Meta Character" context="#pop" char=">"/>- <DetectChar attribute="String Delimiter" context="q_RawString" char="'"/>- <DetectChar attribute="String Delimiter" context="qq_RawString" char="""/>- <DetectChar attribute="String Delimiter" context="Q_String「" char="「"/>- <DetectChar attribute="String Delimiter" context="q_String<" char="<"/>- <DetectChar attribute="String Delimiter" context="qq_String«" char="«"/>- <RegExpr attribute="String" context="#stay" String="[^-!+()?:<>'"「«]+"/>- </context>-- <context name="RegexClassName" attribute="Pattern Unicode Property" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">- <RegExpr String="\w+" context="#pop" attribute="Pattern Unicode Property"/>- <!-- auto-completion only -->- <keyword attribute="Pattern Unicode Property" context="#pop" String="unicodeGeneralCategories"/>- </context>-- <context name="RegexClassRange" attribute="Pattern Character" lineEndContext="#stay">- <DetectSpaces/>- <DetectChar char="\" context="RegexClassRangeMetaChar" attribute="Pattern Character Class"/>- <Detect2Chars char="." char1="." context="#stay" attribute="Pattern Quantifier"/>- <DetectChar attribute="Pattern Meta Character" context="#pop" char="]"/>- </context>-- <context name="RegexClassRangeMetaChar" attribute="Pattern Meta Character" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">- <DetectSpaces/>- <IncludeRules context="find_SpecialChar"/>- <IncludeRules context="PatternMetaChar"/>- </context>--- <!-- Regex Substitution -->-- <context name="RegexSubstitution" attribute="Operator" lineEndContext="#stay">- <IncludeRules context="find_RegexClosure"/>- <RegExpr String="([^\w\s])" context="RegexSubstitutionPattern" attribute="Operator" beginRegion="regex"/>- </context>-- <context name="RegexSubstitutionPattern" attribute="Pattern" lineEndContext="#stay">- <RegExpr String="(%1)" dynamic="1" context="RegexSubstitutionString" attribute="Operator" endRegion="regex"/>- <IncludeRules context="find_Pattern"/>- </context>-- <context name="RegexSubstitutionString" attribute="String" lineEndContext="#stay">- <DetectChar char="1" dynamic="1" context="#pop#pop#pop" attribute="Operator"/>- </context>--- <!-- Number -->-- <context name="Number" attribute="Decimal" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!CharErrorIfNoSep">- <RegExpr String="&int10;(?:\.&int10;(?:[eE][+-]?&int10;)?|[eE][+-]?&int10;)i?|\.&int10;(?:[eE][+-]?&int10;)?i?" context="CheckNumberError" attribute="Float"/>- <Detect2Chars char="0" char1="x" context="HexNumber" attribute="Hex"/>- <Detect2Chars char="0" char1="o" context="OctalNumber" attribute="Octal"/>- <RegExpr String="&int10;i?" context="CheckNumberError" attribute="Decimal"/>- <DetectChar char="." context="#pop" attribute="Operator"/>- </context>-- <context name="HexNumber" attribute="Hex" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop!CharErrorIfNoSep">- <RegExpr String="[a-fA-F0-9]+(?:_[a-fA-F0-9]+)*i?" context="#pop!CheckNumberError" attribute="Hex"/>- </context>-- <context name="OctalNumber" attribute="Octal" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop!CharErrorIfNoSep">- <RegExpr String="[0-7]+(?:_[0-7]+)*i?" context="#pop!CheckNumberError" attribute="Octal"/>- </context>-- <context name="BaseNumber" attribute="Decimal" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop!CharErrorIfNoSep">- <DetectChar char=">" context="#pop#pop#pop" attribute="Error"/>- <RegExpr String="&intN;\.&intN;|\.&intN;" context="#pop#pop!BaseNumberClose" attribute="Float"/>- <RegExpr String="&intN;" context="#pop#pop!BaseNumberClose" attribute="Decimal"/>- </context>- <context name="BaseNumberClose" attribute="Decimal" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop!CharErrorIfNoSep">- <DetectChar char=">" context="#pop#pop" attribute="Operator"/>- <IncludeRules context="CheckNumberError"/>- </context>-- <context name="CheckNumberError" attribute="Octal" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <RegExpr String="&alnum;+" context="#pop#pop" attribute="Error"/>- </context>--- <!-- Attribute or Key -->-- <context name="MaybeAttribute" attribute="Normal Text" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <Int context="MaybeAttribute2" attribute="Decimal"/>- <DetectChar char="!" context="#pop" attribute="Operator"/>- <RegExpr String="&ident;" context="#pop" attribute="Attribute"/>- </context>-- <context name="MaybeAttribute2" attribute="Decimal" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <DetectChar char="<" context="BaseNumber" attribute="Operator"/>- </context>--- <!-- Pod -->-- <context name="StartPod" attribute="Pod Typename" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">- <WordDetect String="begin" context="PodBegin" attribute="Pod Block"/>- <WordDetect String="for" context="PodFor" attribute="Pod Typename"/>- <keyword String="pod" context="PodTypenameValue" attribute="Pod Typename"/>- <RegExpr String="[_A-Z][-_A-Z0-9]*\b" context="PodTypenameValue" attribute="Pod Typename"/>- <RegExpr String="&ident;" context="PodTypenameValue" attribute="Pod Unknown"/>- </context>-- <context name="PodTypenameValue" attribute="Pod Typename Value" lineEndContext="PodTypenameValueNextLine" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Typename Value" context="#stay" String="&allnopodfmt;"/>- </context>-- <context name="PodTypenameValueNextLine" attribute="Pod Typename Value" lineEndContext="#stay" lineEmptyContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop">- <DetectSpaces attribute="Normal Text" context="PodTypenameValueOrEmpty"/>- <DetectChar attribute="Pod" context="#pop#pop#pop" char="=" lookAhead="true"/>- </context>-- <context name="PodTypenameValueOrEmpty" attribute="Pod Typename Value" lineEndContext="#pop#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <DetectChar attribute="Pod" context="#pop#pop#pop#pop" char="=" lookAhead="true"/>- </context>--- <!-- Pod formatting -->-- <context name="PodFormat" attribute="Pod Typename Value" lineEndContext="#stay">- <Detect2Chars char="B" char1="<" attribute="Pod Bold" context="#pop!PodFormatB"/>- <Detect2Chars char="B" char1="«" attribute="Pod Bold" context="#pop!PodFormatB2"/>- <Detect2Chars char="I" char1="<" attribute="Pod Italic" context="#pop!PodFormatI"/>- <Detect2Chars char="I" char1="«" attribute="Pod Italic" context="#pop!PodFormatI2"/>- <Detect2Chars char="L" char1="<" attribute="Pod Link" context="#pop!PodFormatL"/>- <Detect2Chars char="L" char1="«" attribute="Pod Link" context="#pop!PodFormatL2"/>- <Detect2Chars char="N" char1="<" attribute="Pod Note" context="#pop!PodFormatN"/>- <Detect2Chars char="N" char1="«" attribute="Pod Note" context="#pop!PodFormatN2"/>- <Detect2Chars char="P" char1="<" attribute="Pod Link" context="#pop!PodFormatL"/>- <Detect2Chars char="P" char1="«" attribute="Pod Link" context="#pop!PodFormatL2"/>- <Detect2Chars char="Z" char1="<" attribute="Pod Comment" context="#pop!PodFormatZ"/>- <Detect2Chars char="Z" char1="«" attribute="Pod Comment" context="#pop!PodFormatZ2"/>- <Detect2Chars char="U" char1="<" attribute="Pod Underline" context="#pop!PodFormatU"/>- <Detect2Chars char="U" char1="«" attribute="Pod Underline" context="#pop!PodFormatU2"/>- <Detect2Chars char="C" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>- <Detect2Chars char="C" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>- <Detect2Chars char="E" char1="<" attribute="Pod Unicode" context="#pop!PodFormatE"/>- <Detect2Chars char="E" char1="«" attribute="Pod Unicode" context="#pop!PodFormatE2"/>- <Detect2Chars char="K" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>- <Detect2Chars char="K" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>- <Detect2Chars char="R" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>- <Detect2Chars char="R" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>- <Detect2Chars char="T" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>- <Detect2Chars char="T" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>- <Detect2Chars char="V" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatV"/>- <Detect2Chars char="V" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatV2"/>- <Detect2Chars char="X" char1="<" attribute="Pod Indexed Terms" context="#pop!PodFormatX"/>- <Detect2Chars char="X" char1="«" attribute="Pod Indexed Terms" context="#pop!PodFormatX2"/>- <Detect2Chars char="M" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>- <Detect2Chars char="M" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>- </context>-- <context name="PodFormatB" attribute="Pod Bold" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatB1">- <DetectChar char="<" attribute="Pod Bold" context="#pop!PodFormatB3"/>- </context>- <context name="PodFormatB1" attribute="Pod Bold" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Bold" context="PodFormatB1"/>- <DetectChar char=">" attribute="Pod Bold" context="#pop"/>- </context>- <context name="PodFormatB2" attribute="Pod Bold" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Bold" context="PodFormatB2"/>- <DetectChar char="»" attribute="Pod Bold" context="#pop"/>- </context>- <context name="PodFormatB3" attribute="Pod Bold" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Bold" context="PodFormatB3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Bold" context="#pop"/>- </context>-- <context name="PodFormatE" attribute="Pod Unicode" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatE1">- <DetectChar char="<" attribute="Pod Unicode" context="#pop!PodFormatE3"/>- </context>- <context name="PodFormatE1" attribute="Pod Unicode" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Unicode" context="PodFormatE1"/>- <DetectChar char=">" attribute="Pod Unicode" context="#pop"/>- </context>- <context name="PodFormatE2" attribute="Pod Unicode" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Unicode" context="PodFormatE2"/>- <DetectChar char="»" attribute="Pod Unicode" context="#pop"/>- </context>- <context name="PodFormatE3" attribute="Pod Unicode" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Unicode" context="PodFormatE3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Unicode" context="#pop"/>- </context>-- <context name="PodFormatI" attribute="Pod Italic" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatI1">- <DetectChar char="<" attribute="Pod Italic" context="#pop!PodFormatI3"/>- </context>- <context name="PodFormatI1" attribute="Pod Italic" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Italic" context="PodFormatI1"/>- <DetectChar char=">" attribute="Pod Italic" context="#pop"/>- </context>- <context name="PodFormatI2" attribute="Pod Italic" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Italic" context="PodFormatI2"/>- <DetectChar char="»" attribute="Pod Italic" context="#pop"/>- </context>- <context name="PodFormatI3" attribute="Pod Italic" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Italic" context="PodFormatI3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Italic" context="#pop"/>- </context>-- <context name="PodFormatL" attribute="Pod Link" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatL1">- <DetectChar char="<" attribute="Pod Link" context="#pop!PodFormatL3"/>- </context>- <context name="PodFormatL1" attribute="Pod Link" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|]+|[&podfmt;](?![<«]))+"/>- <DetectChar char="|" attribute="Pod Operator" context="#stay"/>- <DetectChar char=">" attribute="Pod Link" context="#pop"/>- </context>- <context name="PodFormatL2" attribute="Pod Link" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;«»|]+|[&podfmt;](?![<«]))+"/>- <DetectChar char="|" attribute="Pod Operator" context="#stay"/>- <DetectChar char="»" attribute="Pod Link" context="#pop"/>- </context>- <context name="PodFormatL3" attribute="Pod Link" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+"/>- <DetectChar char="|" attribute="Pod Operator" context="#stay"/>- <Detect2Chars char=">" char1=">" attribute="Pod Link" context="#pop"/>- </context>-- <context name="PodFormatN" attribute="Pod Note" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatN1">- <DetectChar char="<" attribute="Pod Note" context="#pop!PodFormatN3"/>- </context>- <context name="PodFormatN1" attribute="Pod Note" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Note" context="PodFormatN1"/>- <DetectChar char=">" attribute="Pod Note" context="#pop"/>- </context>- <context name="PodFormatN2" attribute="Pod Note" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Note" context="PodFormatN2"/>- <DetectChar char="»" attribute="Pod Note" context="#pop"/>- </context>- <context name="PodFormatN3" attribute="Pod Note" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Note" context="PodFormatN3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Note" context="#pop"/>- </context>-- <context name="PodFormatU" attribute="Pod Underline" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatU1">- <DetectChar char="<" attribute="Pod Underline" context="#pop!PodFormatU3"/>- </context>- <context name="PodFormatU1" attribute="Pod Underline" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Underline" context="PodFormatU1"/>- <DetectChar char=">" attribute="Pod Underline" context="#pop"/>- </context>- <context name="PodFormatU2" attribute="Pod Underline" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Underline" context="PodFormatU2"/>- <DetectChar char="»" attribute="Pod Underline" context="#pop"/>- </context>- <context name="PodFormatU3" attribute="Pod Underline" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Underline" context="PodFormatU3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Underline" context="#pop"/>- </context>-- <context name="PodFormatV" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatV1">- <DetectChar char="<" attribute="Pod Verbatim" context="#pop!PodFormatV3"/>- </context>- <context name="PodFormatV1" attribute="Pod Verbatim" lineEndContext="#stay">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Verbatim" context="PodFormatV1"/>- <DetectChar char=">" attribute="Pod Verbatim" context="#pop"/>- </context>- <context name="PodFormatV2" attribute="Pod Verbatim" lineEndContext="#stay">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Verbatim" context="PodFormatV2"/>- <DetectChar char="»" attribute="Pod Verbatim" context="#pop"/>- </context>- <context name="PodFormatV3" attribute="Pod Verbatim" lineEndContext="#stay">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Verbatim" context="PodFormatV3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Verbatim" context="#pop"/>- </context>-- <context name="PodFormatVT" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatVT1">- <DetectChar char="<" attribute="Pod Verbatim" context="#pop!PodFormatVT3"/>- </context>- <context name="PodFormatVT1" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Verbatim" context="PodFormatVT1"/>- <DetectChar char=">" attribute="Pod Verbatim" context="#pop"/>- </context>- <context name="PodFormatVT2" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Verbatim" context="PodFormatVT2"/>- <DetectChar char="»" attribute="Pod Verbatim" context="#pop"/>- </context>- <context name="PodFormatVT3" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Verbatim" context="PodFormatVT3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Verbatim" context="#pop"/>- </context>-- <context name="PodFormatZ" attribute="Pod Comment" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatZ1">- <DetectChar char="<" attribute="Pod Comment" context="#pop!PodFormatZ3"/>- </context>- <context name="PodFormatZ1" attribute="Pod Comment" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt1;"/>- <DetectChar char="<" attribute="Pod Comment" context="PodFormatZ1"/>- <DetectChar char=">" attribute="Pod Comment" context="#pop"/>- </context>- <context name="PodFormatZ2" attribute="Pod Comment" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt2;"/>- <DetectChar char="«" attribute="Pod Comment" context="PodFormatZ2"/>- <DetectChar char="»" attribute="Pod Comment" context="#pop"/>- </context>- <context name="PodFormatZ3" attribute="Pod Comment" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt3;"/>- <Detect2Chars char="<" char1="<" attribute="Pod Comment" context="PodFormatZ3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Comment" context="#pop"/>- </context>-- <context name="PodFormatX" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!PodFormatX1">- <DetectChar char="<" attribute="Pod Indexed Terms" context="#pop!PodFormatX3"/>- </context>- <context name="PodFormatX1" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|;,]+|[&podfmt;](?![<«]))+"/>- <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>- <DetectChar char=">" attribute="Pod Indexed Terms" context="#pop"/>- </context>- <context name="PodFormatX2" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;«»|;,]+|[&podfmt;](?![<«]))+"/>- <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>- <DetectChar char="«" attribute="Pod Indexed Terms" context="PodFormatX2"/>- <DetectChar char="»" attribute="Pod Indexed Terms" context="#pop"/>- </context>- <context name="PodFormatX3" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodFormat">- <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|;,]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+"/>- <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>- <Detect2Chars char="<" char1="<" attribute="Pod Indexed Terms" context="PodFormatX3"/>- <Detect2Chars char=">" char1=">" attribute="Pod Indexed Terms" context="#pop"/>- </context>-- <!-- Pod =begin -->-- <context name="PodBegin" attribute="Pod Typename Value" lineEndContext="#pop#pop!Error">- <DetectSpaces attribute="Normal Text"/>- <WordDetect String="code" context="PodBeginCode" attribute="Pod Typename Value" beginRegion="pod"/>- <WordDetect String="comment" context="PodBeginComment" attribute="Pod Typename Value" beginRegion="pod"/>- <RegExpr String="(&ident;)" context="PodBeginTypename" attribute="Pod Typename Value" beginRegion="pod"/>- <!-- auto-completion only -->- <keyword String="podblocktypename" context="#stay" attribute="Pod Typename Value"/>- </context>-- <context name="PodBeginCode" attribute="Error" lineEndContext="PodInnerCode">- <DetectSpaces attribute="Normal Text"/>- <DetectChar char=":" context="PodBlockConfigKey" attribute="Pod Operator"/>- <DetectChar char="=" context="PodEndCode" attribute="Pod" firstNonSpace="1"/>- </context>-- <context name="PodInnerCode" attribute="Pod Verbatim" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodCode">- <RegExpr String="^\s*=end\s+code\s*$" context="#pop" attribute="Pod" column="0" lookAhead="1"/>- </context>- <context name="PodCode" attribute="Pod Verbatim" lineEndContext="#pop"/>-- <context name="PodEndCode" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">- <StringDetect String="end" context="PodEndCodeName" attribute="Pod Block" endRegion="pod"/>- </context>- <context name="PodEndCodeName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop#pop!Error">- <DetectSpaces attribute="Normal Text"/>- <StringDetect String="code" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>- </context>--- <context name="PodBeginComment" attribute="Error" lineEndContext="PodInnerComment">- <DetectSpaces attribute="Normal Text"/>- <DetectChar char="=" context="PodEndComment" attribute="Pod" firstNonSpace="1"/>- </context>-- <context name="PodInnerComment" attribute="Comment" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodComment">- <RegExpr String="^\s*=end\s+comment\s*$" context="#pop" attribute="Pod" column="0" lookAhead="1"/>- </context>- <context name="PodComment" attribute="Comment" lineEndContext="#pop"/>-- <context name="PodEndComment" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">- <StringDetect String="end" context="PodEndCommentName" attribute="Pod Block" endRegion="pod"/>- </context>- <context name="PodEndCommentName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop#pop!Error">- <DetectSpaces attribute="Normal Text"/>- <StringDetect String="comment" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>- </context>--- <context name="PodBeginTypename" attribute="Error" lineEndContext="PodInnerBlock">- <RegExpr String="^\s*=end\s+%1\b" dynamic="1" context="PodEnd" attribute="Pod" column="0" lookAhead="1"/>- <DetectSpaces attribute="Normal Text"/>- <DetectChar char=":" context="PodBlockConfigKey" attribute="Pod Operator"/>- <DetectChar char="=" context="PodEndError" attribute="Pod" firstNonSpace="1"/>- </context>-- <context name="PodInnerBlock" attribute="Pod Paragraph" lineEndContext="#stay" fallthrough="1" fallthroughContext="PodInnerBlockFormat">- <RegExpr String="^\s*=end\b" context="#pop" attribute="Pod" column="0" lookAhead="1"/>- <DetectSpaces/>- <DetectChar char="=" context="StartPod" attribute="Pod" firstNonSpace="1"/>- <RegExpr attribute="Pod Paragraph" context="#stay" String="&allnopodfmt;"/>- </context>-- <context name="PodInnerBlockFormat" attribute="Pod Paragraph" lineEndContext="#stay">- <IncludeRules context="PodFormat"/>- </context>-- <context name="PodEnd" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">- <DetectSpaces attribute="Normal Text"/>- <DetectChar char="=" context="#stay" attribute="Pod"/>- <StringDetect String="end" context="PodEndName" attribute="Pod Block" endRegion="pod"/>- </context>- <context name="PodEndName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop">- <DetectSpaces attribute="Normal Text"/>- <RegExpr String="&ident;" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>- </context>-- <context name="PodEndError" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">- <StringDetect String="end" attribute="Pod Block" context="#pop#pop#pop!Error" endRegion="pod"/>- </context>-- <!-- Pod configuration for =begin -->-- <context name="PodBlockConfigError" attribute="Error" lineEndContext="#pop#pop!PodInnerBlock"/>-- <context name="PodBlockConfigKey" attribute="Pod Key" lineEndContext="#pop!PodInnerBlock" fallthrough="1" fallthroughContext="PodBlockConfigError">- <DetectChar char="!" context="#pop!PodBlockConfigKeyName" attribute="Pod Operator"/>- <Int context="PodBlockConfigKeyIntName" attribute="Decimal"/>- <DetectIdentifier context="PodBlockConfigParam" attribute="Pod Key"/>- </context>-- <context name="PodBlockConfigKeyName" attribute="Pod Key" lineEndContext="#pop!PodTypenameValue" fallthrough="1" fallthroughContext="PodBlockConfigError">- <DetectIdentifier context="PodBlockConfigParam" attribute="Pod Key"/>- </context>-- <context name="PodBlockConfigKeyIntName" attribute="Pod Key" lineEndContext="#pop#pop!PodBlockConfigError" fallthrough="1" fallthroughContext="#pop!PodBlockConfigError">- <DetectIdentifier context="#pop#pop" attribute="Pod Key"/>- </context>-- <context name="PodBlockConfigParam" attribute="Pod Key" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop">- <DetectChar char="<" context="PodParamSequence" attribute="Pod Operator"/>- <DetectChar char="{" context="PodParamHash" attribute="Pod Operator"/>- <AnyChar String="([" context="PodParamList" attribute="Pod Operator"/>- </context>--- <!-- Pod =for -->-- <context name="PodFor" attribute="Pod Typename" lineEndContext="#pop#pop!Error" fallthrough="1" fallthroughContext="#pop#pop!Error">- <DetectSpaces attribute="Normal Text"/>- <keyword String="podtypename" context="#pop!PodConfig" attribute="Pod Typename"/>- </context>-- <!-- Pod configuration for =for -->-- <context name="PodConfigError" attribute="Error" lineEndContext="#pop#pop!PodTypenameValue"/>-- <context name="PodConfig" attribute="Normal Text" lineEndContext="#pop!PodTypenameValue" fallthrough="1" fallthroughContext="PodConfigError">- <DetectSpaces/>- <DetectChar char=":" context="PodConfigKey" attribute="Pod Operator"/>- </context>-- <context name="PodConfigKey" attribute="Pod Key" lineEndContext="#pop#pop!PodTypenameValue" fallthrough="1" fallthroughContext="#pop!PodConfigError">- <DetectChar char="!" context="#pop!PodConfigKeyName" attribute="Pod Operator"/>- <Int context="PodConfigKeyIntName" attribute="Decimal"/>- <DetectIdentifier context="PodConfigParam" attribute="Pod Key"/>- </context>-- <context name="PodConfigKeyName" attribute="Pod Key" lineEndContext="#pop#pop!PodTypenameValue" fallthrough="1" fallthroughContext="#pop!PodConfigError">- <DetectIdentifier context="PodConfigParam" attribute="Pod Key"/>- </context>-- <context name="PodConfigKeyIntName" attribute="Pod Key" lineEndContext="#pop#pop#pop!PodConfigError" fallthrough="1" fallthroughContext="#pop#pop!PodConfigError">- <DetectIdentifier context="#pop#pop" attribute="Pod Key"/>- </context>-- <context name="PodConfigParam" attribute="Pod Key" lineEndContext="#pop#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <DetectChar char="<" context="PodParamSequence" attribute="Pod Operator"/>- <DetectChar char="{" context="PodParamHash" attribute="Pod Operator"/>- <AnyChar String="([" context="PodParamList" attribute="Pod Operator"/>- </context>-- <context name="PodParamSequence" attribute="Pod Config" lineEndContext="#stay">- <DetectSpaces/>- <keyword String="podvalue" context="#stay" attribute="Data Type"/>- <DetectIdentifier/>- <AnyChar String="0123456789." context="Number" lookAhead="1"/>- <DetectChar char=">" context="#pop#pop#pop" attribute="Pod Operator"/>- <DetectChar char="'" context="PodSQString" attribute="String"/>- <DetectChar char=""" context="PodQString" attribute="String"/>- </context>-- <context name="PodParamHash" attribute="Pod Config" lineEndContext="#stay">- <DetectSpaces/>- <Detect2Chars char="=" char1=">" context="#stay" attribute="Pod Operator"/>- <DetectChar char="," context="#stay" attribute="Pod Operator"/>- <keyword String="podvalue" context="#stay" attribute="Data Type"/>- <DetectIdentifier/>- <DetectChar char="'" context="PodSQString" attribute="String"/>- <DetectChar char=""" context="PodQString" attribute="String"/>- <AnyChar String="0123456789." context="Number" lookAhead="1"/>- <DetectChar char="}" context="#pop#pop#pop" attribute="Pod Operator"/>- </context>-- <context name="PodParamList" attribute="Pod Config" lineEndContext="#stay">- <DetectSpaces/>- <DetectChar char="," context="#stay" attribute="Pod Operator"/>- <keyword String="podvalue" context="#stay" attribute="Data Type"/>- <DetectIdentifier/>- <DetectChar char="'" context="PodSQString" attribute="String"/>- <DetectChar char=""" context="PodQString" attribute="String"/>- <AnyChar String="0123456789." context="Number" lookAhead="1"/>- <AnyChar String="])" context="#pop#pop#pop" attribute="Pod Operator"/>- </context>--- <!-- Pod String -->-- <context name="PodSQString" attribute="String" lineEndContext="#stay">- <Detect2Chars char="\" char1="'" context="#stay" attribute="String Special Character"/>- <DetectChar char="'" context="#pop" attribute="String Delimiter"/>- <RegExpr String="(?:[^\\']*|\\[^']|\\$)*" context="#stay" attribute="String"/>- </context>-- <context name="PodQString" attribute="String" lineEndContext="#stay">- <DetectChar char=""" context="#pop" attribute="String Delimiter"/>- <DetectChar char="\" context="SpecialChar" attribute="String Special Character"/>- <RegExpr String="(?:[^"\\]*|\\$)*" context="#stay" attribute="String"/>- </context>-- <context name="find_SpecialChar" attribute="String Special Character" lineEndContext="#stay">- <Detect2Chars char="c" char1="[" context="UnicodeCodepoint" attribute="String Special Character"/>- <DetectChar char="c" context="UnicodeCodepointDecimal" attribute="String Special Character"/>- <DetectChar char="x" context="HexaString" attribute="String Special Character"/>- <DetectChar char="o" context="OctalString" attribute="String Special Character"/>- </context>-- <context name="SpecialChar" attribute="String Special Character" lineEndContext="#pop">- <IncludeRules context="find_SpecialChar"/>- <RegExpr String="." context="#pop" attribute="String"/>- </context>-- <context name="UnicodeCodepoint" attribute="String Special Character" lineEndContext="#stay">- <DetectSpaces/>- <DetectIdentifier/>- <DetectChar char="]" context="#pop#pop" attribute="String Special Character"/>- <DetectChar char="," context="#stay" attribute="Separator Symbol"/>- </context>-- <context name="UnicodeCodepointDecimal" attribute="String Special Character" lineEndContext="#pop#pop">- <!-- 0 to 1114111 -->- <RegExpr String="0*(?:1(?:0\d{5}|1(?:O\d{4}|(?:1[0-3]\d{3}|4(?:0\d\d|1(?:0\d|1[01]))))))|\d{1,6}|0+" context="UnicodeCodepointDecimalCheck" attribute="String Special Character"/>- <RegExpr String="[^"]" context="#pop" attribute="Error"/>- </context>- <context name="UnicodeCodepointDecimalCheck" attribute="Error" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop">- <AnyChar String="0123456789" context="#pop#pop#pop" attribute="Error"/>- </context>-- <context name="HexaString" attribute="String Special Character" lineEndContext="#pop#pop">- <DetectChar char="[" context="HexaStringBracket" attribute="String Special Character"/>- <!-- 0 to 0x10FFFF -->- <RegExpr String="0*(?:10[0-9a-fA-F]{4}|[0-9a-fA-F]{1,5})|0+" context="HexaStringCheck" attribute="String Special Character"/>- <RegExpr String="[^"]" context="#pop#pop" attribute="Error"/>- </context>- <context name="HexaStringCheck" attribute="Error" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop">- <AnyChar String="0123456789abcdefABCDEF" context="#pop#pop#pop" attribute="Error"/>- </context>- <context name="HexaStringBracket" attribute="String Special Character" lineEndContext="#stay">- <DetectSpaces/>- <DetectChar char="]" context="#pop#pop#pop" attribute="Error"/>- <!-- 0 to 0x10FFFF -->- <RegExpr String="0*(?:10[0-9a-fA-F]{4}|[0-9a-fA-F]{1,5})|0+" context="HexaStringBracketCheck" attribute="String Special Character"/>- </context>- <context name="HexaStringBracketCheck" attribute="String Special Character" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop#pop#pop">- <DetectChar char="]" context="#pop#pop#pop#pop" attribute="String Special Character"/>- <DetectChar char="," context="#pop" attribute="Separator Symbol"/>- <RegExpr String="[^]"]" context="#stay" attribute="Error"/>- </context>-- <context name="OctalString" attribute="String Special Character" lineEndContext="#pop#pop">- <DetectChar char="[" context="OctalStringBracket" attribute="String Special Character"/>- <!-- 0 to 0o4177777 -->- <RegExpr String="0*(?:[0-3][0-7]{6}|4[01]|[0-7])[0-7]{0,5}|0+" context="OctalStringCheck" attribute="String Special Character"/>- <RegExpr String="[^"]" context="#stay" attribute="Error"/>- </context>- <context name="OctalStringCheck" attribute="Error" lineEndContext="#pop#pop#pop" fallthrough="1" fallthroughContext="#pop#pop#pop">- <AnyChar String="01234567" context="#pop#pop#pop" attribute="Error"/>- </context>- <context name="OctalStringBracket" attribute="String Special Character" lineEndContext="#stay">- <DetectChar char="]" context="#pop#pop#pop" attribute="Error"/>- <!-- 0 to 0o4177777 -->- <RegExpr String="0*(?:[0-3][0-7]{6}|4[01]|[0-7])[0-7]{0,5}|0+" context="OctalStringBracketCheck" attribute="String Special Character"/>- </context>- <context name="OctalStringBracketCheck" attribute="String Special Character" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop#pop#pop">- <DetectChar char="]" context="#pop#pop#pop#pop" attribute="String Special Character"/>- <DetectChar char="," context="#pop" attribute="Separator Symbol"/>- <RegExpr String="[^]"]" context="#stay" attribute="Error"/>- </context>--- <!-- Q String -->-- <context name="Q_String" attribute="String" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">- <DetectSpaces attribute="String"/>- <DetectChar char=":" context="#pop!Q_StringModifier" attribute="Operator"/>- <DetectChar char="(" context="#pop!Q_String(" attribute="String Delimiter"/>- <DetectChar char="[" context="#pop!Q_String[" attribute="String Delimiter"/>- <DetectChar char="{" context="#pop!Q_String{" attribute="String Delimiter"/>- <DetectChar char="「" context="#pop!Q_String「" attribute="String Delimiter"/>- <DetectChar char="<" context="#pop!Q_String<" attribute="String Delimiter"/>- <RegExpr String="([^()>」\]}'&_rangealphabetic;&rangenumeric;])" context="#pop!Q_StringAny" attribute="String Delimiter"/>- </context>-- <context name="Q_String(" attribute="String" lineEndContext="#stay">- <DetectChar char=")" context="#pop" attribute="String Delimiter"/>- <DetectChar char="(" context="Q_String(" attribute="String Delimiter"/>- <RegExpr String="[^()]*" context="#stay" attribute="String"/>- </context>-- <context name="Q_String[" attribute="String" lineEndContext="#stay">- <DetectChar char="]" context="#pop" attribute="String Delimiter"/>- <DetectChar char="[" context="Q_String[" attribute="String Delimiter"/>- <RegExpr String="[^\[\]]*" context="#stay" attribute="String"/>- </context>-- <context name="Q_String{" attribute="String" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="String Delimiter"/>- <DetectChar char="{" context="Q_String{" attribute="String Delimiter"/>- <RegExpr String="[^{}]*" context="#stay" attribute="String"/>- </context>-- <context name="Q_String「" attribute="String" lineEndContext="#stay">- <DetectChar char="」" context="#pop" attribute="String Delimiter"/>- <DetectChar char="「" context="Q_String「" attribute="String Delimiter"/>- <RegExpr String="[^「」]*" context="#stay" attribute="String"/>- </context>-- <context name="Q_String<" attribute="String" lineEndContext="#stay">- <DetectChar char=">" context="#pop" attribute="String Delimiter"/>- <DetectChar char="<" context="Q_String<" attribute="String Delimiter"/>- <RegExpr String="[^<>]*" context="#stay" attribute="String"/>- </context>-- <context name="Q_StringAny" attribute="String" lineEndContext="#stay">- <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>- <RegExpr String="[^%1]*" dynamic="1" context="#stay" attribute="String"/>- </context>-- <context name="q_Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop!q_String">- <DetectChar char=":" context="#pop#pop!q_QuotingForm2" attribute="Operator"/>- </context>-- <context name="qq_Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop!qq_String">- <DetectChar char=":" context="#pop!qq_QuotingForm" attribute="Operator"/>- </context>-- <context name="Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop!q_QuotingForm2">- <DetectChar char="q" context="#pop!q_QuotingForm" attribute="Operator"/>- <DetectChar char="'" context="q_Q_StringModifier" attribute="Operator"/>- <DetectChar char=""" context="qq_Q_StringModifier" attribute="Operator"/>- </context>-- <context name="q_QuotingForm" attribute="Operator" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!q_QuotingForm2">- <DetectChar char="q" context="#pop!qq_QuotingForm" attribute="Operator"/>- <DetectChar char=":" context="#pop!q_QuotingForm2" attribute="Operator"/>- </context>- <context name="q_QuotingForm2" attribute="Operator" lineEndContext="#pop" fallthrough="1" fallthroughContext="q_String">- <WordDetect String="heredoc" context="q_Heredoc" attribute="Operator"/>- <keyword String="quoting" context="#stay" attribute="Operator"/>- <AnyChar String="wvx:sahfb" context="#stay" attribute="Operator"/>- <!-- :closure as qq -->- <DetectChar char="c" context="#pop!qq_QuotingForm" attribute="Operator"/>- <Detect2Chars char="t" char1="o" context="q_Heredoc" attribute="Operator"/>- </context>-- <context name="qq_QuotingForm" attribute="Operator" lineEndContext="#pop" fallthrough="1" fallthroughContext="qq_String">- <WordDetect String="heredoc" context="qq_Heredoc" attribute="Operator"/>- <keyword String="quoting" context="#stay" attribute="Operator"/>- <AnyChar String="wvx:sahfcb" context="#stay" attribute="Operator"/>- <Detect2Chars char="t" char1="o" context="qq_Heredoc" attribute="Operator"/>- </context>--- <!-- q and qq Heredoc -->-- <context name="q_Heredoc" attribute="String" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <RegExpr String="/([^/]+)/" context="q_HeredocTerminator" attribute="String Delimiter"/>- </context>- <context name="q_HeredocTerminator" attribute="String" lineEndContext="#stay">- <DetectSpaces/>- <StringDetect String="%1" dynamic="1" context="#pop#pop#pop" attribute="String Delimiter" firstNonSpace="1"/>- <RegExpr String="(?:[^\\]*|\\(?![\\%1]|"ingconstruct;|$))*" dynamic="1" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="qq_Heredoc" attribute="String" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <RegExpr String="/([^/]+)/" context="qq_HeredocTerminator" attribute="String Delimiter"/>- </context>- <context name="qq_HeredocTerminator" attribute="String" lineEndContext="#stay">- <DetectSpaces/>- <StringDetect String="%1" dynamic="1" context="#pop#pop#pop" attribute="String Delimiter" firstNonSpace="1"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^\\${@&]*" context="#stay" attribute="String"/>- </context>--- <!-- q String -->-- <context name="q_String" attribute="String" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop">- <DetectSpaces/>- <DetectChar char="(" context="#pop#pop!q_String(" attribute="String Delimiter"/>- <DetectChar char="[" context="#pop#pop!q_String[" attribute="String Delimiter"/>- <DetectChar char="{" context="#pop#pop!q_String{" attribute="String Delimiter"/>- <DetectChar char="<" context="#pop#pop!q_String<" attribute="String Delimiter"/>- <RegExpr String="([^a-zA-Z0-9])" context="#pop#pop!q_StringAny" attribute="String Delimiter"/>- </context>-- <context name="q_String(" attribute="String" lineEndContext="#stay">- <DetectChar char=")" context="#pop" attribute="String Delimiter"/>- <DetectChar char="(" context="q_String(" attribute="String Delimiter"/>- <Detect2Chars char="\" char1="(" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1=")" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^()\\]*|\\(?![()\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="q_String[" attribute="String" lineEndContext="#stay">- <DetectChar char="]" context="#pop" attribute="String Delimiter"/>- <DetectChar char="[" context="q_String[" attribute="String Delimiter"/>- <Detect2Chars char="\" char1="[" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="]" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^\[\]\\]*|\\(?![\[\]\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="q_String{" attribute="String" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="String Delimiter"/>- <DetectChar char="{" context="q_String{" attribute="String Delimiter"/>- <Detect2Chars char="\" char1="{" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="}" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^{}\\]*|\\(?![{}\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="q_String<" attribute="String" lineEndContext="#stay">- <DetectChar char=">" context="#pop" attribute="String Delimiter"/>- <DetectChar char="<" context="q_String<" attribute="String Delimiter"/>- <Detect2Chars char="\" char1="<" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1=">" context="#stay" attribute="String Special Character"/>- <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^<>\\]*|\\(?![<>\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="q_StringAny" attribute="String" lineEndContext="#stay">- <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>- <StringDetect String="\%1" dynamic="1" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^\\%1]*|\\(?![\\%1]|"ingconstruct;|$))*" dynamic="1" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <context name="q_RawString" attribute="String" lineEndContext="#stay">- <DetectChar char="'" context="#pop" attribute="String Delimiter"/>- <Detect2Chars char="\" char1="'" context="#stay" attribute="String Special Character"/>- <RegExpr String="(?:[^\\']*|\\(?![\\']|"ingconstruct;|$))*" context="#stay" attribute="String"/>- <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>- </context>-- <!-- qq String -->-- <context name="qq_String" attribute="String" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop#pop">- <DetectSpaces/>- <DetectChar char="(" context="#pop#pop!qq_String(" attribute="String Delimiter"/>- <DetectChar char="[" context="#pop#pop!qq_String[" attribute="String Delimiter"/>- <DetectChar char="{" context="#pop#pop!qq_String{" attribute="String Delimiter"/>- <DetectChar char="<" context="#pop#pop!qq_String<" attribute="String Delimiter"/>- <RegExpr String="([^a-zA-Z0-9])" context="#pop#pop!qq_StringAny" attribute="String Delimiter"/>- </context>-- <context name="qq_String(" attribute="String" lineEndContext="#stay">- <DetectChar char=")" context="#pop" attribute="String Delimiter"/>- <DetectChar char="(" context="qq_String(" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^()\\${@&]*" context="#stay" attribute="String"/>- </context>-- <context name="qq_String[" attribute="String" lineEndContext="#stay">- <DetectChar char="]" context="#pop" attribute="String Delimiter"/>- <DetectChar char="[" context="qq_String[" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^\[\]\\${@&]*" context="#stay" attribute="String"/>- </context>-- <context name="qq_String{" attribute="String" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="String Delimiter"/>- <DetectChar char="{" context="qq_String{" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^{}\\$@&]*" context="#stay" attribute="String"/>- </context>-- <context name="qq_String<" attribute="String" lineEndContext="#stay">- <DetectChar char=">" context="#pop" attribute="String Delimiter"/>- <DetectChar char="<" context="qq_String<" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^<>\\${@&]*" context="#stay" attribute="String"/>- </context>-- <context name="qq_String«" attribute="String" lineEndContext="#stay">- <DetectChar char="»" context="#pop" attribute="String Delimiter"/>- <DetectChar char="«" context="qq_String«" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^«»\\${@&]*" context="#stay" attribute="String"/>- </context>-- <context name="qq_String<<" attribute="String" lineEndContext="#stay">- <Detect2Chars char=">" char1=">" context="#pop" attribute="String Delimiter"/>- <Detect2Chars char="<" char1="<" context="qq_String<<" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="([^<>\\${@&]*|<(?!<)|>(?!>))" context="#stay" attribute="String"/>- </context>-- <context name="qq_StringAny" attribute="String" lineEndContext="#stay">- <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>- <StringDetect String="\%1" dynamic="1" context="#stay" attribute="String Special Character"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^%1\\${@&]*" dynamic="1" context="#stay" attribute="String"/>- </context>-- <context name="qq_RawString" attribute="String" lineEndContext="#stay">- <DetectChar char=""" context="#pop" attribute="String Delimiter"/>- <IncludeRules context="find_qq_StringCommon"/>- <RegExpr String="[^\\"${@&]*" context="#stay" attribute="String"/>- </context>-- <context name="find_qq_StringCommon" attribute="String" lineEndContext="#stay">- <DetectChar char="\" context="qq_StringEscape" attribute="Operator" lookAhead="1"/>- <DetectChar char="{" context="qq_Interpolation" attribute="String (interpolated)"/>- <DetectChar char="$" context="qq_StringMaybeVar$" attribute="String" lookAhead="1"/>- <AnyChar String="@%" context="qq_StringMaybeVar" attribute="String" lookAhead="1"/>- <DetectChar char="&" context="qq_StringSigil" attribute="String" lookAhead="1"/>- </context>-- <context name="qq_StringEscape" attribute="String Special Character" lineEndContext="#pop">- <Detect2Chars char="\" char1="q" context="#pop!q_QuotingForm" attribute="Operator"/>- <Detect2Chars char="\" char1="x" context="HexaString" attribute="String Special Character"/>- <StringDetect String="\c[" context="UnicodeCodepoint" attribute="String Special Character"/>- <Detect2Chars char="\" char1="c" context="UnicodeCodepointDecimal" attribute="String Special Character"/>- <Detect2Chars char="\" char1="o" context="OctalString" attribute="String Special Character"/>- <RegExpr String="\\.?" context="#pop" attribute="String Special Character"/>- </context>-- <context name="qq_Interpolation" attribute="String (interpolated)" lineEndContext="#stay">- <DetectChar char="}" context="#pop" attribute="String (interpolated)"/>- <IncludeRules context="base"/>- </context>-- <context name="qq_StringSigil" attribute="Function" lineEndContext="#stay">- <RegExpr String="&&ident;\(" context="#pop!FunctionParameters" attribute="Function"/>- <DetectChar char="&" context="#pop" attribute="String"/>- </context>-- <context name="qq_StringMaybeVar$" attribute="String" lineEndContext="#stay">- <RegExpr String="\$(?=[&twigils;]?&prefixdollarvarname;)" context="qq_InterpolationVar" attribute="Variable"/>- <DetectChar char="$" context="#pop" attribute="String"/>- </context>-- <context name="qq_StringMaybeVar" attribute="String" lineEndContext="#stay">- <RegExpr String="@\(\)|[%@]\$/|[@%]&ident;" context="qq_Interpolation1" attribute="Variable"/>- <AnyChar String="@%" context="#pop" attribute="String"/>- </context>-- <context name="qq_InterpolationVar" attribute="String" lineEndContext="#stay">- <AnyChar String="&twigils;" context="#stay" attribute="Twigil"/>- <RegExpr String="&dollarvarname;" context="#pop!qq_Interpolation1" attribute="Variable"/>- </context>-- <context name="qq_Interpolation1" attribute="String" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop#pop">- <DetectChar char="[" context="qq_InterpolationIndex" attribute="Function"/>- <DetectChar char="." context="qq_InterpolationFunction" attribute="Function" lookAhead="1"/>- </context>-- <context name="qq_InterpolationIndex" attribute="String" lineEndContext="#stay">- <DetectChar char="]" context="#pop#pop#pop" attribute="Function"/>- <IncludeRules context="base"/>- </context>-- <context name="qq_InterpolationFunction" attribute="String" lineEndContext="#stay">- <RegExpr String="(?:\.&ident;)*\.&ident;\(" context="#pop#pop#pop!FunctionParameters" attribute="Function"/>- <DetectChar char="." context="#pop#pop#pop" attribute="String"/>- </context>-- <context name="FunctionParameters" attribute="String" lineEndContext="#stay">- <DetectChar char=")" context="#pop" attribute="Function"/>- <DetectChar char="(" context="FunctionParameters" attribute="Function"/>- <IncludeRules context="base"/>- </context>--- <!-- Comment -->-- <context name="StartComment" attribute="Comment" lineEndContext="#pop" fallthrough="1" fallthroughContext="SingleLineComment">- <DetectChar attribute="Comment" context="MultilineComment" char="`"/>- <AnyChar attribute="Pod Operator" context="MultilineComment" String="=|"/>- </context>-- <context name="MultilineComment" attribute="Comment" lineEndContext="#pop#pop" fallthrough="1" fallthroughContext="#pop!SingleLineComment">- <!-- TODO a new rule is needed to find the corresponding closures -->- <StringDetect attribute="Comment" context="#pop#pop!MultilineComment(((" String="(((" beginRegion="comment"/>- <StringDetect attribute="Comment" context="#pop#pop!MultilineComment[[[" String="[[[" beginRegion="comment"/>- <StringDetect attribute="Comment" context="#pop#pop!MultilineComment{{{" String="{{{" beginRegion="comment"/>- <StringDetect attribute="Comment" context="#pop#pop!MultilineComment«««" String="«««" beginRegion="comment"/>- <StringDetect attribute="Comment" context="#pop#pop!MultilineComment<<<" String="<<<" beginRegion="comment"/>- <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment((" char="(" char1="(" beginRegion="comment"/>- <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment[[" char="[" char1="[" beginRegion="comment"/>- <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment{{" char="{" char1="{" beginRegion="comment"/>- <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment««" char="«" char1="«" beginRegion="comment"/>- <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment<<" char="<" char1="<" beginRegion="comment"/>- <DetectChar attribute="Comment" context="#pop#pop!MultilineComment(" char="(" beginRegion="comment"/>- <DetectChar attribute="Comment" context="#pop#pop!MultilineComment[" char="[" beginRegion="comment"/>- <DetectChar attribute="Comment" context="#pop#pop!MultilineComment{" char="{" beginRegion="comment"/>- <DetectChar attribute="Comment" context="#pop#pop!MultilineComment«" char="«" beginRegion="comment"/>- <DetectChar attribute="Comment" context="#pop#pop!MultilineComment<" char="<" beginRegion="comment"/>- <!-- etc -->- </context>-- <context name="MultilineComment(((" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <StringDetect String=")))" attribute="Comment" context="#pop" endRegion="comment"/>- <StringDetect String="(((" attribute="Comment" context="MultilineComment(((" beginRegion="comment"/>- </context>- <context name="MultilineComment[[[" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <StringDetect String="]]]" attribute="Comment" context="#pop" endRegion="comment"/>- <StringDetect String="[[[" attribute="Comment" context="MultilineComment[[[" beginRegion="comment"/>- </context>- <context name="MultilineComment{{{" attribute="Comment" lineEndContext="#stay">- <StringDetect String="}}}" attribute="Comment" context="#pop" endRegion="comment"/>- <StringDetect String="{{{" attribute="Comment" context="MultilineComment{{{" beginRegion="comment"/>- <IncludeRules context="SingleLineComment"/>- </context>- <context name="MultilineComment«««" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <StringDetect String="»»»" attribute="Comment" context="#pop" endRegion="comment"/>- <StringDetect String="«««" attribute="Comment" context="MultilineComment«««" beginRegion="comment"/>- </context>- <context name="MultilineComment<<<" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <StringDetect String=">>>" attribute="Comment" context="#pop" endRegion="comment"/>- <StringDetect String="<<<" attribute="Comment" context="MultilineComment<<<" beginRegion="comment"/>- </context>-- <context name="MultilineComment((" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <Detect2Chars char=")" char1=")" attribute="Comment" context="#pop" endRegion="comment"/>- <Detect2Chars char="(" char1="(" attribute="Comment" context="MultilineComment((" beginRegion="comment"/>- </context>- <context name="MultilineComment[[" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <Detect2Chars char="]" char1="]" attribute="Comment" context="#pop" endRegion="comment"/>- <Detect2Chars char="[" char1="[" attribute="Comment" context="MultilineComment[[" beginRegion="comment"/>- </context>- <context name="MultilineComment{{" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <Detect2Chars char="}" char1="}" attribute="Comment" context="#pop" endRegion="comment"/>- <Detect2Chars char="{" char1="{" attribute="Comment" context="MultilineComment{{" beginRegion="comment"/>- </context>- <context name="MultilineComment««" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <Detect2Chars char="»" char1="»" attribute="Comment" context="#pop" endRegion="comment"/>- <Detect2Chars char="«" char1="«" attribute="Comment" context="MultilineComment««" beginRegion="comment"/>- </context>- <context name="MultilineComment<<" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <Detect2Chars char=">" char1=">" attribute="Comment" context="#pop" endRegion="comment"/>- <Detect2Chars char="<" char1="<" attribute="Comment" context="MultilineComment<<" beginRegion="comment"/>- </context>-- <context name="MultilineComment(" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <DetectChar char=")" attribute="Comment" context="#pop" endRegion="comment"/>- <DetectChar char="(" attribute="Comment" context="MultilineComment(" beginRegion="comment"/>- </context>- <context name="MultilineComment[" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <DetectChar char="]" attribute="Comment" context="#pop" endRegion="comment"/>- <DetectChar char="[" attribute="Comment" context="MultilineComment[" beginRegion="comment"/>- </context>- <context name="MultilineComment{" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <DetectChar char="}" attribute="Comment" context="#pop" endRegion="comment"/>- <DetectChar char="{" attribute="Comment" context="MultilineComment{" beginRegion="comment"/>- </context>- <context name="MultilineComment«" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <DetectChar char="»" attribute="Comment" context="#pop" endRegion="comment"/>- <DetectChar char="«" attribute="Comment" context="MultilineComment«" beginRegion="comment"/>- </context>- <context name="MultilineComment<" attribute="Comment" lineEndContext="#stay">- <IncludeRules context="SingleLineComment"/>- <DetectChar char=">" attribute="Comment" context="#pop" endRegion="comment"/>- <DetectChar char="<" attribute="Comment" context="MultilineComment<" beginRegion="comment"/>- </context>-- <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop#pop">- <DetectSpaces/>- <IncludeRules context="##Comments"/>- <DetectIdentifier/>- </context>--- <!-- Error -->-- <context name="Error" attribute="Error" lineEndContext="#pop"/>-- <context name="CharErrorIfNoSep" attribute="Error" lineEndContext="#pop">- <RegExpr String="[^;)]" context="#pop" attribute="Error"/>- </context>-- <context name="CharError" attribute="Error" lineEndContext="#pop">- <RegExpr String="." context="#pop" attribute="Error"/>- </context>-- </contexts>-- <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal"/>- <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Keyword Value" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>- <itemData name="Twigil" defStyleNum="dsAttribute" spellChecking="false"/>- <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>- <itemData name="Variable Storage" defStyleNum="dsKeyword" spellChecking="false" bold="1"/>- <itemData name="Property" defStyleNum="dsBuiltIn" spellChecking="false" italic="1"/>- <itemData name="Declare Routine" defStyleNum="dsBuiltIn" spellChecking="false"/>- <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Operator" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Separator Symbol" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>- <itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="false"/>- <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>- <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>- <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>- <itemData name="String" defStyleNum="dsString"/>- <itemData name="String Delimiter" defStyleNum="dsChar" spellChecking="false"/>- <itemData name="String (interpolated)" defStyleNum="dsString"/>- <itemData name="String Special Character" defStyleNum="dsChar"/>- <itemData name="Pattern" defStyleNum="dsOthers" spellChecking="false"/>- <itemData name="Pattern Meta Character" defStyleNum="dsChar" spellChecking="false"/>- <itemData name="Pattern Character Class" defStyleNum="dsBaseN" spellChecking="false"/>- <itemData name="Pattern Unicode Property" defStyleNum="dsBaseN" spellChecking="false"/>- <itemData name="Pattern Character" defStyleNum="dsChar" spellChecking="false"/>- <itemData name="Pattern Modifier" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Pattern Quantifier" defStyleNum="dsControlFlow" spellChecking="false"/>- <itemData name="Pattern Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>- <itemData name="Pattern Special Character" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <!ENTITY rangealnum "_\p{L}\p{N}">+ <!ENTITY _alnum "_\p{L}\p{N}">+ <!ENTITY alnum "[&_alnum;]">+ <!ENTITY _ident "&alnum;*+(?:[-']&alnum;*+)*+">+ <!ENTITY ident "(?:[_\p{L}]&_ident;)">+ <!ENTITY datatype "(?:[_\p{Lu}\p{Lt}]&_ident;)">++ <!-- 0 to 0x10FFFF -->+ <!ENTITY unicode_hex_point "(?:0*+(?:10[0-9a-fA-F]{4}|[0-9a-fA-F]{1,5}+)|0++)">+ <!-- 0 to 1114111 -->+ <!ENTITY unicode_dec_point "(?:0*+(?:1(?:0[0-9]{5}|1(?:0[0-9]{4}|(?:1[0-3][0-9]{3}|4(?:0[0-9]{2}|1(?:0[0-9]|1[01]))))))|[0-9]{1,6}+|0++)">+ <!-- 0 to 0o4177777 -->+ <!ENTITY unicode_oct_point "(?:0*+(?:[0-3][0-7]{6}|4[01]|[0-7])[0-7]{0,5}+|0++)">++ <!ENTITY prefixdollarvarname "(?:[_\p{L}0-9/!]|\(\))">+ <!ENTITY dollarvarname "(?:&ident;|[0-9]+|[/!]|\(\))">+ <!ENTITY twigils "*?!.^:=~">++ <!ENTITY twigil_variable "[%&](?=[?*][_\p{L}])|[$@](?=[&twigils;][_\p{L}])">+ <!ENTITY variable "[%@]?\$/|\$!|\$[0-9]+|[\\@%&$]&ident;">++ <!ENTITY podfmt "BCEIKLMNPRTUVXZ">+ <!ENTITY allnopodfmt "(?:[^&podfmt;]+|[&podfmt;](?![<«]))+">+ <!ENTITY allnopodfmt1 "(?:[^&podfmt;<>]+|[&podfmt;](<(?:<*(?=<))|(?![<«])))+">+ <!ENTITY allnopodfmt2 "(?:[^&podfmt;«»]+|[&podfmt;](?![<«]))+">+ <!ENTITY allnopodfmt3 "(?:[^&podfmt;<>]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+">++ <!ENTITY quotingform_q "(?:q?(?::?[xsahfcb]|:?ww?|:(?:v|exec|words|quotewords|scalar|array|hash|function|closure|backslash|to|heredoc)|)(?::[xsahfcbv]|ww?|exec|words|quotewords|scalar|array|hash|function|closure|backslash|to|heredoc)*)">+ <!ENTITY quotingform_q_assert "(?:\s+(?=\()|\s*(?=[^()>」\]}a-zA-Z0-9]|$))">+ <!ENTITY quotingconstruct "q"ingform_q;"ingform_q_assert;">++ <!ENTITY int10 "(?:[0-9]++(?:_[0-9]++)*+)">+ <!ENTITY exp "(?:[eE][+-]?&int10;)">+ <!ENTITY intN "(?:[0-9a-zA-Z]++(?:_[0-9a-zA-Z]++)*+)">++ <!-- https://docs.raku.org/language/operators -->++ <!--+ 42.&f;+ ~~ access+ expr.&?BLOCK+ ~ access+ ~~~~~~~~ variable+ -->+ <!ENTITY method_ops "\.([=^?+*:]|&(?![?][_\p{L}]))?">++ <!ENTITY postfix_ops "⚛?(\+\+|\-\-)">++ <!ENTITY prefix_unary_ops "(\+\+⚛?|\-\-⚛?|//|[+~?]\^|[-+~|?!^⚛]|\b(not|so)\b)">++ <!ENTITY _infix_simple_ops "\*\*|%%|[+~][&<>|^]|\?[&^|]|=>|==>|<==|::?=|//|\^\^|\([-+&.|]\)|\^?…\^?|\^?\.\.\.\^?|[-+*/%~∘&∩⊍|∪⊎^⊖=]|\b(div|mod|gcd|lcm|xx?|min|max|minmax|andthen|notandthen|orelse|o)\b">+ <!ENTITY _infix_chaining_ops "\((elem|cont|[=<>]=|[<>])\)|\.\.[\^]?|\^\.\.\^?|<=>|===|=:=|=~=|~~|[=<>]=|[⩵≠≤≥⩶∈∉≡≢∋∌⊂⊄⊆⊈⊃⊅⊇⊉]|<(?!<)|>(?!>)|&&|\|\||\b(eq|ne|gt|ge|lt|le|before|after|eqv|and|or|xor)\b">+ <!-- "does" is an operator, but also a trait (separate treatment) -->+ <!ENTITY _infix_structural "\b(but|cmp|coll|unicmp|leg)\b">+ <!ENTITY _infix_other_ops "\^fff?\b|\bfff?\^|\bfff?\b|!!|\?\?">+ <!ENTITY _infix_ops1 "(\b[RXZS]+)?((&_infix_simple_ops;)=?|⚛[-+]?=|\\(?=\s|$)|&_infix_structural;)">+ <!ENTITY _infix_ops2 "\b[RXZS]+does">+ <!ENTITY _infix_ops3 "((\b[RXZS]|!)[RXZS!]*+)?(&_infix_chaining_ops;|=)|[XZ]+">+ <!ENTITY _infix_ops "&_infix_ops1;|&_infix_ops2;|&_infix_ops3;">+ <!ENTITY infix_ops "(&_infix_ops;|&_infix_other_ops;|->)">++ <!ENTITY list_ops "!!!|\?\?\?|\.\.\.">++ <!-- <!ENTITY regadverb "(?!\()\s*(?::\w+\s*)*(?=[^\w\s])"> -->+ <!ENTITY regadverb "(?!\()\s*(?=[^\p{L}\p{N}\s])">+]>+<language name="Raku" version="9" kateversion="5.62" section="Scripts" extensions="*.raku;*.rakumod;*.rakudoc;*.rakutest;*.pl6;*.PL6;*.p6;*.pm6;*.pod6" priority="6" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">+ <highlighting>++ <!-- https://docs.raku.org/routines -->++ <list name="pod">+ <item>begin</item>+ <item>end</item>+ <item>finish</item>+ <item>for</item>+ <include>podtypename</include>+ </list>++ <list name="podblocktypename">+ <item>pod</item>+ <include>podtypename</include>+ </list>++ <list name="pod values">+ <item>True</item>+ <item>False</item>+ </list>++ <list name="podtypename">+ <item>head1</item>+ <item>head2</item>+ <item>head3</item>+ <item>head4</item>+ <item>head5</item>+ <item>head6</item>+ <item>item</item>+ <item>item1</item>+ <item>item2</item>+ <item>item3</item>+ <item>item4</item>+ <item>item5</item>+ <item>item6</item>+ <item>para</item>+ <item>code</item>+ <item>defn</item>+ <item>comment</item>+ <item>table</item>+ <item>input</item>+ <item>output</item>+ </list>++ <list name="quoting">+ <item>exec</item>+ <item>words</item>+ <item>quotewords</item>+ <item>scalar</item>+ <item>array</item>+ <item>hash</item>+ <item>function</item>+ <item>closure</item>+ <item>backslash</item>+ <item>heredoc</item>+ <item>val</item>+ </list>++ <list name="declare routine">+ <item>macro</item>+ <item>sub</item>+ <item>submethod</item>+ <item>method</item>+ <item>multi</item>+ <item>proto</item>+ <item>only</item>+ <item>category</item>+ </list>++ <!-- https://docs.raku.org/syntax/token -->+ <list name="regex keywords">+ <item>rule</item>+ <item>token</item>+ <item>regex</item>+ </list>++ <list name="values">+ <include>pod values</include>+ <item>self</item>+ </list>++ <list name="variable storages">+ <item>my</item>+ <item>our</item>+ <item>has</item>+ <item>state</item>+ <item>anon</item>+ <item>augment</item>+ <item>supersede</item>+ <item>let</item>+ <item>temp</item>+ <item>constant</item>+ </list>++ <!-- https://docs.raku.org/language/control -->+ <list name="control flow">+ <!-- conditional -->+ <item>if</item>+ <item>else</item>+ <item>elsif</item>+ <item>unless</item>+ <item>when</item>+ <item>with</item>+ <item>orwith</item>+ <item>without</item>+ <item>given</item>+ <item>default</item>+ <!-- repeat -->+ <item>for</item>+ <item>loop</item>+ <item>repeat</item>+ <item>while</item>+ <item>until</item>+ <!-- control flow -->+ <item>once</item>+ <item>take</item>+ <item>next</item>+ <item>last</item>+ <item>redo</item>+ <item>return</item>+ <item>return-rw</item>+ <item>exit</item>+ <item>goto</item>+ <!-- exception -->+ <item>die</item>+ <item>fail</item>+ <item>try</item>+ <item>warn</item>+ <!-- concurrency -->+ <item>react</item>+ <item>gather</item>+ <item>proceed</item>+ <item>succeed</item>+ <item>whenever</item>+ <item>supply</item>+ <!-- asynchronous -->+ <item>async</item>+ <item>await</item>+ <item>start</item>+ <!-- phasers -->+ <item>BEGIN</item>+ <item>CHECK</item>+ <item>QUIT</item>+ <item>CLOSE</item>+ <item>INIT</item>+ <item>FIRST</item>+ <item>ENTER</item>+ <item>LEAVE</item>+ <item>KEEP</item>+ <item>UNDO</item>+ <item>NEXT</item>+ <item>LAST</item>+ <item>END</item>+ <item>CATCH</item>+ <item>CONTROL</item>+ </list>++ <list name="keywords">+ <item>do</item>+ <item>no</item>+ <item>use</item>+ <item>require</item>+ <!-- typeConstraint -->+ <item>as</item>+ <item>does</item>+ <item>handles</item>+ <item>is</item>+ <item>of</item>+ <item>trusts</item>+ <item>where</item>+ <!-- module -->+ <item>module</item>+ <item>class</item>+ <item>role</item>+ <item>package</item>+ <item>enum</item>+ <item>grammar</item>+ <item>slang</item>+ <item>subset</item>+ <!-- phasers -->+ <item>PRE</item>+ <item>POST</item>+ <item>COMPOSE</item>+ <item>DOC</item>+ </list>++ <list name="properties">+ <item>DEPRECATED</item>+ <item>assoc</item>+ <item>binary</item>+ <item>built</item>+ <item>cached</item>+ <item>copy</item>+ <item>deep</item>+ <item>default</item>+ <item>defequiv</item>+ <item>dynamic</item>+ <item>equiv</item>+ <item>export</item>+ <item>hidden-from-backtrace</item>+ <item>inline</item>+ <item>irs</item>+ <item>looser</item>+ <item>ofs</item>+ <item>ors</item>+ <item>parsed</item>+ <item>prec</item>+ <item>pure</item>+ <item>raw</item>+ <item>readonly</item>+ <item>ref</item>+ <item>reparsed</item>+ <item>required</item>+ <item>rw</item>+ <item>test-assertion</item>+ <item>tighter</item>+ <item>unary</item>+ <item>will</item>+ </list>++ <list name="number">+ <item>NaN</item>+ <item>Inf</item>+ </list>++ <list name="types">+ <item>Any</item>+ <item>Array</item>+ <item>Associative</item>+ <item>Bag</item>+ <item>Blob</item>+ <item>Block</item>+ <item>Bool</item>+ <item>Buf</item>+ <item>Callable</item>+ <item>Capture</item>+ <item>Char</item>+ <item>Class</item>+ <item>Code</item>+ <item>Complex</item>+ <item>Cool</item>+ <item>Exception</item>+ <item>Failure</item>+ <item>False</item>+ <item>Grammar</item>+ <item>Hash</item>+ <item>IO</item>+ <item>Int</item>+ <item>Junction</item>+ <item>Bag</item>+ <item>List</item>+ <item>Macro</item>+ <item>Match</item>+ <item>Method</item>+ <item>Mu</item>+ <item>Num</item>+ <item>Numeric</item>+ <item>Order</item>+ <item>Pair</item>+ <item>Positional</item>+ <item>Proxy</item>+ <item>Range</item>+ <item>Rat</item>+ <item>Rational</item>+ <item>Real</item>+ <item>Regex</item>+ <item>Routine</item>+ <item>Scalar</item>+ <item>Seq</item>+ <item>Set</item>+ <item>Signature</item>+ <item>Str</item>+ <item>Sub</item>+ <item>Submethod</item>+ <item>True</item>+ <item>UInt</item>+ <item>Version</item>+ <item>Whatever</item>+ <item>buf8</item>+ <item>buf16</item>+ <item>buf32</item>+ <item>buf64</item>+ <item>int</item>+ <item>int8</item>+ <item>int16</item>+ <item>int32</item>+ <item>int64</item>+ <item>num</item>+ <item>uint</item>+ <item>uint8</item>+ <item>uint16</item>+ <item>uint32</item>+ <item>uint64</item>+ <item>uint</item>+ <item>utf8</item>+ <item>utf16</item>+ <item>utf32</item>+ </list>++ <list name="function operators">+ <item>print</item>+ <item>push</item>+ <item>say</item>+ <item>map</item>+ <item>substr</item>+ <item>die</item>+ <item>any</item>+ </list>++ <list name="operators">+ <item>X</item>+ <item>gcd</item>+ <item>ge</item>+ <item>gt</item>+ <item>lcm</item>+ <item>le</item>+ <item>leg</item>+ <item>lt</item>+ <item>max</item>+ <item>min</item>+ <item>minmax</item>+ <item>mod</item>+ <item>ne</item>+ <item>not</item>+ <item>notandthen</item>+ <item>o</item>+ <item>or</item>+ <item>orelse</item>+ <item>so</item>+ <item>unicmp</item>+ <item>x</item>+ <item>xor</item>+ <item>xx</item>+ <item>Z</item>+ <item>and</item>+ <item>andthen</item>+ <item>but</item>+ <item>cmp</item>+ <item>coll</item>+ <item>div</item>+ <item>does</item>+ <item>eq</item>+ <item>eqv</item>+ <item>ff</item>+ <item>fff</item>+ </list>++ <list name="unicode general categories">+ <item>L</item> <item>Letter</item>+ <item>LC</item> <item>Cased_Letter</item>+ <item>Lu</item> <item>Uppercase_Letter</item>+ <item>Ll</item> <item>Lowercase_Letter</item>+ <item>Lt</item> <item>Titlecase_Letter</item>+ <item>Lm</item> <item>Modifier_Letter</item>+ <item>Lo</item> <item>Other_Letter</item>+ <item>M</item> <item>Mark</item>+ <item>Mn</item> <item>Nonspacing_Mark</item>+ <item>Mc</item> <item>Spacing_Mark</item>+ <item>Me</item> <item>Enclosing_Mark</item>+ <item>N</item> <item>Number</item>+ <item>Nd</item> <item>Decimal_Number</item> <item>digit</item>+ <item>Nl</item> <item>Letter_Number</item>+ <item>No</item> <item>Other_Number</item>+ <item>P</item> <item>Punctuation</item> <item>punct</item>+ <item>Pc</item> <item>Connector_Punctuation</item>+ <item>Pd</item> <item>Dash_Punctuation</item>+ <item>Ps</item> <item>Open_Punctuation</item>+ <item>Pe</item> <item>Close_Punctuation</item>+ <item>Pi</item> <item>Initial_Punctuation</item>+ <item>Pf</item> <item>Final_Punctuation</item>+ <item>Po</item> <item>Other_Punctuation</item>+ <item>S</item> <item>Symbol</item>+ <item>Sm</item> <item>Math_Symbol</item>+ <item>Sc</item> <item>Currency_Symbol</item>+ <item>Sk</item> <item>Modifier_Symbol</item>+ <item>So</item> <item>Other_Symbol</item>+ <item>Z</item> <item>Separator</item>+ <item>Zs</item> <item>Space_Separator</item>+ <item>Zl</item> <item>Line_Separator</item>+ <item>Zp</item> <item>Paragraph_Separator</item>+ <item>C</item> <item>Other</item>+ <item>Cc</item> <item>Control</item> <item>cntrl</item>+ <item>Cf</item> <item>Format</item>+ <item>Cs</item> <item>Surrogate</item>+ <item>Co</item> <item>Private_Use</item>+ <item>Cn</item> <item>Unassigned</item>+ </list>++ <list name="assertion">+ <item>before</item>+ <item>after</item>+ </list>++ <contexts>++ <context name="Shebang" attribute="Comment" lineEndContext="#pop!base" fallthroughContext="#pop!base">+ <RegExpr attribute="Keyword" context="#pop!base" String="^#!\/.*" column="0"/>+ </context>++ <context name="base" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="term">+ <DetectSpaces/>+ <AnyChar String="{(" attribute="Symbol" beginRegion="block"/>+ <AnyChar String="])" context="postfix_op" attribute="Symbol" endRegion="block"/>+ <AnyChar String=",;" attribute="Separator Symbol"/>+ <DetectChar char="}" endRegion="block" attribute="Symbol"/>+ <DetectChar char="#" context="StartComment" attribute="Comment"/>+ <DetectChar char="=" context="StartPod" attribute="Pod" firstNonSpace="1"/>+ <IncludeRules context="find_boxed_op"/>+ <RegExpr String="&prefix_unary_ops;(\s*&prefix_unary_ops;)*+|&list_ops;" context="postfix_hyper_op" attribute="Operator"/>+ </context>++ <context name="find_boxed_op" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar char="[" context="boxed_op" attribute="Symbol" beginRegion="block"/>+ <RegExpr String="(\b[RXZS]+)?(?=\\?\[)" context="start_boxed_op" attribute="Operator"/>+ </context>+ <context name="start_boxed_op" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop!boxed_op">+ <DetectChar char="[" context="#pop!boxed_op" attribute="Symbol" beginRegion="block"/>+ <DetectChar char="\" context="boxed_op"/>+ </context>++ <context name="boxed_op" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop!boxed_op2">+ <RegExpr String="<(?![\]<])" context="boxed_op_string" attribute="String Delimiter" beginRegion="block"/>+ </context>+ <context name="boxed_op2" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <DetectChar char="]" context="#pop" attribute="Symbol" endRegion="block"/>+ <IncludeRules context="boxed_op_elem"/>+ </context>+ <!-- [<...>] -->+ <context name="boxed_op_string" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar char=">" context="#pop#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="q_String<_common"/>+ </context>++ <context name="boxed_op_elem_before" attribute="Normal Text" lineEndContext="#pop">+ <IncludeRules context="find_boxed_op"/>+ <RegExpr String="(\b[RXZS]+)?(<<|>>|«|»)" context="hyper_op_dispatch" lookAhead="1"/>+ <RegExpr String="[\\&]&ident;" attribute="Variable"/>+ </context>+ <context name="boxed_op_elem" attribute="Normal Text" lineEndContext="#pop">+ <IncludeRules context="boxed_op_elem_before"/>+ <RegExpr String="\bdoes\b|&infix_ops;" attribute="Operator"/>+ <IncludeRules context="boxed_op_elem_after"/>+ </context>+ <context name="boxed_op_elem_after" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr String="&ident;"/>+ </context>++ <context name="postfix_hyper_op" attribute="Normal Text" lineEndContext="#pop!term" fallthroughContext="#pop!term">+ <StringDetect String="<<" context="#pop!term" attribute="Hyper Operator"/>+ <StringDetect String="«" context="#pop!term" attribute="Hyper Operator"/>+ </context>++ <context name="postfix_op" attribute="Normal Text" lineEndContext="#pop!infix_op" fallthroughContext="#pop!infix_op">+ <StringDetect String="[" context="#pop" attribute="Symbol" beginRegion="block"/>+ <StringDetect String="!" context="#pop" attribute="Member Operator"/>+ <StringDetect String="<<" context="#pop" attribute="Hyper Operator"/>+ <StringDetect String="«" context="#pop" attribute="Hyper Operator"/>+ <StringDetect String="<" context="#pop!q_String<_term" attribute="String Delimiter"/>+ <RegExpr String="&postfix_ops;" attribute="Operator"/>+ </context>++ <context name="infix_op" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectSpaces/>+ <DetectChar char="#" context="StartComment" attribute="Comment"/>+ <WordDetect String="does" context="#pop" attribute="Keyword"/>+ <IncludeRules context="infix_regular_op"/>+ </context>+ <context name="infix_regular_op" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">+ <RegExpr String="&infix_ops;(\s*&prefix_unary_ops;)*+" context="#pop!infix_postfix_hyper_op" attribute="Operator"/>+ <RegExpr String="&method_ops;" context="#pop" attribute="Member Operator"/>+ <RegExpr String="(\b[RXZS]+)?(<<|>>|«|»)" context="#pop!hyper_op_dispatch" lookAhead="1"/>+ </context>++ <!-- if infix operator is followed by hyper operator, then it is a postfix operator -->+ <context name="infix_postfix_hyper_op" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <IncludeRules context="postfix_hyper_op"/>+ </context>++ <context name="hyper_op_dispatch" attribute="Normal Text" lineEndContext="#pop">+ <AnyChar String="RXZS" attribute="Operator"/>+ <StringDetect String="<<" context="#pop!hyper_op1" attribute="Hyper Operator"/>+ <StringDetect String=">>" context="#pop!hyper_op1" attribute="Hyper Operator"/>+ <AnyChar String="«»" context="#pop!hyper_op2" attribute="Hyper Operator"/>+ </context>+ <context name="hyper_op1" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <StringDetect String="<<" context="#pop" attribute="Hyper Operator"/>+ <StringDetect String=">>" context="#pop" attribute="Hyper Operator"/>+ <IncludeRules context="boxed_op_elem_before"/>+ <!-- ignore > after infix operator -->+ <RegExpr String="(\b[RXZS]+)?([+~][&>|^]?|[-=])=?|\bdoes\b|&infix_ops;" attribute="Operator"/>+ <IncludeRules context="boxed_op_elem_after"/>+ </context>+ <context name="hyper_op2" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <AnyChar String="«»" context="#pop" attribute="Hyper Operator"/>+ <IncludeRules context="boxed_op_elem"/>+ </context>++ <context name="term" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectSpaces/>+ <AnyChar String="{([])},;" context="#pop" lookAhead="1"/>+ <DetectChar char="#" context="StartComment" attribute="Comment"/>+ <DetectChar char=""" context="qq_RawString_term" attribute="String Delimiter"/>+ <DetectChar char="'" context="q_RawString_term" attribute="String Delimiter"/>+ <DetectChar char="«" context="qq_String«_term" attribute="String Delimiter"/>+ <StringDetect String="<<" context="qq_String<<_term" attribute="String Delimiter"/>+ <DetectChar char="<" context="q_String<_term" attribute="String Delimiter"/>+ <DetectChar char="「" context="Q_String「_term" attribute="String Delimiter"/>+ <DetectChar char="/" context="Pattern/" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char=":" context="MaybeAttribute" attribute="Separator Symbol"/>++ <RegExpr String="\b(?:s|S|tr|TR)®adverb;" context="RegexSubstitution" attribute="Pattern Delimiter"/>+ <RegExpr String="\b(?:rx|m)®adverb;" context="Regex" attribute="Pattern Delimiter"/>++ <RegExpr String="&twigil_variable;" context="Twigil_term" attribute="Variable"/>+ <!-- '*' -> Whatever variable: (* + *)(1, 2) == 3 -->+ <RegExpr String="&variable;|\$(<&ident;>)+|[$@](\(\))?|[*]" context="#pop!postfix_op" attribute="Variable"/>++ <RegExpr String="\bQ(\s++(?=['(_]|$)|\s*+(?=[^()>」\]}'&rangealnum;]|$))" context="Q_String" attribute="String"/>++ <RegExpr String="\.?\p{N}" context="Number" lookAhead="1" minimal="1"/>++ <RegExpr attribute="Operator" context="q_QuotingForm" String="\bq(?="ingform_q;"ingform_q_assert;)"/>++ <IncludeRules context="infix_regular_op"/>++ <RegExpr String="(?<=[.])(unless|when|with|without|given|default|for|loop|repeat|while|until|once|next|last|redo|goto|proceed|succeed|start|proceed|succeed)\b" context="#pop" attribute="Normal Text"/>++ <keyword String="control flow" context="#pop" attribute="Control Flow"/>+ <keyword String="variable storages" context="#stay" attribute="Variable Storage"/>+ <WordDetect String="is" context="Is" attribute="Keyword"/>+ <keyword String="keywords" context="#pop" attribute="Keyword"/>+ <keyword String="function operators" context="#pop" attribute="Function"/>+ <keyword String="declare routine" context="#stay" attribute="Declare Routine"/>+ <keyword String="regex keywords" context="RegexKeyword" attribute="Keyword"/>+ <keyword String="values" context="#pop!postfix_op" attribute="Keyword Value"/>+ <keyword String="number" context="#pop!postfix_op" attribute="Float"/>+ <RegExpr String="\b(u?int(8|16|32|64)?|utf(8|16|32)|buf(8|16|32|64)|num|&datatype;)\b" context="#pop" attribute="Data Type"/>+ <!-- <RegExpr String="&ident;\s*+(?=\()" context="#pop" attribute="Function"/> -->+ <RegExpr String="!?&ident;" context="#pop" attribute="Normal Text"/>++ <DetectChar char="\"/>++ <RegExpr String="." context="#pop" attribute="Normal Text"/>+ </context>+++ <context name="Is" attribute="Normal Text" lineEndContext="#pop#pop" fallthroughContext="#pop#pop!postfix_op">+ <DetectSpaces/>+ <keyword String="properties" context="#pop#pop!postfix_op" attribute="Property"/>+ </context>++ <context name="Interpolation" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char="}" context="#pop" attribute="Symbol" endRegion="block"/>+ <IncludeRules context="base"/>+ </context>++ <context name="SubExpression(" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char=")" context="#pop" attribute="Symbol" endRegion="block"/>+ <IncludeRules context="base"/>+ </context>++ <context name="Twigil" attribute="Variable" lineEndContext="#pop">+ <AnyChar String="&twigils;" attribute="Twigil"/>+ <RegExpr String="&ident;" context="#pop#pop" attribute="Variable"/>+ </context>++ <context name="Twigil_term" attribute="Variable" lineEndContext="#pop">+ <AnyChar String="&twigils;" attribute="Twigil"/>+ <RegExpr String="&ident;" context="#pop#pop!postfix_op" attribute="Variable"/>+ </context>++ <context name="RegexKeyword" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectSpaces/>+ <DetectChar char="{" context="#pop!RegexKeyword-Pattern{" attribute="Symbol" beginRegion="regex"/>+ <DetectChar char="#" context="StartComment" attribute="Comment"/>+ <RegExpr String="&ident;"/>+ </context>+ <context name="RegexKeyword-Pattern{" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="}" context="#pop" attribute="Symbol" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>+++ <!-- Regex Substitution -->++ <context name="RegexSubstitution" attribute="Pattern Delimiter" lineEndContext="#stay">+ <DetectChar char="/" context="PatternSubstitution/" attribute="Pattern Delimiter" beginRegion="regex"/>+ <IncludeRules context="find_RegexClosure"/>+ <RegExpr String="([^\w\s])" context="PatternSubstitution" attribute="Pattern Delimiter" beginRegion="regex"/>+ </context>++ <context name="PatternSubstitution/" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="/" context="SubstitutionString/" attribute="Pattern Delimiter" endRegion="regex" beginRegion="substitution"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="PatternSubstitution" attribute="Pattern" lineEndContext="#stay">+ <RegExpr String="(%1)" dynamic="1" context="SubstitutionString" attribute="Pattern Delimiter" endRegion="regex" beginRegion="substitution"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="SubstitutionString/" attribute="String" lineEndContext="#stay">+ <StringDetect String="/" context="#pop#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="substitution"/>+ <StringDetect String="\/" attribute="String Special Character"/>+ <RegExpr String="([^/\\]++|\\[^/])++" attribute="String"/>+ </context>++ <context name="SubstitutionString" attribute="String" lineEndContext="#stay">+ <DetectChar char="1" dynamic="1" context="#pop#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="substitution"/>+ <StringDetect String="\%1" dynamic="1" attribute="String Special Character"/>+ <RegExpr String="([^%1\\]++|\\[^%1])++" dynamic="1" attribute="String"/>+ </context>+++ <!-- Regex -->++ <context name="Regex" attribute="Pattern" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectChar char="/" context="Pattern/" attribute="Pattern Delimiter" beginRegion="regex"/>+ <IncludeRules context="find_RegexClosure"/>+ <RegExpr String="([^\w\s])" context="Pattern" attribute="Pattern Delimiter" beginRegion="regex"/>+ </context>++ <context name="find_RegexClosure" attribute="Pattern Delimiter" lineEndContext="#stay">+ <DetectChar char=":" context="RegexModifier" attribute="Pattern Modifier"/>+ <StringDetect String="[[" context="Pattern[[" attribute="Pattern Delimiter" beginRegion="regex"/>+ <StringDetect String="{{" context="Pattern{{" attribute="Pattern Delimiter" beginRegion="regex"/>+ <StringDetect String="<<" context="Pattern<<" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char="[" context="Pattern[" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char="{" context="Pattern{" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char="<" context="Pattern<" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char="(" context="Pattern(" attribute="Pattern Delimiter" beginRegion="regex"/>+ <!-- some pairs are missing: https://github.com/Raku/roast/blob/aa4994a7f6b3f6b450a9d231bebd5fba172439b0/S02-literals/quoting-unicode.t#L49-L65 -->+ <DetectSpaces/>+ </context>++ <context name="RegexModifier" attribute="Pattern Modifier" lineEndContext="#pop" fallthroughContext="#pop">+ <StringDetect String="P5" context="RegexPerl5" attribute="Pattern Modifier"/>+ <StringDetect String="Perl5" context="RegexPerl5" attribute="Pattern Modifier"/>+ <DetectIdentifier context="RegexModifierCall" attribute="Pattern Modifier"/>+ </context>++ <!-- ':' adverb '(' expr ')' '('...')'+ ^ pattern delimiter+ -->+ <context name="RegexModifierCall" attribute="Pattern Modifier" fallthroughContext="#pop#pop">+ <DetectSpaces/>+ <DetectChar char="(" context="RegexModifier(" attribute="Symbol" beginRegion="block"/>+ </context>+ <context name="RegexModifier(" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char=")" context="RegexModifierPattern(" attribute="Symbol" endRegion="block"/>+ <IncludeRules context="base"/>+ </context>+ <context name="RegexModifierPattern(" attribute="Pattern Delimiter" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">+ <DetectSpaces/>+ <StringDetect String="((" context="#pop#pop#pop#pop!Pattern((" attribute="Pattern Delimiter" beginRegion="regex"/>+ <DetectChar char="(" context="#pop#pop#pop#pop!Pattern(" attribute="Pattern Delimiter" beginRegion="regex"/>+ </context>++ <context name="RegexPerl5" attribute="Pattern Modifier" lineEndContext="#pop#pop#pop" fallthroughContext="#pop#pop#pop!IsRegexPerl5">+ <DetectSpaces/>+ </context>++ <context name="IsRegexPerl5" attribute="Pattern" lineEndContext="#stay">+ <IncludeRules context="find_pattern##Perl"/>+ </context>++ <context name="Pattern/" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="/" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern{" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="}" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern{{" attribute="Pattern" lineEndContext="#stay">+ <StringDetect String="}}" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern[" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="[" context="PatternSub[" attribute="Symbol" beginRegion="block"/>+ <DetectChar char="]" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>+ <context name="PatternSub[" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="]" context="#pop" attribute="Symbol" endRegion="regex"/>+ <DetectChar char="[" context="PatternSub[" attribute="Symbol" beginRegion="block"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern[[" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="[" context="PatternSub[" attribute="Symbol" beginRegion="block"/>+ <StringDetect String="]]" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern(" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="(" context="PatternSub(" attribute="Symbol" beginRegion="block"/>+ <DetectChar char=")" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>+ <context name="PatternSub(" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char=")" context="#pop" attribute="Symbol" endRegion="regex"/>+ <DetectChar char="(" context="PatternSub(" attribute="Symbol" beginRegion="block"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern((" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="(" context="PatternSub(" attribute="Symbol" beginRegion="block"/>+ <StringDetect String="))" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern<" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char=">" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern<<" attribute="Pattern" lineEndContext="#stay">+ <StringDetect String=">>" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="Pattern" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char="1" dynamic="1" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <context name="find_Pattern" attribute="Pattern" lineEndContext="#stay">+ <DetectSpaces/>+ <DetectChar char="." context="#stay" attribute="Pattern Special Character"/>+ <DetectChar char=""" attribute="String Delimiter" context="qq_RawString"/>+ <DetectChar char="'" attribute="String Delimiter" context="q_RawString"/>+ <DetectChar char="\" context="PatternMetaChar" lookAhead="1"/>+ <DetectChar char=":" context="PatternModifier" attribute="Pattern Modifier"/>+ <DetectChar char="#" context="StartComment" attribute="Comment"/>+ <DetectChar char="{" context="Interpolation" attribute="Symbol" beginRegion="block"/>+ <StringDetect String="<<" attribute="Operator"/>+ <StringDetect String=">>" attribute="Operator"/>+ <StringDetect String="<(" context="PatternCaptureMarker" attribute="Pattern Meta Character"/>+ <DetectChar char="<" context="RegexClass" attribute="Pattern Meta Character"/>+ <StringDetect String="**" context="PatternRangeQuantifier" attribute="Pattern Quantifier"/>+ <AnyChar String="?*+" context="PatternAfterQuantifier" attribute="Pattern Quantifier"/>+ <AnyChar String="([" attribute="Symbol" beginRegion="block"/>+ <AnyChar String=")]" attribute="Symbol" endRegion="block"/>+ <StringDetect String="$(" context="PatternVariable(" attribute="Pattern Meta Character" beginRegion="block"/>+ <StringDetect String="@(" context="PatternVariable(" attribute="Pattern Meta Character" beginRegion="block"/>+ <AnyChar String="«»~" attribute="Operator"/>+ <RegExpr String="&twigil_variable;" context="Twigil" attribute="Variable"/>+ <RegExpr String="&variable;|@" attribute="Variable"/>+ <RegExpr String="\$<&ident;>?" attribute="Pattern Named Capture"/>+ <AnyChar String="&|^$" attribute="Pattern Control Flow"/>+ <RegExpr String="[&_alnum;\s]+" attribute="Pattern"/>+ <AnyChar String=">)]" attribute="Error"/>+ </context>++ <context name="PatternVariable(" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char=")" context="#pop" attribute="Pattern Meta Character" endRegion="block"/>+ <IncludeRules context="base"/>+ </context>+++ <!-- Pattern :... -->++ <context name="PatternModifier" attribute="Pattern Modifier" lineEndContext="#pop" fallthroughContext="#pop">+ <DetectIdentifier context="#pop" attribute="Pattern Modifier"/>+ </context>+++ <!-- Pattern \... -->++ <context name="PatternMetaChar" attribute="Pattern" lineEndContext="#pop">+ <RegExpr String="\\[nthvsdwNTHVSDW]|\\[xX](&unicode_hex_point;(?![0-9a-fA-F])|\[\s*&unicode_hex_point;\s*\])|\\[cC](&unicode_dec_point;(?![0-9])|\[[0-9a-zA-Z\s]+\])|[oO](&unicode_oct_point;(?![0-7])|\[\s*&unicode_oct_point;\s*\])" context="#pop" attribute="Pattern Character Class"/>+ <RegExpr String="\\[^\p{L}\p{N}]" context="#pop" attribute="Pattern Character"/>++ <StringDetect String="\x[" context="PatternMetaCharX" attribute="Pattern Character Class" insensitive="1"/>+ <StringDetect String="\c[" context="PatternMetaCharC" attribute="Pattern Character Class" insensitive="1"/>+ <StringDetect String="\o[" context="PatternMetaCharO" attribute="Pattern Character Class" insensitive="1"/>++ <!-- error or incomplete -->+ <RegExpr String="\\[xX]&unicode_hex_point;|\\[oO]&unicode_oct_point;|\\[cC]&unicode_dec_point;" context="PatternMetaCharError" attribute="Pattern Character Class"/>+ <RegExpr String="\\[xXcCoO]?" context="#pop" attribute="Error"/>+ </context>++ <context name="PatternMetaCharError" attribute="Pattern" fallthroughContext="#pop#pop">+ <RegExpr String=",?\s+\]?|&alnum;*(\s*,)?\s*\]?" context="#pop#pop" attribute="Error"/>+ </context>++ <context name="X[]" attribute="Pattern">+ <RegExpr String="\s*\b&unicode_hex_point;\s*"/>+ </context>++ <context name="O[]" attribute="Pattern">+ <RegExpr String="\s*\b&unicode_oct_point;\s*"/>+ </context>++ <context name="C[]" attribute="Pattern">+ <RegExpr String="\s*(\b[0-9a-zA-Z]+\s*)+"/>+ </context>++ <context name="PatternMetaCharMultipleCommon" attribute="Pattern">+ <DetectChar char="]" context="#pop#pop" attribute="Pattern Character Class"/>+ <DetectChar char="," attribute="Separator Symbol"/>+ </context>++ <context name="PatternMetaCharX" attribute="Pattern Character Class">+ <IncludeRules context="PatternMetaCharMultipleCommon"/>+ <IncludeRules context="X[]"/>+ <RegExpr String="[^0-9a-fA-F\],\s]+|[0-9a-fA-F]+|." attribute="Error"/>+ </context>++ <context name="PatternMetaCharO" attribute="Pattern Character Class">+ <IncludeRules context="PatternMetaCharMultipleCommon"/>+ <IncludeRules context="O[]"/>+ <RegExpr String="[^0-7\],\s]+|[0-7]+|." attribute="Error"/>+ </context>++ <context name="PatternMetaCharC" attribute="Pattern Character Class">+ <IncludeRules context="PatternMetaCharMultipleCommon"/>+ <IncludeRules context="C[]"/>+ <RegExpr String="[^0-9a-zA-Z\],\s]+|[0-9a-zA-Z]+|." attribute="Error"/>+ </context>+++ <!-- Pattern Capture Markers: <(...)> -->++ <context name="PatternCaptureMarker" attribute="Pattern">+ <StringDetect String=")>" context="#pop" attribute="Pattern Meta Character"/>+ <IncludeRules context="find_Pattern"/>+ </context>+++ <!-- Pattern Character Classes : <...> -->++ <context name="RegexClass" attribute="Pattern Unicode Property" lineEndContext="#stay">+ <DetectChar char=">" context="#pop" attribute="Pattern Meta Character"/>+ <AnyChar String=".:" attribute="Pattern Meta Character"/>+ <AnyChar String="|+-" attribute="Pattern Quantifier"/>+ <AnyChar String="!?" attribute="Pattern Control Flow" context="PatternAssertion"/>+ <DetectIdentifier attribute="Pattern Unicode Property"/>+ <DetectChar char="[" context="RegexClassRange" attribute="Pattern Bracket"/>+ <DetectChar char="<" context="q_String<" attribute="String Delimiter"/>+ <DetectChar char="«" context="qq_String«" attribute="String Delimiter"/>+ <DetectChar char="{" context="Interpolation" attribute="Symbol" beginRegion="block"/>+ <DetectChar char="(" context="SubExpression(" attribute="Symbol" beginRegion="block"/>+ <DetectChar char="\" context="PatternMetaChar" lookAhead="1"/>+ </context>++ <!-- after <? or <! -->+ <context name="PatternAssertion" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="PatternAssertionCond">+ <DetectChar char=">" attribute="Pattern Meta Character" context="#pop#pop"/>+ <WordDetect String="after" attribute="Pattern Meta Character" context="PatternAssertionCond"/>+ <WordDetect String="before" attribute="Pattern Meta Character" context="PatternAssertionCond"/>+ </context>+ <context name="PatternAssertionCond" attribute="Pattern" lineEndContext="#stay">+ <DetectChar char=">" attribute="Pattern Meta Character" context="#pop#pop#pop"/>+ <IncludeRules context="find_Pattern"/>+ </context>++ <!-- Pattern <[...]> -->+ <context name="RegexClassRange" attribute="Pattern Character" lineEndContext="#stay">+ <DetectIdentifier/>+ <DetectSpaces/>+ <StringDetect String="]" context="#pop" attribute="Pattern Bracket"/>+ <StringDetect String="\" context="PatternMetaChar" lookAhead="1"/>+ <StringDetect String=".." attribute="Pattern Quantifier"/>+ </context>+++ <context name="PatternAfterQuantifier" attribute="Pattern" lineEndContext="#stay" fallthroughContext="PatternModifierQuantifier">+ <StringDetect String=":" context="PatternModifierQuantifier" attribute="Pattern Modifier"/>+ <DetectSpaces context="PatternModifierQuantifier"/>+ </context>+ <context name="PatternModifierQuantifier" attribute="Pattern" lineEndContext="#stay" fallthroughContext="#pop#pop">+ <DetectSpaces/>+ <StringDetect String="%%" context="#pop#pop" attribute="Pattern Quantifier"/>+ <StringDetect String="%" context="#pop#pop" attribute="Pattern Quantifier"/>+ </context>+++ <!-- General quantifier: ** min..max -->++ <context name="PatternRangeQuantifier" attribute="Pattern" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectSpaces/>+ <Int context="#pop!PatternRangeQuantifierRng" attribute="Pattern"/>+ <DetectChar char="^" context="PatternRangeQuantifierInt" attribute="Operator"/>+ <AnyChar String=":!?" attribute="Pattern Quantifier"/>+ </context>++ <context name="PatternRangeQuantifierRng" attribute="Pattern" lineEndContext="#pop" fallthroughContext="#pop">+ <StringDetect String="..^" context="PatternRangeQuantifierInt" attribute="Operator"/>+ <StringDetect String=".." context="PatternRangeQuantifierInt" attribute="Operator"/>+ <StringDetect String="^..^" context="PatternRangeQuantifierInt" attribute="Operator"/>+ <StringDetect String="^.." context="PatternRangeQuantifierInt" attribute="Operator"/>+ </context>++ <context name="PatternRangeQuantifierInt" attribute="Pattern" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectSpaces/>+ <Int context="#pop#pop" attribute="Pattern"/>+ </context>+++ <!-- Number -->++ <context name="Number" attribute="Decimal" lineEndContext="#stay" fallthroughContext="#pop#pop!postfix_op">+ <RegExpr String="&int10;(?:\.&int10;&exp;?|&exp;)|\.&int10;&exp;?" context="NumberSuffix" attribute="Float"/>+ <Detect2Chars char="0" char1="x" context="HexNumber" attribute="Hex"/>+ <Detect2Chars char="0" char1="o" context="OctalNumber" attribute="Octal"/>+ <RegExpr String="\p{N}++(?:_\p{N}++)*+" context="NumberSuffix" attribute="Decimal"/>+ </context>++ <context name="HexNumber" attribute="Hex" lineEndContext="#pop#pop#pop!postfix_op" fallthroughContext="NumberCheckError">+ <RegExpr String="[a-fA-F0-9]++(?:_[a-fA-F0-9]++)*+" context="#pop!NumberSuffix" attribute="Hex"/>+ </context>++ <context name="OctalNumber" attribute="Octal" lineEndContext="#pop#pop#pop!postfix_op" fallthroughContext="NumberCheckError">+ <RegExpr String="[0-7]++(?:_[0-7]++)*+" context="#pop!NumberSuffix" attribute="Octal"/>+ </context>++ <context name="NumberSuffix" attribute="Decimal" lineEndContext="#pop#pop#pop!postfix_op" fallthroughContext="#pop#pop#pop!postfix_op">+ <DetectChar char="i" context="#pop!NumberCheckError" attribute="Number Suffix"/>+ <IncludeRules context="NumberCheckError"/>+ </context>+ <context name="NumberCheckError" attribute="Decimal" lineEndContext="#pop#pop#pop!postfix_op" fallthroughContext="#pop#pop#pop!postfix_op">+ <RegExpr String="&alnum;+" context="#pop#pop#pop!postfix_op" attribute="Error"/>+ </context>+++ <!-- Attribute or Key -->++ <!--+ :11a+ :!false+ :attr+ -->+ <context name="MaybeAttribute" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <StringDetect String=":?" context="#pop" attribute="Separator Symbol"/>+ <DetectChar char=":" attribute="Separator Symbol"/>+ <DetectChar char="!" context="#pop" attribute="Operator"/>+ <Int context="MaybeAttribute2" attribute="Decimal"/>+ <RegExpr String="&datatype;" context="#pop" attribute="Data Type"/>+ <RegExpr String="\\?&ident;" context="#pop#pop!postfix_op" attribute="Attribute"/>+ </context>++ <context name="MaybeAttribute2" attribute="Decimal" lineEndContext="#pop#pop" fallthroughContext="#pop#pop#pop!postfix_op">+ <DetectChar char="<" context="NumberWithRadix" attribute="String Delimiter"/>+ </context>+++ <!-- ':base<NNN>' -->++ <context name="NumberWithRadix" attribute="Decimal" lineEndContext="#pop#pop#pop" fallthroughContext="#pop#pop#pop!postfix_op">+ <DetectChar char=">" context="#pop#pop#pop#pop!postfix_op" attribute="Error"/>+ <DetectSpaces context="#pop#pop#pop#pop!postfix_op" attribute="Error"/>+ <RegExpr String="&intN;\.&intN;|\.&intN;" context="NumberWithRadixClose" attribute="Float"/>+ <RegExpr String="&intN;" context="NumberWithRadixClose" attribute="Decimal"/>+ </context>+ <context name="NumberWithRadixClose" attribute="Decimal"+ lineEndContext="#pop#pop#pop#pop#pop!postfix_op"+ fallthroughContext="#pop#pop#pop#pop#pop!postfix_op">+ <DetectChar char=">" context="NumberWithRadixSuffix" attribute="String Delimiter"/>+ <RegExpr String=" +|&alnum;+" context="#pop#pop#pop#pop#pop!postfix_op" attribute="Error"/>+ </context>+ <context name="NumberWithRadixSuffix" attribute="Decimal"+ lineEndContext="#pop#pop#pop#pop#pop#pop!postfix_op"+ fallthroughContext="#pop#pop#pop#pop#pop#pop!postfix_op">+ <WordDetect String="i" context="#pop#pop#pop#pop#pop#pop!postfix_op" attribute="Number Suffix"/>+ </context>+++ <!-- Pod -->++ <context name="StartPod" attribute="Pod Typename" lineEndContext="#pop" fallthroughContext="#pop">+ <WordDetect String="begin" context="PodBegin" attribute="Pod Block"/>+ <WordDetect String="for" context="PodFor" attribute="Pod Typename"/>+ <keyword String="pod" context="PodTypenameValue" attribute="Pod Typename"/>+ <RegExpr String="[_A-Z][-_A-Z0-9]*\b" context="PodTypenameValue" attribute="Pod Typename"/>+ <RegExpr String="&ident;" context="PodTypenameValue" attribute="Pod Unknown"/>+ </context>++ <context name="PodTypenameValue" attribute="Pod Typename Value" lineEndContext="PodTypenameValueNextLine" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Typename Value" context="#stay" String="&allnopodfmt;"/>+ </context>++ <context name="PodTypenameValueNextLine" attribute="Pod Typename Value" lineEndContext="#stay" lineEmptyContext="#pop#pop#pop" fallthroughContext="#pop">+ <DetectSpaces attribute="Normal Text" context="PodTypenameValueOrEmpty"/>+ <DetectChar attribute="Pod" context="#pop#pop#pop" char="=" lookAhead="true"/>+ </context>++ <context name="PodTypenameValueOrEmpty" attribute="Pod Typename Value" lineEndContext="#pop#pop#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar attribute="Pod" context="#pop#pop#pop#pop" char="=" lookAhead="true"/>+ </context>+++ <!-- Pod formatting -->++ <context name="PodFormat" attribute="Pod Typename Value" lineEndContext="#stay">+ <Detect2Chars char="B" char1="<" attribute="Pod Bold" context="#pop!PodFormatB"/>+ <Detect2Chars char="B" char1="«" attribute="Pod Bold" context="#pop!PodFormatB2"/>+ <Detect2Chars char="I" char1="<" attribute="Pod Italic" context="#pop!PodFormatI"/>+ <Detect2Chars char="I" char1="«" attribute="Pod Italic" context="#pop!PodFormatI2"/>+ <Detect2Chars char="L" char1="<" attribute="Pod Link" context="#pop!PodFormatL"/>+ <Detect2Chars char="L" char1="«" attribute="Pod Link" context="#pop!PodFormatL2"/>+ <Detect2Chars char="N" char1="<" attribute="Pod Note" context="#pop!PodFormatN"/>+ <Detect2Chars char="N" char1="«" attribute="Pod Note" context="#pop!PodFormatN2"/>+ <Detect2Chars char="P" char1="<" attribute="Pod Link" context="#pop!PodFormatL"/>+ <Detect2Chars char="P" char1="«" attribute="Pod Link" context="#pop!PodFormatL2"/>+ <Detect2Chars char="Z" char1="<" attribute="Pod Comment" context="#pop!PodFormatZ"/>+ <Detect2Chars char="Z" char1="«" attribute="Pod Comment" context="#pop!PodFormatZ2"/>+ <Detect2Chars char="U" char1="<" attribute="Pod Underline" context="#pop!PodFormatU"/>+ <Detect2Chars char="U" char1="«" attribute="Pod Underline" context="#pop!PodFormatU2"/>+ <Detect2Chars char="C" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+ <Detect2Chars char="C" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+ <Detect2Chars char="E" char1="<" attribute="Pod Unicode" context="#pop!PodFormatE"/>+ <Detect2Chars char="E" char1="«" attribute="Pod Unicode" context="#pop!PodFormatE2"/>+ <Detect2Chars char="K" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+ <Detect2Chars char="K" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+ <Detect2Chars char="R" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+ <Detect2Chars char="R" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+ <Detect2Chars char="T" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+ <Detect2Chars char="T" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+ <Detect2Chars char="V" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatV"/>+ <Detect2Chars char="V" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatV2"/>+ <Detect2Chars char="X" char1="<" attribute="Pod Indexed Terms" context="#pop!PodFormatX"/>+ <Detect2Chars char="X" char1="«" attribute="Pod Indexed Terms" context="#pop!PodFormatX2"/>+ <Detect2Chars char="M" char1="<" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+ <Detect2Chars char="M" char1="«" attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+ </context>++ <context name="PodFormatB" attribute="Pod Bold" lineEndContext="#stay" fallthroughContext="#pop!PodFormatB1">+ <DetectChar char="<" attribute="Pod Bold" context="#pop!PodFormatB3"/>+ </context>+ <context name="PodFormatB1" attribute="Pod Bold" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Bold" context="PodFormatB1"/>+ <DetectChar char=">" attribute="Pod Bold" context="#pop"/>+ </context>+ <context name="PodFormatB2" attribute="Pod Bold" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Bold" context="PodFormatB2"/>+ <DetectChar char="»" attribute="Pod Bold" context="#pop"/>+ </context>+ <context name="PodFormatB3" attribute="Pod Bold" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Bold" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Bold" context="PodFormatB3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Bold" context="#pop"/>+ </context>++ <context name="PodFormatE" attribute="Pod Unicode" lineEndContext="#stay" fallthroughContext="#pop!PodFormatE1">+ <DetectChar char="<" attribute="Pod Unicode" context="#pop!PodFormatE3"/>+ </context>+ <context name="PodFormatE1" attribute="Pod Unicode" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Unicode" context="PodFormatE1"/>+ <DetectChar char=">" attribute="Pod Unicode" context="#pop"/>+ </context>+ <context name="PodFormatE2" attribute="Pod Unicode" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Unicode" context="PodFormatE2"/>+ <DetectChar char="»" attribute="Pod Unicode" context="#pop"/>+ </context>+ <context name="PodFormatE3" attribute="Pod Unicode" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Unicode" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Unicode" context="PodFormatE3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Unicode" context="#pop"/>+ </context>++ <context name="PodFormatI" attribute="Pod Italic" lineEndContext="#stay" fallthroughContext="#pop!PodFormatI1">+ <DetectChar char="<" attribute="Pod Italic" context="#pop!PodFormatI3"/>+ </context>+ <context name="PodFormatI1" attribute="Pod Italic" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Italic" context="PodFormatI1"/>+ <DetectChar char=">" attribute="Pod Italic" context="#pop"/>+ </context>+ <context name="PodFormatI2" attribute="Pod Italic" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Italic" context="PodFormatI2"/>+ <DetectChar char="»" attribute="Pod Italic" context="#pop"/>+ </context>+ <context name="PodFormatI3" attribute="Pod Italic" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Italic" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Italic" context="PodFormatI3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Italic" context="#pop"/>+ </context>++ <context name="PodFormatL" attribute="Pod Link" lineEndContext="#stay" fallthroughContext="#pop!PodFormatL1">+ <DetectChar char="<" attribute="Pod Link" context="#pop!PodFormatL3"/>+ </context>+ <context name="PodFormatL1" attribute="Pod Link" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|]+|[&podfmt;](?![<«]))+"/>+ <DetectChar char="|" attribute="Pod Operator" context="#stay"/>+ <DetectChar char=">" attribute="Pod Link" context="#pop"/>+ </context>+ <context name="PodFormatL2" attribute="Pod Link" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;«»|]+|[&podfmt;](?![<«]))+"/>+ <DetectChar char="|" attribute="Pod Operator" context="#stay"/>+ <DetectChar char="»" attribute="Pod Link" context="#pop"/>+ </context>+ <context name="PodFormatL3" attribute="Pod Link" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+"/>+ <DetectChar char="|" attribute="Pod Operator" context="#stay"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Link" context="#pop"/>+ </context>++ <context name="PodFormatN" attribute="Pod Note" lineEndContext="#stay" fallthroughContext="#pop!PodFormatN1">+ <DetectChar char="<" attribute="Pod Note" context="#pop!PodFormatN3"/>+ </context>+ <context name="PodFormatN1" attribute="Pod Note" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Note" context="PodFormatN1"/>+ <DetectChar char=">" attribute="Pod Note" context="#pop"/>+ </context>+ <context name="PodFormatN2" attribute="Pod Note" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Note" context="PodFormatN2"/>+ <DetectChar char="»" attribute="Pod Note" context="#pop"/>+ </context>+ <context name="PodFormatN3" attribute="Pod Note" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Note" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Note" context="PodFormatN3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Note" context="#pop"/>+ </context>++ <context name="PodFormatU" attribute="Pod Underline" lineEndContext="#stay" fallthroughContext="#pop!PodFormatU1">+ <DetectChar char="<" attribute="Pod Underline" context="#pop!PodFormatU3"/>+ </context>+ <context name="PodFormatU1" attribute="Pod Underline" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Underline" context="PodFormatU1"/>+ <DetectChar char=">" attribute="Pod Underline" context="#pop"/>+ </context>+ <context name="PodFormatU2" attribute="Pod Underline" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Underline" context="PodFormatU2"/>+ <DetectChar char="»" attribute="Pod Underline" context="#pop"/>+ </context>+ <context name="PodFormatU3" attribute="Pod Underline" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Underline" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Underline" context="PodFormatU3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Underline" context="#pop"/>+ </context>++ <context name="PodFormatV" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="#pop!PodFormatV1">+ <DetectChar char="<" attribute="Pod Verbatim" context="#pop!PodFormatV3"/>+ </context>+ <context name="PodFormatV1" attribute="Pod Verbatim" lineEndContext="#stay">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Verbatim" context="PodFormatV1"/>+ <DetectChar char=">" attribute="Pod Verbatim" context="#pop"/>+ </context>+ <context name="PodFormatV2" attribute="Pod Verbatim" lineEndContext="#stay">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Verbatim" context="PodFormatV2"/>+ <DetectChar char="»" attribute="Pod Verbatim" context="#pop"/>+ </context>+ <context name="PodFormatV3" attribute="Pod Verbatim" lineEndContext="#stay">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Verbatim" context="PodFormatV3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Verbatim" context="#pop"/>+ </context>++ <context name="PodFormatVT" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="#pop!PodFormatVT1">+ <DetectChar char="<" attribute="Pod Verbatim" context="#pop!PodFormatVT3"/>+ </context>+ <context name="PodFormatVT1" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Verbatim" context="PodFormatVT1"/>+ <DetectChar char=">" attribute="Pod Verbatim" context="#pop"/>+ </context>+ <context name="PodFormatVT2" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Verbatim" context="PodFormatVT2"/>+ <DetectChar char="»" attribute="Pod Verbatim" context="#pop"/>+ </context>+ <context name="PodFormatVT3" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Verbatim" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Verbatim" context="PodFormatVT3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Verbatim" context="#pop"/>+ </context>++ <context name="PodFormatZ" attribute="Pod Comment" lineEndContext="#stay" fallthroughContext="#pop!PodFormatZ1">+ <DetectChar char="<" attribute="Pod Comment" context="#pop!PodFormatZ3"/>+ </context>+ <context name="PodFormatZ1" attribute="Pod Comment" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt1;"/>+ <DetectChar char="<" attribute="Pod Comment" context="PodFormatZ1"/>+ <DetectChar char=">" attribute="Pod Comment" context="#pop"/>+ </context>+ <context name="PodFormatZ2" attribute="Pod Comment" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt2;"/>+ <DetectChar char="«" attribute="Pod Comment" context="PodFormatZ2"/>+ <DetectChar char="»" attribute="Pod Comment" context="#pop"/>+ </context>+ <context name="PodFormatZ3" attribute="Pod Comment" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Comment" context="#stay" String="&allnopodfmt3;"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Comment" context="PodFormatZ3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Comment" context="#pop"/>+ </context>++ <context name="PodFormatX" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthroughContext="#pop!PodFormatX1">+ <DetectChar char="<" attribute="Pod Indexed Terms" context="#pop!PodFormatX3"/>+ </context>+ <context name="PodFormatX1" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|;,]+|[&podfmt;](?![<«]))+"/>+ <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>+ <DetectChar char=">" attribute="Pod Indexed Terms" context="#pop"/>+ </context>+ <context name="PodFormatX2" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;«»|;,]+|[&podfmt;](?![<«]))+"/>+ <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>+ <DetectChar char="«" attribute="Pod Indexed Terms" context="PodFormatX2"/>+ <DetectChar char="»" attribute="Pod Indexed Terms" context="#pop"/>+ </context>+ <context name="PodFormatX3" attribute="Pod Indexed Terms" lineEndContext="#stay" fallthroughContext="PodFormat">+ <RegExpr attribute="Pod Link" context="#stay" String="(?:[^&podfmt;<>|;,]+|[&podfmt;](?![<«])|>(?!>)|<(?!<))+"/>+ <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>+ <Detect2Chars char="<" char1="<" attribute="Pod Indexed Terms" context="PodFormatX3"/>+ <Detect2Chars char=">" char1=">" attribute="Pod Indexed Terms" context="#pop"/>+ </context>++ <!-- Pod =begin -->++ <context name="PodBegin" attribute="Pod Typename Value" lineEndContext="#pop#pop!Error">+ <DetectSpaces attribute="Normal Text"/>+ <WordDetect String="code" context="PodBeginCode" attribute="Pod Typename Value" beginRegion="pod"/>+ <WordDetect String="comment" context="PodBeginComment" attribute="Pod Typename Value" beginRegion="pod"/>+ <RegExpr String="(&ident;)" context="PodBeginTypename" attribute="Pod Typename Value" beginRegion="pod"/>+ </context>++ <context name="PodBeginCode" attribute="Error" lineEndContext="PodInnerCode">+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar char=":" context="PodBlockConfigKey" attribute="Pod Operator"/>+ <DetectChar char="=" context="PodEndCode" attribute="Pod" firstNonSpace="1"/>+ </context>++ <context name="PodInnerCode" attribute="Pod Verbatim" lineEndContext="#stay" fallthroughContext="PodCode">+ <RegExpr String="^\s*=end\s+code\s*$" context="#pop" attribute="Pod" column="0" lookAhead="1"/>+ </context>+ <context name="PodCode" attribute="Pod Verbatim" lineEndContext="#pop"/>++ <context name="PodEndCode" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">+ <StringDetect String="end" context="PodEndCodeName" attribute="Pod Block" endRegion="pod"/>+ </context>+ <context name="PodEndCodeName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop" fallthroughContext="#pop#pop#pop#pop!Error">+ <DetectSpaces attribute="Normal Text"/>+ <StringDetect String="code" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>+ </context>+++ <context name="PodBeginComment" attribute="Error" lineEndContext="PodInnerComment">+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar char="=" context="PodEndComment" attribute="Pod" firstNonSpace="1"/>+ </context>++ <context name="PodInnerComment" attribute="Comment" lineEndContext="#stay" fallthroughContext="PodComment">+ <RegExpr String="^\s*=end\s+comment\s*$" context="#pop" attribute="Pod" column="0" lookAhead="1"/>+ </context>+ <context name="PodComment" attribute="Comment" lineEndContext="#pop"/>++ <context name="PodEndComment" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">+ <StringDetect String="end" context="PodEndCommentName" attribute="Pod Block" endRegion="pod"/>+ </context>+ <context name="PodEndCommentName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop" fallthroughContext="#pop#pop#pop#pop!Error">+ <DetectSpaces attribute="Normal Text"/>+ <StringDetect String="comment" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>+ </context>+++ <context name="PodBeginTypename" attribute="Error" lineEndContext="PodInnerBlock">+ <RegExpr String="^\s*=end\s+%1\b" dynamic="1" context="PodEnd" attribute="Pod" column="0" lookAhead="1"/>+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar char=":" context="PodBlockConfigKey" attribute="Pod Operator"/>+ <DetectChar char="=" context="PodEndError" attribute="Pod" firstNonSpace="1"/>+ </context>++ <context name="PodInnerBlock" attribute="Pod Paragraph" lineEndContext="#stay" fallthroughContext="PodInnerBlockFormat">+ <RegExpr String="^\s*=end\b" context="#pop" attribute="Pod" column="0" lookAhead="1"/>+ <DetectSpaces/>+ <DetectChar char="=" context="StartPod" attribute="Pod" firstNonSpace="1"/>+ <RegExpr attribute="Pod Paragraph" context="#stay" String="&allnopodfmt;"/>+ </context>++ <context name="PodInnerBlockFormat" attribute="Pod Paragraph" lineEndContext="#stay">+ <IncludeRules context="PodFormat"/>+ </context>++ <context name="PodEnd" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar char="=" context="#stay" attribute="Pod"/>+ <StringDetect String="end" context="PodEndName" attribute="Pod Block" endRegion="pod"/>+ </context>+ <context name="PodEndName" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop#pop">+ <DetectSpaces attribute="Normal Text"/>+ <RegExpr String="&ident;" context="#pop#pop#pop#pop!Error" attribute="Pod Typename Value"/>+ </context>++ <context name="PodEndError" attribute="Pod Paragraph" lineEndContext="#pop#pop#pop">+ <StringDetect String="end" attribute="Pod Block" context="#pop#pop#pop!Error" endRegion="pod"/>+ </context>++ <!-- Pod configuration for =begin -->++ <context name="PodBlockConfigError" attribute="Error" lineEndContext="#pop#pop!PodInnerBlock"/>++ <context name="PodBlockConfigKey" attribute="Pod Key" lineEndContext="#pop!PodInnerBlock" fallthroughContext="PodBlockConfigError">+ <DetectChar char="!" context="#pop!PodBlockConfigKeyName" attribute="Pod Operator"/>+ <Int context="PodBlockConfigKeyIntName" attribute="Decimal"/>+ <DetectIdentifier context="PodBlockConfigParam" attribute="Pod Key"/>+ </context>++ <context name="PodBlockConfigKeyName" attribute="Pod Key" lineEndContext="#pop!PodTypenameValue" fallthroughContext="PodBlockConfigError">+ <DetectIdentifier context="PodBlockConfigParam" attribute="Pod Key"/>+ </context>++ <context name="PodBlockConfigKeyIntName" attribute="Pod Key" lineEndContext="#pop#pop!PodBlockConfigError" fallthroughContext="#pop!PodBlockConfigError">+ <DetectIdentifier context="#pop#pop" attribute="Pod Key"/>+ </context>++ <context name="PodBlockConfigParam" attribute="Pod Key" lineEndContext="#pop#pop#pop" fallthroughContext="#pop">+ <DetectChar char="<" context="PodParamSequence" attribute="Pod Operator"/>+ <DetectChar char="{" context="PodParamHash" attribute="Pod Operator"/>+ <AnyChar String="([" context="PodParamList" attribute="Pod Operator"/>+ </context>+++ <!-- Pod =for -->++ <context name="PodFor" attribute="Pod Typename" lineEndContext="#pop#pop!Error" fallthroughContext="#pop#pop!Error">+ <DetectSpaces attribute="Normal Text"/>+ <keyword String="podtypename" context="#pop!PodConfig" attribute="Pod Typename"/>+ </context>++ <!-- Pod configuration for =for -->++ <context name="PodConfigError" attribute="Error" lineEndContext="#pop#pop!PodTypenameValue"/>++ <context name="PodConfig" attribute="Normal Text" lineEndContext="#pop!PodTypenameValue" fallthroughContext="PodConfigError">+ <DetectSpaces/>+ <DetectChar char=":" context="PodConfigKey" attribute="Pod Operator"/>+ </context>++ <context name="PodConfigKey" attribute="Pod Key" lineEndContext="#pop#pop!PodTypenameValue" fallthroughContext="#pop!PodConfigError">+ <DetectChar char="!" context="#pop!PodConfigKeyName" attribute="Pod Operator"/>+ <Int context="PodConfigKeyIntName" attribute="Decimal"/>+ <DetectIdentifier context="PodConfigParam" attribute="Pod Key"/>+ </context>++ <context name="PodConfigKeyName" attribute="Pod Key" lineEndContext="#pop#pop!PodTypenameValue" fallthroughContext="#pop!PodConfigError">+ <DetectIdentifier context="PodConfigParam" attribute="Pod Key"/>+ </context>++ <context name="PodConfigKeyIntName" attribute="Pod Key" lineEndContext="#pop#pop#pop!PodConfigError" fallthroughContext="#pop#pop!PodConfigError">+ <DetectIdentifier context="#pop#pop" attribute="Pod Key"/>+ </context>++ <context name="PodConfigParam" attribute="Pod Key" lineEndContext="#pop#pop#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="<" context="PodParamSequence" attribute="Pod Operator"/>+ <DetectChar char="{" context="PodParamHash" attribute="Pod Operator"/>+ <AnyChar String="([" context="PodParamList" attribute="Pod Operator"/>+ </context>++ <context name="find_PodNumber" attribute="Pod Config" lineEndContext="#stay">+ <RegExpr String="\.?\p{N}" context="PodNumber" lookAhead="1" minimal="1"/>+ </context>++ <context name="PodParamSequence" attribute="Pod Config" lineEndContext="#stay">+ <DetectSpaces/>+ <keyword String="pod values" context="#stay" attribute="Data Type"/>+ <DetectIdentifier/>+ <IncludeRules context="find_PodNumber"/>+ <DetectChar char=">" context="#pop#pop#pop" attribute="Pod Operator"/>+ <DetectChar char="'" context="PodSQString" attribute="String"/>+ <DetectChar char=""" context="PodQString" attribute="String"/>+ </context>++ <context name="PodParamHash" attribute="Pod Config" lineEndContext="#stay">+ <DetectSpaces/>+ <Detect2Chars char="=" char1=">" context="#stay" attribute="Pod Operator"/>+ <DetectChar char="," context="#stay" attribute="Pod Operator"/>+ <keyword String="pod values" context="#stay" attribute="Data Type"/>+ <DetectIdentifier/>+ <DetectChar char="'" context="PodSQString" attribute="String"/>+ <DetectChar char=""" context="PodQString" attribute="String"/>+ <IncludeRules context="find_PodNumber"/>+ <DetectChar char="}" context="#pop#pop#pop" attribute="Pod Operator"/>+ </context>++ <context name="PodParamList" attribute="Pod Config" lineEndContext="#stay">+ <DetectSpaces/>+ <DetectChar char="," context="#stay" attribute="Pod Operator"/>+ <keyword String="pod values" context="#stay" attribute="Data Type"/>+ <DetectIdentifier/>+ <DetectChar char="'" context="PodSQString" attribute="String"/>+ <DetectChar char=""" context="PodQString" attribute="String"/>+ <IncludeRules context="find_PodNumber"/>+ <AnyChar String="])" context="#pop#pop#pop" attribute="Pod Operator"/>+ </context>+++ <!-- Pod Number (same as Number with different context pop) -->++ <context name="PodNumber" attribute="Decimal" lineEndContext="#stay" fallthroughContext="#pop">+ <RegExpr String="&int10;(?:\.&int10;&exp;?|&exp;)|\.&int10;&exp;?" context="PodNumberSuffix" attribute="Float"/>+ <Detect2Chars char="0" char1="x" context="HexPodNumber" attribute="Hex"/>+ <Detect2Chars char="0" char1="o" context="OctalPodNumber" attribute="Octal"/>+ <RegExpr String="\p{N}++(?:_\p{N}++)*+" context="PodNumberSuffix" attribute="Decimal"/>+ </context>++ <context name="HexPodNumber" attribute="Hex" lineEndContext="#pop#pop" fallthroughContext="PodNumberCheckError">+ <RegExpr String="[a-fA-F0-9]++(?:_[a-fA-F0-9]++)*+" context="#pop!PodNumberSuffix" attribute="Hex"/>+ </context>++ <context name="OctalPodNumber" attribute="Octal" lineEndContext="#pop#pop" fallthroughContext="PodNumberCheckError">+ <RegExpr String="[0-7]++(?:_[0-7]++)*+" context="#pop!PodNumberSuffix" attribute="Octal"/>+ </context>++ <context name="PodNumberSuffix" attribute="Decimal" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="i" context="#pop!PodNumberCheckError" attribute="Number Suffix"/>+ <IncludeRules context="PodNumberCheckError"/>+ </context>+ <context name="PodNumberCheckError" attribute="Decimal" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <RegExpr String="&alnum;+" context="#pop#pop" attribute="Error"/>+ </context>+++ <!-- Pod String -->++ <context name="PodSQString" attribute="String" lineEndContext="#stay">+ <Detect2Chars char="\" char1="'" context="#stay" attribute="String Special Character"/>+ <DetectChar char="'" context="#pop" attribute="String Delimiter"/>+ <RegExpr String="(?:[^\\']*|\\[^']|\\$)*" context="#stay" attribute="String"/>+ </context>++ <context name="PodQString" attribute="String" lineEndContext="#stay">+ <DetectChar char=""" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="\" context="SpecialChar" attribute="String Special Character"/>+ <RegExpr String="(?:[^"\\]*|\\$)*" context="#stay" attribute="String"/>+ </context>++ <context name="SpecialCharPre" attribute="String Special Character" lineEndContext="#pop">+ <RegExpr String="[abefnrtv]|x(&unicode_hex_point;(?![0-9a-fA-F])|\[\s*&unicode_hex_point;\s*\])|c(&unicode_dec_point;(?![0-9])|\[[a-zA-Z\s]+\])|o(&unicode_oct_point;(?![0-7])|\[\s*&unicode_oct_point;\s*\])" context="#pop" attribute="String Special Character"/>+ </context>+ <context name="SpecialChar" attribute="String Special Character" lineEndContext="#pop" fallthroughContext="#pop">+ <IncludeRules context="SpecialCharPre"/>+ <RegExpr String="[^xco]" context="#pop" attribute="String"/>+ <IncludeRules context="SpecialCharPost"/>+ </context>+ <context name="SpecialCharPost" attribute="String Special Character" lineEndContext="#pop">+ <StringDetect String="x[" context="SpecialCharX" attribute="String Special Character"/>+ <StringDetect String="c[" context="SpecialCharC" attribute="String Special Character"/>+ <StringDetect String="o[" context="SpecialCharO" attribute="String Special Character"/>++ <RegExpr String="x&unicode_hex_point;|c&unicode_dec_point;|o&unicode_oct_point;" context="SpecialCharError" attribute="String Special Character"/>++ <AnyChar String="xco" context="#pop" attribute="Error"/>+ </context>++ <context name="SpecialCharError" attribute="String Special Character" fallthroughContext="#pop#pop">+ <AnyChar String="0123456789abcdefABCDEF" context="#pop#pop" attribute="Error"/>+ </context>++ <context name="SpecialCharPreCommon" attribute="String Special Character">+ <DetectChar char="]" context="#pop#pop" attribute="String Special Character"/>+ <DetectChar char="," attribute="Separator Symbol"/>+ <DetectChar char=""" context="#pop#pop#pop" attribute="Error"/>+ </context>++ <context name="SpecialCharX" attribute="String Special Character">+ <IncludeRules context="SpecialCharPreCommon"/>+ <IncludeRules context="X[]"/>+ <RegExpr String="[^0-9a-fA-F\],\s"]+|[0-9a-fA-F]+|." attribute="Error"/>+ </context>++ <context name="SpecialCharO" attribute="String Special Character">+ <IncludeRules context="SpecialCharPreCommon"/>+ <IncludeRules context="O[]"/>+ <RegExpr String="[^0-7\],\s"]+|[0-7]+|." attribute="Error"/>+ </context>++ <context name="SpecialCharC" attribute="String Special Character">+ <IncludeRules context="SpecialCharPreCommon"/>+ <IncludeRules context="C[]"/>+ <RegExpr String="[^0-9a-zA-Z\],\s"]+|[0-9a-zA-Z]+|." attribute="Error"/>+ </context>+++ <!-- Q String -->++ <context name="Q_String" attribute="String" lineEndContext="#stay" fallthroughContext="#pop">+ <DetectSpaces attribute="String"/>+ <DetectChar char=":" context="#pop!Q_StringModifier" attribute="Operator"/>+ <DetectChar char="(" context="#pop!Q_String(" attribute="String Delimiter"/>+ <DetectChar char="[" context="#pop!Q_String[" attribute="String Delimiter"/>+ <DetectChar char="{" context="#pop!Q_String{" attribute="String Delimiter"/>+ <DetectChar char="「" context="#pop!Q_String「" attribute="String Delimiter"/>+ <DetectChar char="<" context="#pop!Q_String<" attribute="String Delimiter"/>+ <RegExpr String="([^()>」\]}'&rangealnum;])" context="#pop!Q_StringAny" attribute="String Delimiter"/>+ </context>++ <context name="Q_String(" attribute="String" lineEndContext="#stay">+ <DetectChar char=")" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="(" context="Q_String(" attribute="String Delimiter"/>+ <RegExpr String="[^()]*" context="#stay" attribute="String"/>+ </context>++ <context name="Q_String[" attribute="String" lineEndContext="#stay">+ <DetectChar char="]" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="[" context="Q_String[" attribute="String Delimiter"/>+ <RegExpr String="[^\[\]]*" context="#stay" attribute="String"/>+ </context>++ <context name="Q_String{" attribute="String" lineEndContext="#stay">+ <DetectChar char="}" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="{" context="Q_String{" attribute="String Delimiter"/>+ <RegExpr String="[^{}]*" context="#stay" attribute="String"/>+ </context>++ <context name="Q_String「" attribute="String" lineEndContext="#stay">+ <DetectChar char="」" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="Q_String「_common"/>+ </context>+ <context name="Q_String「_term" attribute="String" lineEndContext="#stay">+ <DetectChar char="」" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="Q_String「_common"/>+ </context>+ <context name="Q_String「_common" attribute="String" lineEndContext="#stay">+ <DetectChar char="「" context="Q_String「" attribute="String Delimiter"/>+ <RegExpr String="[^「」]*" context="#stay" attribute="String"/>+ </context>++ <context name="Q_String<" attribute="String" lineEndContext="#stay">+ <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="<" context="Q_String<" attribute="String Delimiter"/>+ <RegExpr String="[^<>]*" context="#stay" attribute="String"/>+ </context>++ <context name="Q_StringAny" attribute="String" lineEndContext="#stay">+ <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>+ <RegExpr String="[^%1]*" dynamic="1" context="#stay" attribute="String"/>+ </context>++ <context name="q_Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthroughContext="#pop#pop!q_String">+ <DetectChar char=":" context="#pop#pop!q_QuotingForm2" attribute="Operator"/>+ </context>++ <context name="qq_Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthroughContext="#pop#pop!qq_String">+ <DetectChar char=":" context="#pop!qq_QuotingForm" attribute="Operator"/>+ </context>++ <context name="Q_StringModifier" attribute="Operator" lineEndContext="#stay" fallthroughContext="#pop!q_QuotingForm2">+ <DetectChar char="q" context="#pop!q_QuotingForm" attribute="Operator"/>+ <DetectChar char="'" context="q_Q_StringModifier" attribute="Operator"/>+ <DetectChar char=""" context="qq_Q_StringModifier" attribute="Operator"/>+ </context>++ <context name="q_QuotingForm" attribute="Operator" lineEndContext="#pop" fallthroughContext="#pop!q_QuotingForm2">+ <DetectChar char="q" context="#pop!qq_QuotingForm" attribute="Operator"/>+ <DetectChar char=":" context="#pop!q_QuotingForm2" attribute="Operator"/>+ </context>+ <context name="q_QuotingForm2" attribute="Operator" lineEndContext="#pop" fallthroughContext="q_String">+ <WordDetect String="heredoc" context="q_Heredoc" attribute="Operator"/>+ <keyword String="quoting" context="#stay" attribute="Operator"/>+ <AnyChar String="wvx:sahfb" context="#stay" attribute="Operator"/>+ <!-- :closure as qq -->+ <DetectChar char="c" context="#pop!qq_QuotingForm" attribute="Operator"/>+ <Detect2Chars char="t" char1="o" context="q_Heredoc" attribute="Operator"/>+ </context>++ <context name="qq_QuotingForm" attribute="Operator" lineEndContext="#pop" fallthroughContext="qq_String">+ <WordDetect String="heredoc" context="qq_Heredoc" attribute="Operator"/>+ <keyword String="quoting" context="#stay" attribute="Operator"/>+ <AnyChar String="wvx:sahfcb" context="#stay" attribute="Operator"/>+ <Detect2Chars char="t" char1="o" context="qq_Heredoc" attribute="Operator"/>+ </context>+++ <!-- q and qq Heredoc -->++ <context name="q_Heredoc" attribute="String" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <RegExpr String="/([^/]+)/" context="q_HeredocTerminator" attribute="String Delimiter"/>+ </context>+ <context name="q_HeredocTerminator" attribute="String" lineEndContext="#stay">+ <DetectSpaces/>+ <StringDetect String="%1" dynamic="1" context="#pop#pop#pop" attribute="String Delimiter" firstNonSpace="1"/>+ <RegExpr String="(?:[^\\]*|\\(?![\\%1]|"ingconstruct;|$))*" dynamic="1" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="qq_Heredoc" attribute="String" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <RegExpr String="/([^/]+)/" context="qq_HeredocTerminator" attribute="String Delimiter"/>+ </context>+ <context name="qq_HeredocTerminator" attribute="String" lineEndContext="#stay">+ <DetectSpaces/>+ <StringDetect String="%1" dynamic="1" context="#pop#pop#pop" attribute="String Delimiter" firstNonSpace="1"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^\\${@&]*" context="#stay" attribute="String"/>+ </context>+++ <!-- q String -->++ <context name="q_String" attribute="String" lineEndContext="#stay" fallthroughContext="#pop#pop">+ <DetectSpaces/>+ <DetectChar char="(" context="#pop#pop!q_String(" attribute="String Delimiter"/>+ <DetectChar char="[" context="#pop#pop!q_String[" attribute="String Delimiter"/>+ <DetectChar char="{" context="#pop#pop!q_String{" attribute="String Delimiter"/>+ <DetectChar char="<" context="#pop#pop!q_String<" attribute="String Delimiter"/>+ <RegExpr String="([^a-zA-Z0-9])" context="#pop#pop!q_StringAny" attribute="String Delimiter"/>+ </context>++ <context name="q_String(" attribute="String" lineEndContext="#stay">+ <DetectChar char=")" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="(" context="q_String(" attribute="String Delimiter"/>+ <Detect2Chars char="\" char1="(" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1=")" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^()\\]*|\\(?![()\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="q_String[" attribute="String" lineEndContext="#stay">+ <DetectChar char="]" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="[" context="q_String[" attribute="String Delimiter"/>+ <Detect2Chars char="\" char1="[" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="]" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^\[\]\\]*|\\(?![\[\]\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="q_String{" attribute="String" lineEndContext="#stay">+ <DetectChar char="}" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="{" context="q_String{" attribute="String Delimiter"/>+ <Detect2Chars char="\" char1="{" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="}" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^{}\\]*|\\(?![{}\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="q_String<" attribute="String" lineEndContext="#stay">+ <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="q_String<_common"/>+ </context>+ <context name="q_String<_term" attribute="String" lineEndContext="#stay">+ <DetectChar char=">" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="q_String<_common"/>+ </context>+ <context name="q_String<_common" attribute="String" lineEndContext="#stay">+ <DetectChar char="<" context="q_String<" attribute="String Delimiter"/>+ <Detect2Chars char="\" char1="<" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1=">" context="#stay" attribute="String Special Character"/>+ <Detect2Chars char="\" char1="\" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^<>\\]*|\\(?![<>\\]|"ingconstruct;|$))*" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="q_StringAny" attribute="String" lineEndContext="#stay">+ <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>+ <StringDetect String="\%1" dynamic="1" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^\\%1]*|\\(?![\\%1]|"ingconstruct;|$))*" dynamic="1" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <context name="q_RawString" attribute="String" lineEndContext="#stay">+ <DetectChar char="'" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="q_RawString_common"/>+ </context>+ <context name="q_RawString_term" attribute="String" lineEndContext="#stay">+ <DetectChar char="'" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="q_RawString_common"/>+ </context>+ <context name="q_RawString_common" attribute="String" lineEndContext="#stay">+ <Detect2Chars char="\" char1="'" context="#stay" attribute="String Special Character"/>+ <RegExpr String="(?:[^\\']*|\\(?![\\']|"ingconstruct;|$))*" context="#stay" attribute="String"/>+ <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+ </context>++ <!-- qq String -->++ <context name="qq_String" attribute="String" lineEndContext="#stay" fallthroughContext="#pop#pop">+ <DetectSpaces/>+ <DetectChar char="(" context="#pop#pop!qq_String(" attribute="String Delimiter"/>+ <DetectChar char="[" context="#pop#pop!qq_String[" attribute="String Delimiter"/>+ <DetectChar char="{" context="#pop#pop!qq_String{" attribute="String Delimiter"/>+ <DetectChar char="<" context="#pop#pop!qq_String<" attribute="String Delimiter"/>+ <RegExpr String="([^a-zA-Z0-9])" context="#pop#pop!qq_StringAny" attribute="String Delimiter"/>+ </context>++ <context name="qq_String(" attribute="String" lineEndContext="#stay">+ <DetectChar char=")" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="(" context="qq_String(" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^()\\${@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="qq_String[" attribute="String" lineEndContext="#stay">+ <DetectChar char="]" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="[" context="qq_String[" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^\[\]\\${@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="qq_String{" attribute="String" lineEndContext="#stay">+ <DetectChar char="}" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="{" context="qq_String{" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^{}\\$@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="qq_String<" attribute="String" lineEndContext="#stay">+ <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+ <DetectChar char="<" context="qq_String<" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^<>\\${@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="qq_String«" attribute="String" lineEndContext="#stay">+ <DetectChar char="»" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="qq_String«_common"/>+ </context>+ <context name="qq_String«_term" attribute="String" lineEndContext="#stay">+ <DetectChar char="»" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="qq_String«_common"/>+ </context>+ <context name="qq_String«_common" attribute="String" lineEndContext="#stay">+ <DetectChar char="«" context="qq_String«" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^«»\\${@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="qq_String<<" attribute="String" lineEndContext="#stay">+ <Detect2Chars char=">" char1=">" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="qq_String<<_common"/>+ </context>+ <context name="qq_String<<_term" attribute="String" lineEndContext="#stay">+ <Detect2Chars char=">" char1=">" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="qq_String<<_common"/>+ </context>+ <context name="qq_String<<_common" attribute="String" lineEndContext="#stay">+ <Detect2Chars char="<" char1="<" context="qq_String<<" attribute="String Delimiter"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="([^<>\\${@&]*|<(?!<)|>(?!>))" context="#stay" attribute="String"/>+ </context>++ <context name="qq_StringAny" attribute="String" lineEndContext="#stay">+ <DetectChar char="1" dynamic="1" context="#pop" attribute="String Delimiter"/>+ <StringDetect String="\%1" dynamic="1" context="#stay" attribute="String Special Character"/>+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^%1\\${@&]*" dynamic="1" context="#stay" attribute="String"/>+ </context>++ <context name="qq_RawString" attribute="String" lineEndContext="#stay">+ <DetectChar char=""" context="#pop" attribute="String Delimiter"/>+ <IncludeRules context="qq_RawString_common"/>+ </context>+ <context name="qq_RawString_term" attribute="String" lineEndContext="#stay">+ <DetectChar char=""" context="#pop!postfix_op" attribute="String Delimiter"/>+ <IncludeRules context="qq_RawString_common"/>+ </context>+ <context name="qq_RawString_common" attribute="String" lineEndContext="#stay">+ <IncludeRules context="find_qq_StringCommon"/>+ <RegExpr String="[^\\"${@&]*" context="#stay" attribute="String"/>+ </context>++ <context name="find_qq_StringCommon" attribute="String" lineEndContext="#stay">+ <DetectChar char="\" context="qq_StringEscape" attribute="Operator" lookAhead="1"/>+ <DetectChar char="{" context="qq_Interpolation" attribute="String (interpolated)"/>+ <DetectChar char="$" context="qq_StringMaybeVar$" attribute="String" lookAhead="1"/>+ <AnyChar String="@%" context="qq_StringMaybeVar" attribute="String" lookAhead="1"/>+ <DetectChar char="&" context="qq_StringSigil" attribute="String" lookAhead="1"/>+ </context>++ <context name="qq_StringEscape" attribute="String Special Character" lineEndContext="#pop">+ <Detect2Chars char="\" char1="q" context="#pop!q_QuotingForm" attribute="Operator"/>+ <DetectChar char="\" context="#pop!qq_StringSpecialChar" attribute="String Special Character"/>+ </context>+ <context name="qq_StringSpecialChar" attribute="String Special Character" lineEndContext="#pop">+ <IncludeRules context="SpecialCharPre"/>+ <RegExpr String="[^xco]" context="#pop" attribute="String Special Character"/>+ <IncludeRules context="SpecialCharPost"/>+ </context>++ <context name="qq_Interpolation" attribute="String (interpolated)" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char="}" context="#pop" attribute="String (interpolated)"/>+ <IncludeRules context="base"/>+ </context>++ <context name="qq_StringSigil" attribute="Function" lineEndContext="#stay">+ <RegExpr String="&&ident;\(" context="#pop!FunctionParameters" attribute="Function"/>+ <DetectChar char="&" context="#pop" attribute="String"/>+ </context>++ <context name="qq_StringMaybeVar$" attribute="String" lineEndContext="#stay">+ <RegExpr String="\$(?=[&twigils;]?&prefixdollarvarname;)" context="qq_InterpolationVar" attribute="Variable"/>+ <DetectChar char="$" context="#pop" attribute="String"/>+ </context>++ <context name="qq_StringMaybeVar" attribute="String" lineEndContext="#stay">+ <RegExpr String="@\(\)|[%@]\$/|[@%]&ident;" context="qq_Interpolation1" attribute="Variable"/>+ <AnyChar String="@%" context="#pop" attribute="String"/>+ </context>++ <context name="qq_InterpolationVar" attribute="String" lineEndContext="#stay">+ <AnyChar String="&twigils;" context="#stay" attribute="Twigil"/>+ <RegExpr String="&dollarvarname;" context="#pop!qq_Interpolation1" attribute="Variable"/>+ </context>++ <context name="qq_Interpolation1" attribute="String" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="[" context="qq_InterpolationIndex" attribute="Function"/>+ <DetectChar char="." context="qq_InterpolationFunction" attribute="Function" lookAhead="1"/>+ </context>++ <context name="qq_InterpolationIndex" attribute="String" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char="]" context="#pop#pop#pop" attribute="Function"/>+ <IncludeRules context="base"/>+ </context>++ <context name="qq_InterpolationFunction" attribute="String" lineEndContext="#stay">+ <RegExpr String="(?:\.&ident;)*\.&ident;\(" context="#pop#pop#pop!FunctionParameters" attribute="Function"/>+ <DetectChar char="." context="#pop#pop#pop" attribute="String"/>+ </context>++ <context name="FunctionParameters" attribute="String" lineEndContext="#stay" fallthroughContext="term">+ <DetectChar char=")" context="#pop" attribute="Function"/>+ <DetectChar char="(" context="FunctionParameters" attribute="Function"/>+ <IncludeRules context="base"/>+ </context>+++ <!-- Comment -->++ <context name="StartComment" attribute="Comment" lineEndContext="#pop" fallthroughContext="SingleLineComment">+ <DetectChar attribute="Comment" context="MultilineComment" char="`"/>+ <AnyChar attribute="Pod Operator" context="MultilineComment" String="=|"/>+ </context>++ <context name="MultilineComment" attribute="Comment" lineEndContext="#pop#pop" fallthroughContext="#pop!SingleLineComment">+ <!-- TODO a new rule is needed to find the corresponding closures -->+ <StringDetect attribute="Comment" context="#pop#pop!MultilineComment(((" String="(((" beginRegion="comment"/>+ <StringDetect attribute="Comment" context="#pop#pop!MultilineComment[[[" String="[[[" beginRegion="comment"/>+ <StringDetect attribute="Comment" context="#pop#pop!MultilineComment{{{" String="{{{" beginRegion="comment"/>+ <StringDetect attribute="Comment" context="#pop#pop!MultilineComment«««" String="«««" beginRegion="comment"/>+ <StringDetect attribute="Comment" context="#pop#pop!MultilineComment<<<" String="<<<" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment((" char="(" char1="(" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment[[" char="[" char1="[" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment{{" char="{" char1="{" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment««" char="«" char1="«" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="#pop#pop!MultilineComment<<" char="<" char1="<" beginRegion="comment"/>+ <DetectChar attribute="Comment" context="#pop#pop!MultilineComment(" char="(" beginRegion="comment"/>+ <DetectChar attribute="Comment" context="#pop#pop!MultilineComment[" char="[" beginRegion="comment"/>+ <DetectChar attribute="Comment" context="#pop#pop!MultilineComment{" char="{" beginRegion="comment"/>+ <DetectChar attribute="Comment" context="#pop#pop!MultilineComment«" char="«" beginRegion="comment"/>+ <DetectChar attribute="Comment" context="#pop#pop!MultilineComment<" char="<" beginRegion="comment"/>+ <!-- etc -->+ </context>++ <context name="MultilineComment(((" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <StringDetect String=")))" attribute="Comment" context="#pop" endRegion="comment"/>+ <StringDetect String="(((" attribute="Comment" context="MultilineComment(((" beginRegion="comment"/>+ </context>+ <context name="MultilineComment[[[" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <StringDetect String="]]]" attribute="Comment" context="#pop" endRegion="comment"/>+ <StringDetect String="[[[" attribute="Comment" context="MultilineComment[[[" beginRegion="comment"/>+ </context>+ <context name="MultilineComment{{{" attribute="Comment" lineEndContext="#stay">+ <StringDetect String="}}}" attribute="Comment" context="#pop" endRegion="comment"/>+ <StringDetect String="{{{" attribute="Comment" context="MultilineComment{{{" beginRegion="comment"/>+ <IncludeRules context="SingleLineComment"/>+ </context>+ <context name="MultilineComment«««" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <StringDetect String="»»»" attribute="Comment" context="#pop" endRegion="comment"/>+ <StringDetect String="«««" attribute="Comment" context="MultilineComment«««" beginRegion="comment"/>+ </context>+ <context name="MultilineComment<<<" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <StringDetect String=">>>" attribute="Comment" context="#pop" endRegion="comment"/>+ <StringDetect String="<<<" attribute="Comment" context="MultilineComment<<<" beginRegion="comment"/>+ </context>++ <context name="MultilineComment((" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <Detect2Chars char=")" char1=")" attribute="Comment" context="#pop" endRegion="comment"/>+ <Detect2Chars char="(" char1="(" attribute="Comment" context="MultilineComment((" beginRegion="comment"/>+ </context>+ <context name="MultilineComment[[" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <Detect2Chars char="]" char1="]" attribute="Comment" context="#pop" endRegion="comment"/>+ <Detect2Chars char="[" char1="[" attribute="Comment" context="MultilineComment[[" beginRegion="comment"/>+ </context>+ <context name="MultilineComment{{" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <Detect2Chars char="}" char1="}" attribute="Comment" context="#pop" endRegion="comment"/>+ <Detect2Chars char="{" char1="{" attribute="Comment" context="MultilineComment{{" beginRegion="comment"/>+ </context>+ <context name="MultilineComment««" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <Detect2Chars char="»" char1="»" attribute="Comment" context="#pop" endRegion="comment"/>+ <Detect2Chars char="«" char1="«" attribute="Comment" context="MultilineComment««" beginRegion="comment"/>+ </context>+ <context name="MultilineComment<<" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <Detect2Chars char=">" char1=">" attribute="Comment" context="#pop" endRegion="comment"/>+ <Detect2Chars char="<" char1="<" attribute="Comment" context="MultilineComment<<" beginRegion="comment"/>+ </context>++ <context name="MultilineComment(" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <DetectChar char=")" attribute="Comment" context="#pop" endRegion="comment"/>+ <DetectChar char="(" attribute="Comment" context="MultilineComment(" beginRegion="comment"/>+ </context>+ <context name="MultilineComment[" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <DetectChar char="]" attribute="Comment" context="#pop" endRegion="comment"/>+ <DetectChar char="[" attribute="Comment" context="MultilineComment[" beginRegion="comment"/>+ </context>+ <context name="MultilineComment{" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <DetectChar char="}" attribute="Comment" context="#pop" endRegion="comment"/>+ <DetectChar char="{" attribute="Comment" context="MultilineComment{" beginRegion="comment"/>+ </context>+ <context name="MultilineComment«" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <DetectChar char="»" attribute="Comment" context="#pop" endRegion="comment"/>+ <DetectChar char="«" attribute="Comment" context="MultilineComment«" beginRegion="comment"/>+ </context>+ <context name="MultilineComment<" attribute="Comment" lineEndContext="#stay">+ <IncludeRules context="SingleLineComment"/>+ <DetectChar char=">" attribute="Comment" context="#pop" endRegion="comment"/>+ <DetectChar char="<" attribute="Comment" context="MultilineComment<" beginRegion="comment"/>+ </context>++ <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop#pop">+ <DetectSpaces/>+ <IncludeRules context="##Comments"/>+ <DetectIdentifier/>+ </context>+++ <!-- Error -->++ <context name="Error" attribute="Error" lineEndContext="#pop"/>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Keyword Value" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Twigil" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Variable Storage" defStyleNum="dsKeyword" spellChecking="false" bold="1"/>+ <itemData name="Property" defStyleNum="dsBuiltIn" spellChecking="false" italic="1"/>+ <itemData name="Declare Routine" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Member Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Hyper Operator" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Number Suffix" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="String Delimiter" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="String (interpolated)" defStyleNum="dsString"/>+ <itemData name="String Special Character" defStyleNum="dsChar"/>+ <itemData name="Pattern" defStyleNum="dsOthers" spellChecking="false"/>+ <itemData name="Pattern Delimiter" defStyleNum="dsVerbatimString" spellChecking="false"/>+ <itemData name="Pattern Bracket" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Pattern Meta Character" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="Pattern Character Class" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Pattern Unicode Property" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Pattern Character" defStyleNum="dsSpecialString" spellChecking="false"/>+ <itemData name="Pattern Modifier" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Pattern Quantifier" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Pattern Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Pattern Special Character" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Pattern Named Capture" defStyleNum="dsAnnotation" spellChecking="false"/> <itemData name="Comment" defStyleNum="dsComment"/> <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> <itemData name="Pod" defStyleNum="dsDocumentation" spellChecking="false"/>
+ xml/raku.xml.patch view
@@ -0,0 +1,21 @@+--- raku.xml 2023-12-02 17:57:32.000000000 -0800++++ raku.new 2023-12-02 17:57:07.000000000 -0800+@@ -8,7 +8,8 @@+ -->+ <!-- Large values -->+ <!ENTITY rangealnum "_\p{L}\p{N}">+- <!ENTITY alnum "[_\p{L}\p{N}]">++ <!ENTITY _alnum "_\p{L}\p{N}">++ <!ENTITY alnum "[&_alnum;]">+ <!ENTITY _ident "&alnum;*+(?:[-']&alnum;*+)*+">+ <!ENTITY ident "(?:[_\p{L}]&_ident;)">+ <!ENTITY datatype "(?:[_\p{Lu}\p{Lt}]&_ident;)">+@@ -828,7 +829,7 @@+ <RegExpr String="&variable;|@" attribute="Variable"/>+ <RegExpr String="\$<&ident;>?" attribute="Pattern Named Capture"/>+ <AnyChar String="&|^$" attribute="Pattern Control Flow"/>+- <RegExpr String="[&alnum;\s]+" attribute="Pattern"/>++ <RegExpr String="[&_alnum;\s]+" attribute="Pattern"/>+ <AnyChar String=">)]" attribute="Error"/>+ </context>+
xml/rest.xml view
@@ -14,7 +14,7 @@ Copyright 2010 Matt Williams (matt@milliams.com) Copyright 2014 Matthew Woehlke (mw_triad@users.sourceforge.net) -->-<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="9" kateversion="5.0" casesensitive="1">+<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="10" kateversion="5.0" casesensitive="1"> <highlighting> @@ -44,7 +44,7 @@ <RegExpr attribute="SubstitutionReference" context="#stay" String="&inlinestart;\|[^\s].*\|&inlineend;" minimal="true"/> <RegExpr attribute="InlineInternalTarget" context="#stay" String="&inlinestart;_`[^\s].*`&inlineend;" minimal="true"/> <RegExpr attribute="FootnoteReference" context="#stay" String="&inlinestart;\[[&SimpleReferenceNameChars;]+\]_&inlineend;" minimal="true"/>- <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;(`[^\s].*`|\w+)_&inlineend;" minimal="true"/>+ <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;(`[^\s].*`|\w+)_{1,2}&inlineend;" minimal="true"/> <RegExpr attribute="InterpretedText" context="TrailingRole" String="&inlinestart;`[^\s].*`(?=:([\w\-_\.\+]+)(:[\w\-_\.\+]+)*:)" minimal="true"/> <RegExpr attribute="Role" String=":([\w\-_\.\+]+)(:[\w\-_\.\+]+)*:(?=`)" context="Role"/> <RegExpr attribute="DefaultRole" context="#stay" String="&inlinestart;`[^\s].*`&inlineend;" minimal="true"/>
xml/rhtml.xml view
@@ -44,7 +44,7 @@ --> <!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->-<language name="Ruby/Rails/RHTML" version="14" kateversion="5.63" section="Markup" extensions="*.rhtml;*.RHTML;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+">+<language name="Ruby/Rails/RHTML" version="15" kateversion="5.79" section="Markup" extensions="*.rhtml;*.RHTML;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+"> <highlighting>
xml/sass.xml view
@@ -6,26 +6,23 @@ <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])"> ]> -<language name="SASS" version="8" kateversion="5.53" section="Markup" extensions="*.sass" indenter="cstyle" mimetype="text/css" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT" priority="5">+<language name="SASS" version="8" kateversion="5.79" section="Markup" extensions="*.sass" indenter="cstyle" mimetype="text/css" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT" priority="5"> <highlighting>- <list name="properties">- <include>properties##SCSS</include>- <include>sub-properties##SCSS</include>- </list>+ <list name="properties"><include>properties##SCSS</include></list>+ <list name="vendor properties"><include>vendor properties##SCSS</include></list>+ <list name="sub-properties"><include>sub-properties##SCSS</include></list> <list name="special values"><include>special values##SCSS</include></list> <list name="value keywords"><include>value keywords##SCSS</include></list> <list name="values"><include>values##SCSS</include></list> <list name="colors"><include>colors##SCSS</include></list> <list name="functions"><include>functions##SCSS</include></list>- <list name="medias"><include>medias##SCSS</include></list>- <list name="pseudoelements"><include>pseudoelements##SCSS</include></list>- <list name="pseudoclasses"><include>pseudoclasses##SCSS</include></list>- <list name="pseudoclass-selector"><include>pseudoclass-selector##SCSS</include></list>- <list name="pseudoclasses-@page"><include>pseudoclasses-@page##SCSS</include></list>+ <list name="media types"><include>media types##SCSS</include></list>+ <list name="media features"><include>media features##SCSS</include></list>+ <list name="pseudo-elements"><include>pseudo-elements##SCSS</include></list>+ <list name="pseudo-classes"><include>pseudo-classes##SCSS</include></list>+ <list name="@page pseudo-classes"><include>@page pseudo-classes##SCSS</include></list> <list name="at-rules"><include>at-rules##SCSS</include></list>- <list name="nested at-rules"><include>nested at-rules##SCSS</include></list>- <list name="other at-rules"><include>other at-rules##SCSS</include></list> <list name="media operators"><include>media operators##SCSS</include></list> <list name="operators"><include>operators##SCSS</include></list> <list name="annotations"><include>annotations##SCSS</include></list>@@ -94,24 +91,24 @@ <DetectChar attribute="Annotation" context="Annotation" char="!" /> <keyword attribute="Operator" context="#stay" String="operators" /> <keyword attribute="Value Keyword" context="#stay" String="value keywords" />+ <keyword attribute="Value Keyword" context="#stay" String="special values" /> <keyword attribute="Value" context="#stay" String="values" /> <keyword attribute="Color" context="#stay" String="colors" /> <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?" /> <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" /> <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />- <keyword attribute="Value Keyword" context="#stay" String="special values" /> <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" /> <AnyChar attribute="Operator" context="#stay" String="*/+%-" /> <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" /> </context> <!-- same as SCSS -->- <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> <keyword attribute="Annotation" context="#pop" String="annotations" /> </context> <!-- same as SCSS -->- <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop"> <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)" /> </context> @@ -135,7 +132,7 @@ <Detect2Chars attribute="Comment" context="IsInlineComment2" char="/" char1="*" /> </context> - <context name="Comment" attribute="Comment" lineEndContext="#stay" dynamic="true" fallthrough="true" fallthroughContext="IsInlineComment">+ <context name="Comment" attribute="Comment" lineEndContext="#stay" dynamic="true" fallthroughContext="IsInlineComment"> <RegExpr attribute="Comment" context="IsInlineComment" String="^%1\s|^\s*$" dynamic="true" column="0" /> <DetectSpaces attribute="Normal Text" context="#pop" lookAhead="true" column="0" /> <RegExpr attribute="Comment" context="#pop" String="." lookAhead="true" column="0"/>@@ -155,7 +152,6 @@ </context> <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">- <keyword attribute="At Rule" context="#pop!AtRule" String="nested at-rules" /> <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" /> <!-- CSS: inline --> <!-- SCSS: inline or block -->@@ -225,8 +221,8 @@ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" /> </context> - <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />+ <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthroughContext="#pop">+ <keyword attribute="Selector Pseudo" context="#pop" String="@page pseudo-classes" /> <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" /> </context> @@ -238,7 +234,8 @@ <IncludeRules context="FindFunctions" /> <keyword attribute="Keyword" context="#stay" String="media operators" /> <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />- <keyword attribute="Value" context="#stay" String="medias" />+ <keyword attribute="Value" context="#stay" String="media types" />+ <keyword attribute="Value" context="#stay" String="media features" /> <IncludeRules context="FindValues" /> </context> @@ -264,30 +261,18 @@ <!-- same as SCSS --> <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop"> <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudo-classes" /> <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" /> </context> <!-- same as SCSS --> <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">- <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />+ <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudo-elements" /> <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" /> </context> <!-- same as SCSS -->- <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />- </context>-- <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#pop#pop#pop">- <DetectSpaces />- <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />- <IncludeRules context="FindSelector" />- </context>-- <!-- same as SCSS -->- <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthroughContext="#pop#pop"> <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" /> </context> @@ -303,6 +288,7 @@ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" /> <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" /> <keyword attribute="Property" context="#stay" String="properties" />+ <keyword attribute="Property" context="#stay" String="sub-properties" /> <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" /> </context> @@ -333,7 +319,7 @@ </context> <!-- same as SCSS -->- <context name="FunctionVar" attribute="Variable" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop!FunctionParameters">+ <context name="FunctionVar" attribute="Variable" lineEndContext="#pop#pop" fallthroughContext="#pop!FunctionParameters"> <DetectSpaces /> <IncludeRules context="FindComments" /> <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />@@ -365,7 +351,7 @@ </context> <!-- same as SCSS -->- <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="UrlValue">+ <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="UrlValue"> <DetectSpaces /> <IncludeRules context="FindStrings" /> <DetectChar attribute="Function" context="#pop#pop" char=")" />
xml/scala.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language>-<language name="Scala" version="11" kateversion="5.62" section="Sources"+<language name="Scala" version="12" kateversion="5.79" section="Sources" extensions="*.scala;*.sbt" mimetype="text/x-scala" license="LGPL" author="Stephane Micheloud (stephane.micheloud@epfl.ch)"> <!--
xml/scss.xml view
@@ -2,1044 +2,1495 @@ <!DOCTYPE language [ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->- <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">- <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">-]>--<!----Kate SCSS syntax highlighting definition--Changelog:--- Version 7, by Jonathan Poelen-- fix tag followed by a pseudo-class in a nested rule (@media, ...)-- fix constraint in a rule-- fix Kate auto-completion for properties and rules-- fix highlighting of pseudoclass/pseudoelement in a sub-rule-- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Value Keyword, Color, Number, Unit, Selector Tag, Placeholder Selector--- Version 4, by Guo Yunhe guoyunhebrave@gmail.com-- Remake for complex SCSS syntax, avoid errors--- Version 2.06, by Guo Yunhe-- Add all W3C Work Draft properties, inherit rules from css.xml--- Version 1.2.03.6, by Mte90-- Css3 Tag--- Version 1.2.03.1, by Tijn Schuurmans-- Added basic support for "@include mixin();"-- Clean the indentation to use 4 spaces everywhere---->--<language name="SCSS" version="15" kateversion="5.53" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">-- <highlighting>- <list name="properties">- <include>properties##CSS</include>- </list>-- <list name="sub-properties">- <item>action</item>- <item>adjust</item>- <item>after</item>- <item>align-all</item>- <item>align-last</item>- <item>align</item>- <item>alternates</item>- <item>anchor</item>- <item>area</item>- <item>areas</item>- <item>as</item>- <item>attachment</item>- <item>auto-columns</item>- <item>auto-flow</item>- <item>auto-rows</item>- <item>balance</item>- <item>baseline</item>- <item>basis</item>- <item>before</item>- <item>behavior-block</item>- <item>behavior-inlie</item>- <item>behavior-x</item>- <item>behavior-y</item>- <item>behavior</item>- <item>bidi</item>- <item>blend-mode</item>- <item>block-color</item>- <item>block-end-color</item>- <item>block-end-style</item>- <item>block-end-width</item>- <item>block-end</item>- <item>block-start-color</item>- <item>block-start-style</item>- <item>block-start-width</item>- <item>block-start</item>- <item>block-style</item>- <item>block-width</item>- <item>block</item>- <item>border-mode</item>- <item>border-outset</item>- <item>border-repeat</item>- <item>border-slice</item>- <item>border-source</item>- <item>bottom-color</item>- <item>bottom-left-radius</item>- <item>bottom-right-radius</item>- <item>bottom-style</item>- <item>bottom-width</item>- <item>boundary-detection</item>- <item>boundary-expansion</item>- <item>boundary</item>- <item>box</item>- <item>break</item>- <item>caps</item>- <item>cells</item>- <item>change</item>- <item>character</item>- <item>chars</item>- <item>clamp</item>- <item>clip-margin</item>- <item>collapse</item>- <item>color-adjust</item>- <item>column-end</item>- <item>column-start</item>- <item>column</item>- <item>combine-upright</item>- <item>composite</item>- <item>contain</item>- <item>count</item>- <item>decoration-break</item>- <item>decoration-color</item>- <item>decoration-line</item>- <item>decoration-skip-box</item>- <item>decoration-skip-ink</item>- <item>decoration-skip-inset</item>- <item>decoration-skip-self</item>- <item>decoration-skip-spaces</item>- <item>decoration-skip</item>- <item>decoration-style</item>- <item>decoration-thickness</item>- <item>decoration-width</item>- <item>decoration</item>- <item>defer</item>- <item>delay</item>- <item>detection</item>- <item>distance</item>- <item>down</item>- <item>duration</item>- <item>during</item>- <item>east-asian</item>- <item>edge</item>- <item>end-end-radius</item>- <item>end-radius</item>- <item>end-start-radius</item>- <item>end-style</item>- <item>end-width</item>- <item>end</item>- <item>events</item>- <item>expansion</item>- <item>family</item>- <item>feature-settings</item>- <item>fill-mode</item>- <item>filters</item>- <item>fit</item>- <item>flow</item>- <item>fragment</item>- <item>from</item>- <item>function</item>- <item>group-align</item>- <item>grow</item>- <item>gutter</item>- <item>header</item>- <item>height-step</item>- <item>image-outset</item>- <item>image-repeat</item>- <item>image-slice</item>- <item>image-source</item>- <item>image-threshold</item>- <item>image-transform</item>- <item>image-width</item>- <item>image</item>- <item>increment</item>- <item>indent</item>- <item>ink</item>- <item>inline-color</item>- <item>inline-end-color</item>- <item>inline-end-style</item>- <item>inline-end-width</item>- <item>inline-end</item>- <item>inline-start-color</item>- <item>inline-start-style</item>- <item>inline-start-width</item>- <item>inline-start</item>- <item>inline-style</item>- <item>inline-width</item>- <item>inline</item>- <item>insert</item>- <item>inside</item>- <item>interpolation-filters</item>- <item>into</item>- <item>intrinsic-block-size</item>- <item>intrinsic-sizing</item>- <item>items</item>- <item>iteration-count</item>- <item>justify</item>- <item>kerning</item>- <item>knockout-left</item>- <item>knockout-right</item>- <item>label</item>- <item>language-override</item>- <item>last</item>- <item>layout</item>- <item>left-color</item>- <item>left-radius</item>- <item>left-style</item>- <item>left-width</item>- <item>letter-align</item>- <item>letter-wrap</item>- <item>letter</item>- <item>level</item>- <item>ligatures</item>- <item>limit-chars</item>- <item>limit-last</item>- <item>limit-lines</item>- <item>limit-zone</item>- <item>line</item>- <item>lines</item>- <item>loop</item>- <item>max-size</item>- <item>merge</item>- <item>mid</item>- <item>min-size</item>- <item>mode</item>- <item>name</item>- <item>navigation-action</item>- <item>navigation-contain</item>- <item>navigation-function</item>- <item>numeral</item>- <item>numeric</item>- <item>optical-sizing</item>- <item>order</item>- <item>orientation-vertical</item>- <item>orientation</item>- <item>origin</item>- <item>outset</item>- <item>outside</item>- <item>overhang</item>- <item>override</item>- <item>palette</item>- <item>path</item>- <item>pattern</item>- <item>pitch</item>- <item>play-state</item>- <item>point</item>- <item>policy</item>- <item>property</item>- <item>punctuation</item>- <item>radius</item>- <item>range</item>- <item>rate</item>- <item>ratio</item>- <item>reference</item>- <item>rendering</item>- <item>repeat</item>- <item>reset</item>- <item>resolution</item>- <item>right-color</item>- <item>right-radius</item>- <item>right-style</item>- <item>right-width</item>- <item>round</item>- <item>row-end</item>- <item>row-start</item>- <item>row</item>- <item>rows</item>- <item>rule-color</item>- <item>rule-style</item>- <item>rule-width</item>- <item>rule</item>- <item>scheme</item>- <item>segment</item>- <item>select</item>- <item>self</item>- <item>set</item>- <item>settings</item>- <item>shadow</item>- <item>shape</item>- <item>shift</item>- <item>shrink</item>- <item>side</item>- <item>size-adjust</item>- <item>size</item>- <item>sizing</item>- <item>skip-box</item>- <item>skip-ink</item>- <item>skip-inset</item>- <item>skip-self</item>- <item>skip-spaces</item>- <item>skip</item>- <item>slice</item>- <item>small-caps</item>- <item>snap-align</item>- <item>snap-stop</item>- <item>snap-type</item>- <item>snap</item>- <item>source</item>- <item>space-collapse</item>- <item>space-trim</item>- <item>space</item>- <item>spaces</item>- <item>spacing</item>- <item>span</item>- <item>speed</item>- <item>start-color</item>- <item>start-end-radius</item>- <item>start-radius</item>- <item>start-start-radius</item>- <item>start-style</item>- <item>start-width</item>- <item>start</item>- <item>state</item>- <item>step-align</item>- <item>step-insert</item>- <item>step-round</item>- <item>step-size</item>- <item>step</item>- <item>stop</item>- <item>stress</item>- <item>stretch</item>- <item>style-image</item>- <item>style-position</item>- <item>style-type</item>- <item>style</item>- <item>synthesis-small-caps</item>- <item>synthesis-style</item>- <item>synthesis-weight</item>- <item>synthesis</item>- <item>template-areas</item>- <item>template-columns</item>- <item>template-rows</item>- <item>template</item>- <item>thickness</item>- <item>threshold</item>- <item>through</item>- <item>timing-function</item>- <item>top-color</item>- <item>top-left-radius</item>- <item>top-right-radius</item>- <item>top-style</item>- <item>top-width</item>- <item>trim</item>- <item>type</item>- <item>underline-offset</item>- <item>underline-position</item>- <item>up</item>- <item>upright</item>- <item>variant-alternates</item>- <item>variant-caps</item>- <item>variant-east-asian</item>- <item>variant-emoji</item>- <item>variant-ligatures</item>- <item>variant-numeric</item>- <item>variant-position</item>- <item>variant</item>- <item>variation-settings</item>- <item>vertical</item>- <item>weight</item>- <item>wrap</item>- <item>x</item>- <item>y</item>- <item>zone</item>- </list>-- <list name="special values">- <item>true</item>- <item>false</item>- <item>null</item>- </list>-- <list name="value keywords">- <include>value keywords##CSS</include>- </list>-- <list name="values">- <include>values##CSS</include>- </list>-- <list name="colors">- <include>colors##CSS</include>- </list>-- <list name="functions">- <include>functions##CSS</include>-- <!-- sass -->- <item>red</item>- <item>green</item>- <item>blue</item>- <item>mix</item>- <item>hue</item>- <item>saturation</item>- <item>lightness</item>- <item>adjust-hue</item>- <item>lighten</item>- <item>darken</item>- <item>saturate</item>- <item>desaturate</item>- <item>grayscale</item>- <item>complement</item>- <item>invert</item>- <item>alpha</item>- <item>opacify</item>- <item>transparentize</item>- <item>adjust-color</item>- <item>scale-color</item>- <item>change-color</item>- <item>ie-hex-str</item>- <item>unquote</item>- <item>quote</item>- <item>str-length</item>- <item>str-insert</item>- <item>str-index</item>- <item>str-slice</item>- <item>to-upper-case</item>- <item>to-lower-case</item>- <item>percentage</item>- <item>round</item>- <item>ceil</item>- <item>floor</item>- <item>abs</item>- <item>min</item>- <item>max</item>- <item>random</item>- <item>length</item>- <item>nth</item>- <item>set-nth</item>- <item>join</item>- <item>append</item>- <item>zip</item>- <item>index</item>- <item>list-separator</item>- <item>is-bracketed</item>- <item>map-get</item>- <item>map-merge</item>- <item>map-remove</item>- <item>map-keys</item>- <item>map-values</item>- <item>map-has-key</item>- <item>keywords</item>- <item>selector-nest</item>- <item>selector-append</item>- <item>selector-extend</item>- <item>selector-replace</item>- <item>selector-unify</item>- <item>is-superselector</item>- <item>simple-selectors</item>- <item>selector-parse</item>- <item>feature-exists</item>- <item>variable-exists</item>- <item>global-variable-exists</item>- <item>function-exists</item>- <item>mixin-exists</item>- <item>content-exists</item>- <item>inspect</item>- <item>type-of</item>- <item>unit</item>- <item>unitless</item>- <item>comparable</item>- <item>call</item>- <item>get-function</item>- <item>if</item>- <item>unique-id</item>- </list>-- <list name="medias">- <include>medias##CSS</include>- </list>-- <!-- prefixed by :: -->- <list name="pseudoelements">- <include>pseudoelements##CSS</include>- </list>-- <!-- prefixed by : -->- <list name="pseudoclasses">- <include>pseudoclasses##CSS</include>- </list>-- <list name="pseudoclass-selector">- <include>pseudoclass-selector##CSS</include>- </list>-- <list name="pseudoclasses-@page">- <include>pseudoclasses-@page##CSS</include>- </list>-- <list name="at-rules">- <include>at-rules##CSS</include>-- <!-- scss -->- <item>@debug</item>- <item>@warn</item>- <item>@error</item>- <item>@content</item>- <item>@return</item>- </list>-- <list name="nested at-rules">- <include>nested at-rules##CSS</include>-- <!-- scss -->- <item>@at-rule</item>- <item>@for</item>- <item>@each</item>- <item>@while</item>- </list>-- <list name="other at-rules">- <include>other at-rules##CSS</include>-- <!-- scss -->- <item>@else</item>- <item>@extend</item>- <item>@function</item>- <item>@if</item>- <item>@include</item>- <item>@mixin</item>- </list>-- <list name="within-@viewport">- <include>within-@viewport##CSS</include>- </list>-- <list name="within-@page">- <include>within-@page##CSS</include>- </list>-- <list name="within-@font-face">- <include>within-@font-face##CSS</include>- </list>-- <list name="within-@keyframes">- <include>within-@keyframes##CSS</include>- </list>-- <list name="media operators">- <include>media operators##CSS</include>- </list>-- <list name="operators">- <item>and</item>- <item>or</item>- <item>not</item>- </list>-- <list name="annotations">- <item>important</item>- <item>default</item>- <item>global</item>- </list>-- <contexts>- <context name="Base" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />- <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->- <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />- <DetectChar attribute="Separator Symbol" context="IsSelectors" char="," />- <AnyChar attribute="Operator" context="IsSelectors" String="*>+~|&" />- <RegExpr attribute="Selector Pseudo" context="SelectorPseudo" String=":(?=[a-z:])" />- <RegExpr attribute="Selector Id" context="IsSelectors" String="#[-]?(&nmstart;)(&nmchar;)*" />- <RegExpr attribute="Selector Class" context="IsSelectors" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />- <RegExpr attribute="Placeholder Selector" context="IsSelectors" String="%[_a-zA-Z][_a-zA-Z\-]*" />- <RegExpr attribute="Selector Tag" context="IsSelectors" String="[-]?(&nmstart;)(&nmchar;)*(?=\s|:?[#.&{[*>+~|,]|:[a-z:])" />- <RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />- <Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />- </context>-- <context name="IsSelectors" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="At Rule" context="#pop!SelectAtRule" char="@" lookAhead="true" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Error" context="#pop" char=";" />- <AnyChar attribute="Operator" context="#stay" String="*>+~|&" />- <IncludeRules context="SelectorTypes" />- </context>-- <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">- <AnyChar attribute="Error" context="#stay" String=",&" />- <AnyChar attribute="Operator" context="#stay" String="*>+~|" />- <IncludeRules context="SelectorTypes" />- </context>-- <context name="SelectorTypes" attribute="Normal Text" lineEndContext="#stay">- <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />- <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />- <IncludeRules context="FindComments" />- <RegExpr attribute="Selector Id" context="#stay" String="#[-]?(&nmstart;)(&nmchar;)*" />- <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />- <RegExpr attribute="Placeholder Selector" context="#stay" String="%[_a-zA-Z][_a-zA-Z\-]*" />- <RegExpr attribute="Selector Tag" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />- <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />- </context>-- <context name="VariableDefine" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- </context>-- <context name="Interpolation" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Interpolation" context="#pop" char="}" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- </context>-- <context name="InterpolationMaybeProperty" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Interpolation" context="#pop!MaybeProperty" char="}" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- </context>-- <context name="MaybeProperty" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">- <DetectSpaces />- <IncludeRules context="FindComments" />- <RegExpr attribute="Normal Text" context="Rule" String=":($|[/{\s0-9$"'])" lookAhead="true"/>- </context>--- <!-- find functions // rgba(255,255,255,0.75) -->- <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />- </context>-- <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->- <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Annotation" context="Annotation" char="!" />- <keyword attribute="Operator" context="#stay" String="operators" />- <keyword attribute="Value Keyword" context="#stay" String="value keywords" />- <keyword attribute="Value" context="#stay" String="values" />- <keyword attribute="Color" context="#stay" String="colors" />- <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />- <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3,4}){1,2}\b" />- <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />- <keyword attribute="Value Keyword" context="#stay" String="special values" />- <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />- <AnyChar attribute="Operator" context="#stay" String="*/+%-" />- <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />- </context>-- <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <keyword attribute="Annotation" context="#pop" String="annotations" />- </context>-- <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)" />- </context>-- <!-- find strings // "some words" 'some words' -->- <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="String" context="StringDQ" char=""" />- <DetectChar attribute="String" context="StringSQ" char="'" />- </context>-- <!-- find comments // /* comment */ -->- <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">- <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="/" lookAhead="true"/>- <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>- </context>-- <context name="IsComments" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Region Marker" context="#stay" String="/\*\s*BEGIN\b.*\*/|//\s*BEGIN\b.*" beginRegion="UserDefined" />- <RegExpr attribute="Region Marker" context="#stay" String="/\*\s*END\b.*\*/|//\s*END\b.*" endRegion="UserDefined" />- <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />- <Detect2Chars attribute="Comment" context="SassComment" char="/" char1="/" />- </context>-- <context name="SassComment" attribute="Comment" lineEndContext="#pop#pop">- <DetectSpaces />- <IncludeRules context="##Comments" />- <DetectIdentifier />- </context>-- <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">- <keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />- <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />- <!-- CSS: inline -->- <!-- SCSS: inline or block -->- <WordDetect attribute="At Rule" context="#pop!UnknownAtRule" String="@include" />- <WordDetect attribute="At Rule" context="#pop!@extend" String="@extend" />- <WordDetect attribute="At Rule" context="#pop!@mixin" String="@mixin" />- <WordDetect attribute="At Rule" context="#pop!@mixin" String="@function" />- <WordDetect attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />- <WordDetect attribute="At Rule" context="#pop!@viewport" String="@viewport" />- <WordDetect attribute="At Rule" context="#pop!@font-face" String="@font-face" />- <WordDetect attribute="At Rule" context="#pop!@if" String="@if" />- <WordDetect attribute="At Rule" context="#pop!@else" String="@else" />- <WordDetect attribute="At Rule" context="#pop!@page" String="@page" />- <RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />- </context>-- <context name="@if" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <AnyChar attribute="Operator" context="#stay" String="=!<>" />- </context>-- <context name="@else" attribute="Error" lineEndContext="#stay">- <DetectSpaces attribute="Normal Text" />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="FindComments" />- <WordDetect attribute="At Rule" context="#pop!@if" String="if" />- <DetectIdentifier attribute="Error" />- </context>-- <context name="@extend" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Separator Symbol" context="#pop" char=";" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <IncludeRules context="FindSelector" />- </context>-- <context name="@mixin" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <RegExpr attribute="Function" context="MixinParameter" String="[a-zA-Z0-9\-_]+" />- </context>-- <context name="MixinParameter" attribute="Error" lineEndContext="#stay">- <DetectSpaces attribute="Normal Text" />- <AnyChar attribute="Normal Text" context="#stay" String="()" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Normal Text" context="#pop#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="FindComments" />- <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z0-9\-_]+" />- <StringDetect attribute="Operator" context="#stay" String="..." />- </context>-- <context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <keyword attribute="Value" context="#stay" String="within-@keyframes" />- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />- </context>-- <context name="@viewport" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />- <DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <keyword attribute="Property" context="IsProperty" String="within-@viewport" />- <IncludeRules context="RuleSet" />- </context>-- <context name="@font-face" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />- </context>-- <context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <keyword attribute="Property" context="IsProperty" String="within-@font-face" />- <RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- </context>-- <context name="@page" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />- <DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />- </context>-- <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">- <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />- <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <keyword attribute="Property" context="IsProperty" String="within-@page" />- <IncludeRules context="RuleSet" />- </context>-- <context name="IsProperty" attribute="Error" lineEndContext="#stay">- <DetectSpaces attribute="Normal Text" />- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- <IncludeRules context="FindComments" />- </context>-- <context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">- <DetectSpaces />- <DetectChar attribute="Separator Symbol" context="#pop" char=";" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#pop">- <DetectSpaces />- <DetectChar attribute="Separator Symbol" context="#pop" char=";" />- <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <IncludeRules context="AtRuleValue" />- </context>-- <context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Operator" context="#stay" char="&" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <keyword attribute="Keyword" context="#stay" String="media operators" />- <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />- <keyword attribute="Value" context="#stay" String="medias" />- <IncludeRules context="FindValues" />- </context>-- <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="#pop" char="]" />- <IncludeRules context="FindStrings" />- <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />- <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />- <DetectIdentifier />- </context>-- <context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />- <DetectIdentifier />- </context>-- <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-selector" />- <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />- <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">- <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />- <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />- </context>-- <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />- <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />- <IncludeRules context="FindSelector" />- </context>-- <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">- <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />- </context>-- <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">- <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />- <DetectIdentifier />- </context>-- <context name="Comment" attribute="Comment" lineEndContext="#stay">- <DetectSpaces />- <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />- <IncludeRules context="##Comments" />- <DetectIdentifier />- </context>-- <context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+\s*:($|[/{\s0-9$"'])" lookAhead="true" />- <IncludeRules context="Base" />- </context>-- <context name="Rule" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />- <keyword attribute="Property" context="#stay" String="properties" />- <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />- </context>-- <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">- <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />- <RegExpr attribute="Variable" context="#stay" String="[^:]+" />- </context>-- <context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <!-- Jump out conditions -->- <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />- <DetectChar attribute="Normal Text" context="SubRule" char="{" beginRegion="ruleset" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- </context>-- <context name="SubRule" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />- <RegExpr attribute="Property" context="IsProperty" String="[A-Za-z_-]+(?=\s*:)" />- <RegExpr attribute="Variable" context="VariableDefine" String="\$[a-zA-Z0-9\-_]+(?=\s*:)" />- <Detect2Chars attribute="Interpolation" context="InterpolationMaybeProperty" char="#" char1="{" />- <DetectIdentifier />- <AnyChar attribute="Error" context="#stay" String="*>+~|.#" />- </context>-- <context name="Function" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Function" context="FunctionParameters" char="(" />- <StringDetect attribute="Function" context="FunctionVar" String="var(" />- <StringDetect attribute="Function" context="FunctionUrl" String="url(" />- <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />- <keyword attribute="Function" context="#stay" String="functions" />- <RegExpr attribute="Function" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />- </context>-- <context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">- <DetectSpaces />- <IncludeRules context="FindComments" />- <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />- </context>-- <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- <IncludeRules context="Calc" />- </context>-- <context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Normal Text" context="#pop" char=")" />- <IncludeRules context="Calc" />- </context>-- <context name="Calc" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />- </context>-- <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">- <DetectSpaces />- <IncludeRules context="FindStrings" />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- </context>-- <context name="UrlValue" attribute="String" lineEndContext="#stay">- <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />- </context>-- <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <DetectChar attribute="Function" context="#pop#pop" char=")" />- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <DetectChar attribute="Separator Symbol" context="#stay" char="," />- <StringDetect attribute="Operator" String="..." />- </context>-- <!-- string contexts -->- <context name="StringDQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char=""" />- <IncludeRules context="InsideString" />- </context>-- <context name="StringSQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char="'" />- <IncludeRules context="InsideString" />- </context>-- <context name="InsideString" attribute="String" lineEndContext="#stay">- <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{" />- <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />- <RegExpr attribute="String" context="#stay" String="\\?[^#"'\\]+" />- </context>-- </contexts>-- <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>- <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="String" defStyleNum="dsString"/>- <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>- <itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/>- <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>- <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>- <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>- <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>- <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>- <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>- <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>- <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>- <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>- <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>- <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/>- <itemData name="Comment" defStyleNum="dsComment" />- <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>- <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>- </itemDatas>- </highlighting>-- <general>- <keywords casesensitive="0" weakDeliminator="-%@" />- <comments>- <comment name="singleLine" start="//" position="afterwhitespace" />- <comment name="multiLine" start="/*" end="*/" region="comment" />+ <!ENTITY escaped "\\([0-9a-fA-F]{1,6}|[^\n\r\f0-9a-fA-F])">+ <!-- identifiers starting with several - are invalid, but supported by browsers -->+ <!ENTITY ident2 "([-\w]+|&escaped;)+">+ <!ENTITY selector "(&ident2;|(?=\#\{))">+ <!ENTITY ident "-?([_a-zA-Z]+|&escaped;)([-_a-zA-Z0-9]+|&escaped;)*">+ <!ENTITY var "--[-\w]*">+ <!ENTITY func "[-_a-zA-Z][-_a-zA-Z0-9]*">+ <!ENTITY propcheck "(?=\s*(/[*].*?[*]/\s*)?:)">++ <!-- #{...} and #{...#{...}...} -->+ <!ENTITY interpolation "#\{([^}#]*+|#\{[^}]*+\})*+\}">+ <!ENTITY comment "/\*.*?\*/">+ <!ENTITY spaces "(\s|&comment;)*+">+ <!-- TODO -->+ <!ENTITY pseudoclasses "active|any-link|autofill|buffering|checked|current|default|defined|dir|disabled|empty|enabled|first|first-child|first-of-type|focus|focus-visible|focus-within|fullscreen|has|host|host-context|hover|in-range|indeterminate|invalid|is|lang|last-child|last-of-type|left|link|local-link|modal|muted|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|optional|out-of-range|paused|picture-in-picture|placeholder-shown|playing|read-only|read-write|required|right|root|scope|seeking|stalled|target|user-invalid|user-valid|valid|visited|volume-locked|where">++ <!ENTITY propvar1 "([-_a-zA-Z0-9]*+\.)?\$">+ <!ENTITY propvar2 "--[-_a-zA-Z0-9]*+&spaces;:">+ <!ENTITY maybeprop "([-a-zA-Z]++|&interpolation;)+&spaces;:(?!:)">+ <!ENTITY assumeprop "([^-a-zA-Z]|$|((?!(&pseudoclasses;)\b)[^;{}:]*+(\s*[;}]|$)))">+]>++<!--++Kate SCSS syntax highlighting definition++Changelog:++- Version 7, by Jonathan Poelen+- fix tag followed by a pseudo-class in a nested rule (@media, ...)+- fix constraint in a rule+- fix Kate auto-completion for properties and rules+- fix highlighting of pseudoclass/pseudoelement in a sub-rule+- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Value Keyword, Color, Number, Unit, Selector Tag, Placeholder Selector++- Version 4, by Guo Yunhe guoyunhebrave@gmail.com+- Remake for complex SCSS syntax, avoid errors++- Version 2.06, by Guo Yunhe+- Add all W3C Work Draft properties, inherit rules from css.xml++- Version 1.2.03.6, by Mte90+- Css3 Tag++- Version 1.2.03.1, by Tijn Schuurmans+- Added basic support for "@include mixin();"+- Clean the indentation to use 4 spaces everywhere++-->++<language name="SCSS" version="17" kateversion="5.79" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">++ <highlighting>+ <list name="properties">+ <include>properties##CSS</include>+ </list>++ <list name="vendor properties">+ <include>vendor properties##CSS</include>+ </list>++ <list name="sub-properties">+ <item>-webkit</item>+ <item>-webkit-line</item>+ <item>-webkit-text</item>+ <item>-webkit-text-fill</item>+ <item>accent</item>+ <item>action</item>+ <item>additive</item>+ <item>adjust</item>+ <item>after</item>+ <item>align</item>+ <item>align-last</item>+ <item>alternates</item>+ <item>anchor</item>+ <item>animation-fill</item>+ <item>animation-iteration</item>+ <item>animation-play</item>+ <item>animation-timing</item>+ <item>area</item>+ <item>areas</item>+ <item>as</item>+ <item>ascent</item>+ <item>asian</item>+ <item>aspect</item>+ <item>attachment</item>+ <item>auto</item>+ <item>auto-columns</item>+ <item>auto-flow</item>+ <item>auto-rows</item>+ <item>backdrop</item>+ <item>backface</item>+ <item>background-blend</item>+ <item>base</item>+ <item>basis</item>+ <item>before</item>+ <item>behavior</item>+ <item>behavior-block</item>+ <item>behavior-inline</item>+ <item>behavior-x</item>+ <item>behavior-y</item>+ <item>bidi</item>+ <item>blend</item>+ <item>blend-mode</item>+ <item>block</item>+ <item>block-color</item>+ <item>block-end</item>+ <item>block-end-color</item>+ <item>block-end-style</item>+ <item>block-end-width</item>+ <item>block-start</item>+ <item>block-start-color</item>+ <item>block-start-style</item>+ <item>block-start-width</item>+ <item>block-style</item>+ <item>block-width</item>+ <item>border-bottom-left</item>+ <item>border-bottom-right</item>+ <item>border-end</item>+ <item>border-end-end</item>+ <item>border-end-start</item>+ <item>border-mode</item>+ <item>border-outset</item>+ <item>border-repeat</item>+ <item>border-slice</item>+ <item>border-source</item>+ <item>border-start</item>+ <item>border-start-end</item>+ <item>border-start-start</item>+ <item>border-top-left</item>+ <item>border-top-right</item>+ <item>bottom-color</item>+ <item>bottom-left</item>+ <item>bottom-left-radius</item>+ <item>bottom-right</item>+ <item>bottom-right-radius</item>+ <item>bottom-style</item>+ <item>bottom-width</item>+ <item>box</item>+ <item>box-decoration</item>+ <item>break</item>+ <item>caps</item>+ <item>caption</item>+ <item>caret</item>+ <item>cells</item>+ <item>change</item>+ <item>character</item>+ <item>chars</item>+ <item>clamp</item>+ <item>clip</item>+ <item>clip-margin</item>+ <item>collapse</item>+ <item>color-adjust</item>+ <item>colors</item>+ <item>column</item>+ <item>column-end</item>+ <item>column-start</item>+ <item>combine</item>+ <item>combine-upright</item>+ <item>composite</item>+ <item>composition</item>+ <item>contain-intrinsic</item>+ <item>contain-intrinsic-block</item>+ <item>contain-intrinsic-inline</item>+ <item>count</item>+ <item>counter</item>+ <item>decoration</item>+ <item>decoration-break</item>+ <item>decoration-color</item>+ <item>decoration-line</item>+ <item>decoration-skip</item>+ <item>decoration-skip-ink</item>+ <item>decoration-style</item>+ <item>decoration-thickness</item>+ <item>delay</item>+ <item>depth</item>+ <item>descent</item>+ <item>distance</item>+ <item>duration</item>+ <item>east</item>+ <item>east-asian</item>+ <item>emoji</item>+ <item>emphasis</item>+ <item>emphasis-color</item>+ <item>emphasis-position</item>+ <item>emphasis-style</item>+ <item>empty</item>+ <item>end</item>+ <item>end-color</item>+ <item>end-end</item>+ <item>end-end-radius</item>+ <item>end-radius</item>+ <item>end-start</item>+ <item>end-start-radius</item>+ <item>end-style</item>+ <item>end-width</item>+ <item>events</item>+ <item>family</item>+ <item>feature</item>+ <item>feature-settings</item>+ <item>fill</item>+ <item>fill-color</item>+ <item>fill-mode</item>+ <item>fit</item>+ <item>flow</item>+ <item>font-feature</item>+ <item>font-language</item>+ <item>font-optical</item>+ <item>font-synthesis-small</item>+ <item>font-variant-east</item>+ <item>font-variation</item>+ <item>forced</item>+ <item>forced-color</item>+ <item>function</item>+ <item>gap-override</item>+ <item>grid-auto</item>+ <item>grow</item>+ <item>gutter</item>+ <item>hanging</item>+ <item>hyphenate</item>+ <item>hyphenate-limit</item>+ <item>image</item>+ <item>image-outset</item>+ <item>image-repeat</item>+ <item>image-slice</item>+ <item>image-source</item>+ <item>image-threshold</item>+ <item>image-width</item>+ <item>increment</item>+ <item>indent</item>+ <item>index</item>+ <item>initial</item>+ <item>ink</item>+ <item>inline</item>+ <item>inline-color</item>+ <item>inline-end</item>+ <item>inline-end-color</item>+ <item>inline-end-style</item>+ <item>inline-end-width</item>+ <item>inline-start</item>+ <item>inline-start-color</item>+ <item>inline-start-style</item>+ <item>inline-start-width</item>+ <item>inline-style</item>+ <item>inline-width</item>+ <item>inside</item>+ <item>intrinsic</item>+ <item>intrinsic-block</item>+ <item>intrinsic-block-size</item>+ <item>intrinsic-height</item>+ <item>intrinsic-inline</item>+ <item>intrinsic-inline-size</item>+ <item>intrinsic-size</item>+ <item>intrinsic-width</item>+ <item>items</item>+ <item>iteration</item>+ <item>iteration-count</item>+ <item>justify</item>+ <item>kerning</item>+ <item>language</item>+ <item>language-override</item>+ <item>last</item>+ <item>layout</item>+ <item>left-color</item>+ <item>left-radius</item>+ <item>left-style</item>+ <item>left-width</item>+ <item>letter</item>+ <item>ligatures</item>+ <item>limit</item>+ <item>limit-chars</item>+ <item>line</item>+ <item>line-clamp</item>+ <item>line-gap</item>+ <item>list</item>+ <item>math</item>+ <item>max</item>+ <item>max-block</item>+ <item>max-inline</item>+ <item>min</item>+ <item>min-block</item>+ <item>min-inline</item>+ <item>mix</item>+ <item>mix-blend</item>+ <item>mode</item>+ <item>name</item>+ <item>numeric</item>+ <item>object</item>+ <item>optical</item>+ <item>optical-sizing</item>+ <item>orientation</item>+ <item>origin</item>+ <item>outset</item>+ <item>outside</item>+ <item>overflow-clip</item>+ <item>override</item>+ <item>overscroll</item>+ <item>page-break</item>+ <item>paint</item>+ <item>palette</item>+ <item>path</item>+ <item>place</item>+ <item>play</item>+ <item>play-state</item>+ <item>pointer</item>+ <item>position-x</item>+ <item>position-y</item>+ <item>print</item>+ <item>print-color</item>+ <item>property</item>+ <item>punctuation</item>+ <item>radius</item>+ <item>ratio</item>+ <item>rendering</item>+ <item>repeat</item>+ <item>reset</item>+ <item>right-color</item>+ <item>right-radius</item>+ <item>right-style</item>+ <item>right-width</item>+ <item>row</item>+ <item>row-end</item>+ <item>row-start</item>+ <item>rows</item>+ <item>ruby</item>+ <item>rule</item>+ <item>rule-color</item>+ <item>rule-style</item>+ <item>rule-width</item>+ <item>scheme</item>+ <item>scroll</item>+ <item>scroll-snap</item>+ <item>scrollbar</item>+ <item>select</item>+ <item>self</item>+ <item>set</item>+ <item>settings</item>+ <item>shadow</item>+ <item>shape</item>+ <item>shape-image</item>+ <item>shrink</item>+ <item>side</item>+ <item>sizing</item>+ <item>skip</item>+ <item>skip-ink</item>+ <item>slice</item>+ <item>small</item>+ <item>small-caps</item>+ <item>snap</item>+ <item>snap-align</item>+ <item>snap-stop</item>+ <item>snap-type</item>+ <item>source</item>+ <item>space</item>+ <item>spacing</item>+ <item>span</item>+ <item>speak</item>+ <item>start</item>+ <item>start-color</item>+ <item>start-end</item>+ <item>start-end-radius</item>+ <item>start-radius</item>+ <item>start-start</item>+ <item>start-start-radius</item>+ <item>start-style</item>+ <item>start-width</item>+ <item>state</item>+ <item>stop</item>+ <item>stretch</item>+ <item>stroke</item>+ <item>stroke-color</item>+ <item>stroke-width</item>+ <item>style</item>+ <item>style-image</item>+ <item>style-position</item>+ <item>style-type</item>+ <item>synthesis</item>+ <item>synthesis-position</item>+ <item>synthesis-small</item>+ <item>synthesis-small-caps</item>+ <item>synthesis-style</item>+ <item>synthesis-weight</item>+ <item>tab</item>+ <item>table</item>+ <item>template</item>+ <item>template-areas</item>+ <item>template-columns</item>+ <item>template-rows</item>+ <item>text</item>+ <item>text-combine</item>+ <item>text-decoration-skip</item>+ <item>text-fill</item>+ <item>text-fill-color</item>+ <item>text-stroke</item>+ <item>text-stroke-color</item>+ <item>text-stroke-width</item>+ <item>text-underline</item>+ <item>thickness</item>+ <item>threshold</item>+ <item>timing</item>+ <item>timing-function</item>+ <item>top-color</item>+ <item>top-left</item>+ <item>top-left-radius</item>+ <item>top-right</item>+ <item>top-right-radius</item>+ <item>top-style</item>+ <item>top-width</item>+ <item>touch</item>+ <item>transition-timing</item>+ <item>type</item>+ <item>underline</item>+ <item>underline-offset</item>+ <item>underline-position</item>+ <item>unicode</item>+ <item>upright</item>+ <item>user</item>+ <item>value</item>+ <item>variant</item>+ <item>variant-alternates</item>+ <item>variant-caps</item>+ <item>variant-east</item>+ <item>variant-east-asian</item>+ <item>variant-emoji</item>+ <item>variant-ligatures</item>+ <item>variant-numeric</item>+ <item>variant-position</item>+ <item>variation</item>+ <item>variation-settings</item>+ <item>vertical</item>+ <item>weight</item>+ <item>white</item>+ <item>will</item>+ <item>word</item>+ <item>wrap</item>+ <item>writing</item>+ <item>x</item>+ <item>y</item>+ <item>z</item>+ </list>++ <list name="media types">+ <include>media types##CSS</include>+ </list>++ <list name="media features">+ <include>media features##CSS</include>+ </list>++ <list name="special values">+ <item>true</item>+ <item>false</item>+ <item>null</item>+ </list>++ <list name="value keywords">+ <include>value keywords##CSS</include>+ </list>++ <list name="values">+ <include>values##CSS</include>+ </list>++ <list name="colors">+ <include>colors##CSS</include>+ </list>++ <list name="functions">+ <include>functions##CSS</include>++ <!-- https://sass-lang.com/documentation/modules/ -->++ <!-- color -->+ <item>adjust-color</item>+ <item>adjust-hue</item>+ <item>alpha</item>+ <item>blue</item>+ <item>change-color</item>+ <item>color.alpha</item>+ <item>color.blackness</item>+ <item>color.blue</item>+ <item>color.complement</item>+ <item>color.grayscale</item>+ <item>color.green</item>+ <item>color.hue</item>+ <item>color.hwb</item>+ <item>color.ie-hex-str</item>+ <item>color.invert</item>+ <item>color.lightness</item>+ <item>color.mix</item>+ <item>color.red</item>+ <item>color.saturate</item>+ <item>color.saturation</item>+ <item>color.whiteness</item>+ <item>complement</item>+ <item>darken</item>+ <item>desaturate</item>+ <item>fade-in</item>+ <item>fade-out</item>+ <item>green</item>+ <item>hue</item>+ <item>ie-hex-str</item>+ <item>lighten</item>+ <item>lightness</item>+ <item>mix</item>+ <item>opacify</item>+ <item>red</item>+ <item>saturation</item>+ <item>scale-color</item>+ <item>transparentize</item>++ <!-- index -->+ <item>hsla</item>+ <item>if</item>+ <item>rgba</item>++ <!-- list -->+ <item>append</item>+ <item>index</item>+ <item>is-bracketed</item>+ <item>join</item>+ <item>length</item>+ <item>list-separator</item>+ <item>list.append</item>+ <item>list.index</item>+ <item>list.is-bracketed</item>+ <item>list.join</item>+ <item>list.length</item>+ <item>list.nth</item>+ <item>list.separator</item>+ <item>list.set-nth</item>+ <item>list.slash</item>+ <item>list.zip</item>+ <item>nth</item>+ <item>set-nth</item>+ <item>zip</item>++ <!-- map -->+ <item>map-get</item>+ <item>map-has-key</item>+ <item>map-keys</item>+ <item>map-merge</item>+ <item>map-remove</item>+ <item>map-values</item>+ <item>map.deep-merge</item>+ <item>map.deep-remove</item>+ <item>map.get</item>+ <item>map.has-key</item>+ <item>map.keys</item>+ <item>map.merge</item>+ <item>map.remove</item>+ <item>map.set</item>+ <item>map.values</item>++ <!-- math -->+ <item>ceil</item>+ <item>comparable</item>+ <item>floor</item>+ <item>math.abs</item>+ <item>math.acos</item>+ <item>math.asin</item>+ <item>math.atan</item>+ <item>math.atan2</item>+ <item>math.ceil</item>+ <item>math.clamp</item>+ <item>math.compatible</item>+ <item>math.cos</item>+ <item>math.div</item>+ <item>math.floor</item>+ <item>math.hypot</item>+ <item>math.is-unitless</item>+ <item>math.log</item>+ <item>math.max</item>+ <item>math.min</item>+ <item>math.percentage</item>+ <item>math.pow</item>+ <item>math.random</item>+ <item>math.round</item>+ <item>math.sin</item>+ <item>math.sqrt</item>+ <item>math.tan</item>+ <item>math.unit</item>+ <item>percentage</item>+ <item>random</item>+ <item>unit</item>+ <item>unitless</item>++ <!-- meta -->+ <item>call</item>+ <item>content-exists</item>+ <item>feature-exists</item>+ <item>function-exists</item>+ <item>get-function</item>+ <item>global-variable-exists</item>+ <item>inspect</item>+ <item>keywords</item>+ <item>meta.calc-args</item>+ <item>meta.calc-name</item>+ <item>meta.call</item>+ <item>meta.content-exists</item>+ <item>meta.feature-exists</item>+ <item>meta.function-exists</item>+ <item>meta.get-function</item>+ <item>meta.global-variable-exists</item>+ <item>meta.inspect</item>+ <item>meta.keywords</item>+ <item>meta.load-css</item>+ <item>meta.mixin-exists</item>+ <item>meta.module-functions</item>+ <item>meta.module-variables</item>+ <item>meta.type-of</item>+ <item>meta.variable-exists</item>+ <item>mixin-exists</item>+ <item>type-of</item>+ <item>variable-exists</item>++ <!-- selector -->+ <item>is-superselector</item>+ <item>selector-append</item>+ <item>selector-extend</item>+ <item>selector-nest</item>+ <item>selector-parse</item>+ <item>selector-replace</item>+ <item>selector-unify</item>+ <item>selector.append</item>+ <item>selector.extend</item>+ <item>selector.is-superselector</item>+ <item>selector.nest</item>+ <item>selector.parse</item>+ <item>selector.replace</item>+ <item>selector.simple-selectors</item>+ <item>selector.unify</item>+ <item>simple-selectors</item>++ <!-- string -->+ <item>quote</item>+ <item>str-index</item>+ <item>str-insert</item>+ <item>str-length</item>+ <item>str-slice</item>+ <item>string.index</item>+ <item>string.insert</item>+ <item>string.length</item>+ <item>string.quote</item>+ <item>string.slice</item>+ <item>string.split</item>+ <item>string.to-lower-case</item>+ <item>string.to-upper-case</item>+ <item>string.unique-id</item>+ <item>string.unquote</item>+ <item>to-lower-case</item>+ <item>to-upper-case</item>+ <item>unique-id</item>+ <item>unquote</item>+ </list>++ <!-- prefixed by :: -->+ <list name="pseudo-elements">+ <include>pseudo-elements##CSS</include>+ </list>++ <!-- prefixed by : -->+ <list name="pseudo-classes">+ <include>pseudo-classes##CSS</include>+ </list>++ <list name="@page pseudo-classes">+ <include>@page pseudo-classes##CSS</include>+ </list>++ <list name="at-rules">+ <include>at-rules##CSS</include>++ <!-- scss -->+ <item>@at-root</item>+ <item>@content</item>+ <item>@debug</item>+ <item>@each</item>+ <item>@else</item>+ <item>@error</item>+ <item>@extend</item>+ <item>@for</item>+ <item>@forward</item>+ <item>@function</item>+ <item>@if</item>+ <item>@import</item>+ <item>@include</item>+ <item>@mixin</item>+ <item>@return</item>+ <item>@use</item>+ <item>@warn</item>+ <item>@while</item>+ </list>++ <list name="at-rules definitions">+ <include>at-rules definitions##CSS</include>+ </list>++ <list name="operators">+ <item>and</item>+ <item>or</item>+ <item>not</item>+ </list>++ <list name="media operators">+ <item>or</item>+ <item>and</item>+ <item>only</item>+ <item>not</item>+ </list>++ <list name="annotations">+ <item>important</item>+ <item>default</item>+ <item>global</item>+ <item>optional</item>+ </list>++ <contexts>+ <context name="Base" attribute="Normal Text" fallthroughContext="Selector">+ <DetectSpaces attribute="Normal Text"/>+ <Detect2Chars context="InterpolationPropertyOrSelector" char="#" char1="{" lookAhead="1"/>+ <AnyChar context="Selector" String="*>+~|&#.%,:[\" lookAhead="1"/>+ <DetectChar attribute="Block Symbol" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" char="}" endRegion="ruleset"/>+ <DetectChar context="SelectAtRule" char="@" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <RegExpr context="Property" String="(&propvar1;|&propvar2;|&maybeprop;&assumeprop;)|" lookAhead="1"/>+ </context>+ <context name="InterpolationPropertyOrSelector" attribute="Normal Text" fallthroughContext="#pop!Selector">+ <RegExpr context="#pop!Property" String="(&propvar1;|&propvar2;|&maybeprop;&assumeprop;)|" lookAhead="1"/>+ </context>++ <!-- selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <context name="Selector" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Block Symbol" context="#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Separator Symbol" context="#pop" char=";"/>+ <IncludeRules context="FindSelector"/>+ </context>++ <!-- selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <context name="FindSelector" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Selector Pseudo" context="PseudoClassOrElement" char=":"/>+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="["/>+ <DetectChar attribute="Selector Pseudo" context="PseudoClassSelector" char="("/>+ <AnyChar attribute="Selector Symbol" String="*>+~|&"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ <RegExpr attribute="Selector Class" String="\.&selector;" context="SelectorClass"/>+ <RegExpr attribute="Selector Id" String="#&selector;" context="SelectorId"/>+ <RegExpr attribute="Selector Tag" String="&ident;"/>+ <RegExpr attribute="Placeholder Selector" String="%&selector;" context="SelectorPlaceholder"/>+ <DetectChar attribute="Error" char="$"/>+ </context>++ <context name="SelectorClass" attribute="Selector Class" lineEndContext="#pop" fallthroughContext="#pop">+ <Detect2Chars context="SelectorClass2" char="#" char1="{" lookAhead="1"/>+ </context>+ <context name="SelectorClass2" attribute="Selector Class" fallthroughContext="#pop#pop">+ <IncludeRules context="FindInterpolation"/>+ <RegExpr String="&ident2;"/>+ </context>++ <context name="SelectorId" attribute="Selector Id" lineEndContext="#pop" fallthroughContext="#pop">+ <Detect2Chars context="SelectorId2" char="#" char1="{" lookAhead="1"/>+ </context>+ <context name="SelectorId2" attribute="Selector Id" fallthroughContext="#pop#pop">+ <IncludeRules context="SelectorClass2"/>+ </context>++ <context name="SelectorPlaceholder" attribute="Placeholder Selector" lineEndContext="#pop" fallthroughContext="#pop">+ <Detect2Chars context="SelectorPlaceholder2" char="#" char1="{" lookAhead="1"/>+ </context>+ <context name="SelectorPlaceholder2" attribute="Placeholder Selector" fallthroughContext="#pop#pop">+ <IncludeRules context="SelectorClass2"/>+ </context>+++ <context name="Property" attribute="Normal Text">+ <DetectChar attribute="Property Separator" context="PropertyValues" char=":"/>+ <IncludeRules context="FindVariable"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ <Detect2Chars attribute="Variable" context="Variable" char="-" char1="-"/>+ <keyword attribute="Property" String="properties"/>+ <keyword attribute="Property" String="sub-properties"/>+ <IncludeRules context="FindVendorProperty"/>+ <RegExpr attribute="Unknown Property" String="[-_a-zA-Z0-9]++(?!\.)"/>+ <RegExpr attribute="Normal Text" String="[-_a-zA-Z0-9]+\."/>+ </context>++ <context name="PropertyValues" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop!SubProperty" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Selector Symbol" char="&"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="SubProperty" attribute="Normal Text">+ <DetectSpaces attribute="Normal Text"/>+ <DetectChar attribute="Error" char=";"/>+ <DetectChar attribute="Block Symbol" context="SubProperty" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Property Separator" context="SubPropertyValues" char=":"/>+ <IncludeRules context="Property"/>+ </context>+ <context name="SubPropertyValues" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" context="#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop!SubProperty" char="{" beginRegion="ruleset"/>+ <IncludeRules context="PropertyValues"/>+ </context>+++ <!-- find strings // "some words" 'some words' -->+ <context name="FindInterpolation" attribute="Normal Text">+ <Detect2Chars attribute="Interpolation" context="Interpolation" char="#" char1="{"/>+ </context>+ <context name="FindInterpolationWithUnit" attribute="Normal Text">+ <Detect2Chars attribute="Interpolation" context="InterpolationWithUnit" char="#" char1="{"/>+ </context>++ <!-- interpolation // #{...} -->++ <context name="Interpolation" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Interpolation" context="#pop" char="}"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>+ <context name="InterpolationWithUnit" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Interpolation" context="#pop!FindUnits" char="}"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>+ <context name="FindValueInterpolation" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Value Keyword" char="&"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <IncludeRules context="FindComments"/>+ <AnyChar attribute="Operator" String="*/+%=<>!"/>+ <IncludeRules context="FindVariable"/>+ <IncludeRules context="FindFunctions"/>+ <keyword attribute="Operator" String="operators"/>+ <keyword attribute="Value Keyword" String="special values"/>+ <IncludeRules context="FindNumber"/>+ <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/>+ <IncludeRules context="FindIdentifier"/>+ </context>++ <context name="FindVariable" attribute="Normal Text">+ <DetectChar attribute="Variable" context="Variable" char="$"/>+ </context>+ <context name="Variable" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <RegExpr attribute="Variable" context="#pop" String="[-_a-zA-Z0-9]*"/>+ </context>++ <!-- find functions // rgba(255,255,255,0.75) -->+ <context name="FindFunctions" attribute="Normal Text">+ <RegExpr attribute="Function" context="Function" String="&func;\(" lookAhead="1"/>+ </context>+ <context name="FindNestedFunctions" attribute="Normal Text">+ <RegExpr context="NestedFunction" String="(&func;)?\(" lookAhead="1"/>+ </context>++ <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->+ <context name="FindValues" attribute="Normal Text">+ <AnyChar attribute="Operator" String="*/+%=<>"/>+ <DetectChar attribute="Annotation" context="Annotation" char="!" lookAhead="1"/>+ <IncludeRules context="FindVariable"/>+ <keyword attribute="Operator" String="operators"/>+ <keyword attribute="Value Keyword" String="value keywords" weakDeliminator="."/>+ <keyword attribute="Value Keyword" String="special values" weakDeliminator="."/>+ <keyword attribute="Value" String="values" weakDeliminator="."/>+ <keyword attribute="Named Color" String="colors"/>+ <RegExpr attribute="Color" String="#([0-9A-Fa-f]{8}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{3,4})"/>+ <IncludeRules context="FindNumber"/>+ <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/>+ <IncludeRules context="FindIdentifier"/>+ </context>++ <context name="OperatorOrIdentifer" attribute="Normal Text">+ <RegExpr context="#pop" String="-(?![0-9])&ident2;\.?\s*"/>+ <DetectChar context="#pop" attribute="Operator" char="-"/>+ </context>++ <context name="FindNumber" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Number" context="FindUnits" String="([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?"/>+ </context>++ <context name="FindIdentifier" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr String="&ident2;\.?\s*"/>+ </context>++ <context name="FindVendorProperty" attribute="Normal Text" lineEndContext="#pop">+ <RegExpr attribute="Vendor Property" String="-(webkit|moz|o|ms)-[-_a-zA-Z0-9]*"/>+ </context>++ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop">+ <WordDetect attribute="Annotation" context="#pop" String="!important"/>+ <WordDetect attribute="Annotation" context="#pop" String="!default"/>+ <WordDetect attribute="Annotation" context="#pop" String="!global"/>+ <DetectChar attribute="Operator" context="#pop" char="!"/>+ </context>++ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">+ <RegExpr attribute="Unit" context="#pop" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cqw|cqh|cqi|cqb|cqmin|cqmax|cm|mm|Q|in|pc|pt|px|deg|grad|rad|turn|s|ms|Hz|kHz|fr|dpi|dpcm|dppx|x)\b)"/>+ </context>++ <!-- find strings // "some words" 'some words' -->+ <context name="FindStrings" attribute="Normal Text">+ <DetectChar attribute="String" context="StringDQ" char="""/>+ <DetectChar attribute="String" context="StringSQ" char="'"/>+ </context>++ <!-- find comments // /* comment */ -->+ <context name="FindComments" attribute="Normal Text">+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="/" lookAhead="1"/>+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="1"/>+ </context>++ <context name="IsComments" attribute="Normal Text">+ <RegExpr attribute="Region Marker" String="/\*\s*BEGIN\b.*\*/|//\s*BEGIN\b.*" beginRegion="UserDefined"/>+ <RegExpr attribute="Region Marker" String="/\*\s*END\b.*\*/|//\s*END\b.*" endRegion="UserDefined"/>+ <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment"/>+ <Detect2Chars attribute="Comment" context="SassComment" char="/" char1="/"/>+ </context>++ <context name="SassComment" attribute="Comment" lineEndContext="#pop#pop">+ <DetectSpaces/>+ <IncludeRules context="##Comments"/>+ <DetectIdentifier/>+ </context>++ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">+ <!-- scss -->+ <WordDetect attribute="At Rule" context="@use" String="@use"/>+ <WordDetect attribute="At Rule" context="@mixin" String="@include"/>+ <WordDetect attribute="At Rule" context="@mixin" String="@function"/>+ <WordDetect attribute="At Rule" context="@mixin" String="@mixin"/>+ <WordDetect attribute="At Rule" context="@extend" String="@extend"/>+ <WordDetect attribute="At Rule" context="@expression" String="@content"/>+ <WordDetect attribute="At Rule" context="@use" String="@forward"/>+ <WordDetect attribute="At Rule" context="@expressionBlock" String="@if"/>+ <WordDetect attribute="At Rule" context="@else" String="@else"/>+ <WordDetect attribute="At Rule" context="@each" String="@each"/>+ <WordDetect attribute="At Rule" context="@for" String="@for"/>+ <WordDetect attribute="At Rule" context="@expressionBlock" String="@while"/>+ <WordDetect attribute="At Rule" context="@expression" String="@return"/>+ <WordDetect attribute="At Rule" context="@expression" String="@error"/>+ <WordDetect attribute="At Rule" context="@expression" String="@warn"/>+ <WordDetect attribute="At Rule" context="@expression" String="@debug"/>+ <WordDetect attribute="At Rule" context="@at-root" String="@at-root"/>+ <!-- css -->+ <WordDetect attribute="At Rule" context="@keyframes" String="@keyframes"/>+ <WordDetect attribute="At Rule" context="@layer" String="@layer"/>+ <WordDetect attribute="At Rule" context="@page" String="@page"/>+ <WordDetect attribute="At Rule" context="@supports" String="@supports"/>+ <keyword attribute="At Rule" context="@property" String="at-rules definitions"/>+ <RegExpr attribute="At Rule" context="@media" String="@[-a-zA-Z0-9_]*"/>+ </context>++ <context name="AtRuleEnd" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/>+ </context>+ <context name="AtRuleEndLvl3" attribute="Normal Text">+ <DetectChar attribute="Error" context="#pop#pop#pop" char=";"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char="}" endRegion="ruleset"/>+ </context>+ <context name="AtRuleBlockEnd" attribute="Normal Text">+ <DetectChar attribute="Error" context="#pop#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Error" context="#pop#pop" char="}" endRegion="ruleset"/>+ </context>++ <context name="AtRuleCommon" attribute="At Rule Text">+ <IncludeRules context="FindVariable"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="AtRuleEnd"/>+ </context>+ <context name="AtRuleDefinitionCommon" attribute="At Rule Text">+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop!SubProperty" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <IncludeRules context="FindComments"/>+ </context>+++ <context name="@at-root" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="(" context="#pop!AtRuleMediaCondition" attribute="Condition Open/Close"/>+ <IncludeRules context="AtRuleBlockEnd"/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="@use" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar context="@useWith" char="(" attribute="Function"/>+ <IncludeRules context="AtRuleCommon"/>+ <WordDetect attribute="Keyword" String="with"/>+ <WordDetect attribute="Keyword" String="hide"/>+ <WordDetect attribute="Keyword" context="@useAs" String="as"/>+ </context>+ <context name="@useAs" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectIdentifier/>+ <DetectChar attribute="Operator" char="*"/>+ <DetectChar attribute="At Rule Text" char="-"/>+ <DetectChar attribute="Separator Symbol" context="#pop#pop#pop" char=";"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Error" context="#pop#pop#pop" char="}" endRegion="ruleset"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>+ <context name="@useWith" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar context="#pop" char=")" attribute="Function"/>+ <DetectChar attribute="Property Separator" char=":"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Selector Symbol" char="&"/>+ <IncludeRules context="AtRuleEndLvl3"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <StringDetect attribute="Operator" String="..."/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="@mixin" attribute="Function">+ <DetectSpaces attribute="At Rule Text"/>+ <DetectChar context="@useWith" char="(" attribute="Function"/>+ <DetectChar char="-"/>+ <IncludeRules context="AtRuleCommon"/>+ <WordDetect attribute="Keyword" String="using"/>+ <DetectIdentifier/>+ </context>++ <context name="@extend" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="}" endRegion="ruleset"/>+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";"/>+ <WordDetect attribute="Annotation" String="!optional"/>+ <IncludeRules context="FindSelector"/>+ </context>++ <context name="@expression" attribute="At Rule Text">+ <DetectSpaces/>+ <IncludeRules context="AtRuleEnd"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>+ <context name="@expressionBlock" attribute="At Rule Text">+ <DetectSpaces/>+ <IncludeRules context="AtRuleBlockEnd"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>++ <context name="@else" attribute="At Rule Text" fallthroughContext="#pop!@expressionBlock">+ <DetectSpaces/>+ <WordDetect attribute="At Rule" context="#pop!@expression" String="if"/>+ <IncludeRules context="FindComments"/>+ <DetectChar attribute="Block Symbol" context="#pop#pop" char="{" beginRegion="ruleset"/>+ </context>++ <context name="@each" attribute="At Rule Text">+ <DetectSpaces/>+ <IncludeRules context="AtRuleBlockEnd"/>+ <WordDetect attribute="Keyword" String="in"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>++ <context name="@for" attribute="At Rule Text">+ <DetectSpaces/>+ <IncludeRules context="AtRuleBlockEnd"/>+ <WordDetect attribute="Keyword" String="to"/>+ <WordDetect attribute="Keyword" String="from"/>+ <WordDetect attribute="Keyword" String="through"/>+ <IncludeRules context="FindValueInterpolation"/>+ </context>+++ <context name="@media" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="(" context="AtRuleMediaCondition" attribute="Condition Open/Close"/>+ <IncludeRules context="AtRuleCommon"/>+ <IncludeRules context="FindFunctions"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="media types" attribute="Media Type"/>+ <DetectIdentifier/>+ </context>++ <context name="AtRuleMediaCondition" attribute="At Rule Text">+ <DetectSpaces/>+ <IncludeRules context="AtRuleEndLvl3"/>+ <IncludeRules context="AtRuleMediaConditionValue"/>+ </context>+ <context name="NestedAtRuleMediaCondition" attribute="At Rule Text">+ <DetectSpaces attribute="At Rule Text"/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="AtRuleMediaConditionValue"/>+ </context>+ <context name="AtRuleMediaConditionValue" attribute="At Rule Text">+ <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/>+ <DetectChar char="(" context="NestedAtRuleMediaCondition" attribute="Condition Open/Close"/>+ <DetectChar char=":" attribute="Property Separator"/>+ <IncludeRules context="FindVariable"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <IncludeRules context="FindComments"/>+ <AnyChar attribute="Operator" String="*/+%=<>"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindNumber"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="media features" attribute="Condition Property"/>+ <IncludeRules context="FindIdentifier"/>+ <DetectChar context="OperatorOrIdentifer" char="-" lookAhead="1"/>+ </context>+++ <context name="@supports" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="(" context="AtRuleSupportsCondition" lookAhead="1"/>+ <IncludeRules context="AtRuleCommon"/>+ <keyword String="media operators" attribute="Keyword"/>+ <WordDetect String="selector(" context="FunctionSelector" attribute="Function"/>+ <IncludeRules context="FindFunctions"/>+ <DetectIdentifier/>+ </context>++ <context name="AtRuleSupportsCondition" attribute="At Rule Text" fallthroughContext="#pop">+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <IncludeRules context="AtRuleEndLvl3"/>+ </context>+ <context name="SupportsCondition" attribute="At Rule Text" fallthroughContext="#pop!SupportsConditionValue">+ <DetectSpaces/>+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <DetectChar char=":" context="#pop!SupportsConditionValue" attribute="Property Separator"/>+ <IncludeRules context="FindComments"/>+ <keyword String="media operators" attribute="Keyword"/>+ <keyword String="properties" attribute="Property"/>+ <IncludeRules context="FindVendorProperty"/>+ </context>+ <context name="SupportsConditionValue" attribute="At Rule Text">+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <DetectChar char=")" context="#pop" attribute="Condition Open/Close"/>+ <DetectChar char="(" context="SupportsCondition" attribute="Condition Open/Close"/>+ <DetectChar char=":" attribute="Property Separator"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="FunctionSelector" attribute="At Rule Text">+ <DetectSpaces/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <DetectChar char=")" context="#pop" attribute="Function"/>+ <IncludeRules context="FindSelector"/>+ </context>+++ <context name="@layer" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectIdentifier/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <IncludeRules context="AtRuleCommon"/>+ </context>+++ <context name="@page" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar attribute="Selector Pseudo" char=":"/>+ <IncludeRules context="AtRuleDefinitionCommon"/>+ <keyword attribute="Selector Pseudo" String="@page pseudo-classes"/>+ <DetectIdentifier/>+ </context>+++ <context name="@property" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="-"/>+ <IncludeRules context="AtRuleDefinitionCommon"/>+ <DetectIdentifier/>+ </context>+++ <context name="@keyframes" attribute="At Rule Text">+ <DetectSpaces/>+ <DetectChar char="{" context="KeyFramesBlock" attribute="Block Symbol" beginRegion="ruleset"/>+ <IncludeRules context="AtRuleCommon"/>+ <DetectIdentifier/>+ </context>+ <context name="KeyFramesBlock" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char="{" context="SubProperty" attribute="Block Symbol" beginRegion="ruleset"/>+ <DetectChar char="}" context="#pop#pop#pop" attribute="Block Symbol" endRegion="ruleset"/>+ <DetectChar char="," attribute="Separator Symbol"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ <RegExpr attribute="Value" String="\b(from|to)\b|[-+]?[0-9.]*%"/>+ </context>+++ <!-- attribute // [name=value]-->++ <context name="SelectorAttr" attribute="Attribute Name">+ <DetectChar attribute="Selector Attribute" context="#pop" char="]"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ <DetectChar attribute="Attribute Operator" context="SelectorAttrValue" char="="/>+ <AnyChar attribute="Attribute Operator" String="~^$*|"/>+ <IncludeRules context="FindComments"/>+ <DetectIdentifier/>+ <AnyChar context="#pop" String="{};#.,:>" lookAhead="1"/>+ </context>++ <context name="SelectorAttrValue" attribute="String" fallthroughContext="SelectorAttrEnd">+ <DetectSpaces/>+ <AnyChar context="SelectorAttrValueQuoted" String=""'" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueQuoted" char="#" char1="{" lookAhead="1"/>+ <RegExpr context="SelectorAttrEnd" attribute="String" String="-?(\w|&escaped;)([-\w]+|&escaped;)*"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="SelectorAttrValueQuoted" attribute="String" fallthroughContext="#pop!SelectorAttrEnd">+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ </context>+ <context name="SelectorAttrEnd" attribute="String" fallthroughContext="#pop#pop#pop">+ <DetectSpaces/>+ <DetectChar attribute="Selector Attribute" context="#pop#pop#pop" char="]"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="i" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="I" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="s" char1="]" lookAhead="1"/>+ <Detect2Chars context="SelectorAttrValueSensitiveOp" char="S" char1="]" lookAhead="1"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ </context>+ <context name="SelectorAttrValueSensitiveOp" attribute="String">+ <DetectChar attribute="Selector Attribute" context="#pop#pop#pop#pop" char="]"/>+ <AnyChar attribute="Attribute Operator" String="isIS"/>+ </context>+++ <context name="PseudoClassOrElement" attribute="Selector Pseudo" lineEndContext="#pop" fallthroughContext="#pop">+ <DetectChar char=":" attribute="Selector Pseudo"/>+ <WordDetect String="lang" attribute="Selector Pseudo" context="PseudoClassStr"/>+ <WordDetect String="part" attribute="Selector Pseudo" context="PseudoClassStr"/>+ <RegExpr String="nth-[-a-zA-Z0-9]*" attribute="Selector Pseudo" context="PseudoClassNth"/>+ <RegExpr String="[-a-zA-Z]+" attribute="Selector Pseudo" context="#pop"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ </context>++ <context name="PseudoClassStr" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="(" context="PseudoClassStrInner" attribute="Selector Pseudo"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="PseudoClassStrInner" attribute="Error">+ <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/>+ <DetectChar char="{" context="#pop#pop#pop" attribute="Error" beginRegion="ruleset"/>+ <DetectChar char=":" context="#pop#pop#pop!PseudoClassOrElement" attribute="Error"/>+ <RegExpr String="\s*&ident;(\s+&ident;|\s+)*" attribute="String"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ </context>++ <context name="PseudoClassNth" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">+ <DetectChar char="(" context="PseudoClassNthInner" attribute="Selector Pseudo"/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="PseudoClassNthInner" attribute="Normal Text" fallthroughContext="#pop#pop!PseudoClassSelector">+ <Int attribute="Number" additionalDeliminator="-"/>+ <AnyChar String="+-" attribute="Operator"/>+ <DetectChar char="n" attribute="Unit"/>+ <DetectChar char=")" attribute="Selector Pseudo" context="#pop#pop#pop"/>+ <WordDetect String="odd" attribute="Value"/>+ <WordDetect String="even" attribute="Value"/>+ <WordDetect String="of" attribute="Keyword" context="#pop#pop!PseudoClassSelector"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindInterpolation"/>+ <DetectSpaces/>+ </context>++ <context name="PseudoClassSelector" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char=")" context="#pop" attribute="Selector Pseudo"/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="FindSelector"/>+ </context>+++ <context name="Comment" attribute="Comment">+ <DetectSpaces/>+ <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment"/>+ <IncludeRules context="##Comments"/>+ <DetectIdentifier/>+ </context>++ <context name="Function" attribute="Normal Text">+ <IncludeRules context="FunctionInc"/>+ <IncludeRules context="AtRuleEndLvl3"/>+ </context>+ <context name="NestedFunction" attribute="Normal Text">+ <IncludeRules context="FunctionInc"/>+ <AnyChar context="#pop" String="{};" lookAhead="1"/>+ </context>+ <context name="FunctionInc" attribute="Normal Text">+ <DetectChar attribute="Function" context="FunctionParameters" char="("/>+ <StringDetect attribute="Function" context="FunctionVar" String="var("/>+ <StringDetect attribute="Function" context="FunctionCalc" String="calc("/>+ <StringDetect attribute="Function" context="FunctionUrl" String="url("/>+ <StringDetect attribute="Function" context="FunctionEnv" String="env("/>+ <keyword attribute="Function" String="functions"/>+ <RegExpr attribute="Function" context="FunctionParameters" String="&func;\("/>+ </context>++ <!-- From CSS with interpolation -->+ <!-- @{ -->++ <context name="FunctionVar" attribute="Normal Text" fallthroughContext="FunctionVarSep">+ <RegExpr String="&var;" context="FunctionVarSep" attribute="Variable"/>+ <DetectSpaces/>+ <IncludeRules context="FindComments"/>+ </context>+ <context name="FunctionVarSep" attribute="Normal Text" fallthroughContext="FunctionVarParam">+ <DetectChar char=")" context="#pop#pop#pop" attribute="Function"/>+ <DetectChar char="," context="FunctionVarParam" attribute="Separator Symbol"/>+ </context>+ <context name="FunctionVarParam" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar char=")" context="#pop#pop#pop#pop" attribute="Function"/>+ <AnyChar String=";{}" context="#pop#pop#pop" lookAhead="1"/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <IncludeRules context="FindNestedFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <context name="FunctionEnv" attribute="Normal Text" fallthroughContext="FunctionVarSep">+ <RegExpr String="&ident;" context="FunctionVarSep" attribute="Normal Text"/>+ <DetectSpaces/>+ <IncludeRules context="FindComments"/>+ </context>++ <context name="FunctionCalc" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Function" context="#pop#pop" char=")"/>+ <IncludeRules context="Calc"/>+ </context>+ <context name="NestedCalc" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Normal Text" context="#pop" char=")"/>+ <IncludeRules context="Calc"/>+ </context>+ <context name="Calc" attribute="Normal Text">+ <DetectChar attribute="Separator Symbol" char=","/>+ <DetectChar attribute="Normal Text" context="NestedCalc" char="("/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <!-- ATTENTION not in CSS --> <IncludeRules context="FindVariable"/>+ <IncludeRules context="FindStrings"/>+ <!-- ATTENTION not in CSS --> <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <AnyChar attribute="Operator" String="*/%"/>+ <IncludeRules context="FindNestedFunctions"/>+ <!-- ATTENTION FindNumber in CSS --> <RegExpr attribute="Number" context="FindUnits" String="[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?(?![-+])"/>+ <RegExpr String="[-+]?((?i:infinity|e|pi)|NaN)($|[^-\w])|[-+]($|[\s(,;]|/\*)" context="CalcConstantOrOperator" lookAhead="1"/>+ <IncludeRules context="FindIdentifier"/>+ </context>+ <context name="CalcConstantOrOperator" attribute="Normal Text" fallthroughContext="#pop">+ <DetectIdentifier context="#pop" attribute="Calc Constant"/>+ <AnyChar String="-+" attribute="Operator"/>+ </context>++ <context name="FunctionUrl" attribute="Normal Text" fallthroughContext="UrlValue">+ <DetectSpaces/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolation"/>+ </context>+ <context name="UrlValue" attribute="String">+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")"/>+ <AnyChar String=";{}" context="#pop#pop" lookAhead="1"/>+ </context>++ <context name="FunctionParameters" attribute="Normal Text">+ <DetectSpaces/>+ <DetectChar attribute="Function" context="#pop#pop" char=")"/>+ <DetectChar attribute="Separator Symbol" char=","/>+ <IncludeRules context="FindStrings"/>+ <IncludeRules context="FindInterpolationWithUnit"/>+ <IncludeRules context="FindComments"/>+ <!-- ATTENTION not in CSS --> <DetectChar attribute="Value Keyword" char="&"/>+ <!-- ATTENTION not in CSS --> <StringDetect attribute="Operator" String="..."/>+ <AnyChar String=";{}" context="#pop" lookAhead="1"/>+ <IncludeRules context="FindNestedFunctions"/>+ <IncludeRules context="FindValues"/>+ </context>++ <!-- @} -->++ <!-- string contexts -->+ <context name="StringDQ" attribute="String">+ <DetectChar attribute="String" context="#pop" char="""/>+ <IncludeRules context="InsideString"/>+ </context>++ <context name="StringSQ" attribute="String">+ <DetectChar attribute="String" context="#pop" char="'"/>+ <IncludeRules context="InsideString"/>+ </context>++ <context name="InsideString" attribute="String">+ <IncludeRules context="FindInterpolation"/>+ <RegExpr attribute="SpecialChar" String="\\([0-9A-Fa-f]{1,6}|.?)"/>+ <RegExpr attribute="String" String="\\?[^#"'\\]+"/>+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="At Rule Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Media Type" defStyleNum="dsAnnotation" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Vendor Property" defStyleNum="dsKeyword" spellChecking="false" italic="1"/>+ <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Property Separator" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="Interpolation" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Block Symbol" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Named Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Calc Constant" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Condition Open/Close" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Condition Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>+ <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Selector Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Placeholder Selector" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Attribute Name" defStyleNum="dsSpecialString" spellChecking="false"/>+ <itemData name="Attribute Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="0" weakDeliminator="-%@"/>+ <comments>+ <comment name="singleLine" start="//" position="afterwhitespace"/>+ <comment name="multiLine" start="/*" end="*/" region="comment"/> </comments> </general>
xml/toml.xml view
@@ -15,12 +15,13 @@ <language name="TOML" section="Configuration"- extensions="Cargo.lock;*.toml"+ extensions="Cargo.lock;*.toml;*.rc;*.conf;*.cfg;*.cf;*.cnf;*.ini;mirrorlist" mimetype="text/x-toml;application/toml"- version="12"+ version="13" kateversion="5.0" author="flying-sheep@web.de" license="LGPLv2+"+ priority="-1" > <highlighting> <list name="bools">
xml/xml.xml view
@@ -6,7 +6,7 @@ <!ENTITY name "(?![0-9])[\w_:][\w.:_-]*"> <!ENTITY entref "&(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);"> ]>-<language name="XML" version="19" kateversion="5.0" section="Markup" extensions="*.page;*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae;*.sch;*.brd" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml;application/vnd.oasis.opendocument.text-flat-xml;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.presentation-flat-xml;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/gpx+xml" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">+<language name="XML" version="20" kateversion="5.0" section="Markup" extensions="*.page;*.docbook;*.xml;*ui.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae;*.sch;*.brd" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml;application/vnd.oasis.opendocument.text-flat-xml;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.presentation-flat-xml;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/gpx+xml" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> <highlighting> <contexts>