packages feed

skylighting-core 0.14 → 0.14.1

raw patch · 37 files changed

+6398/−5939 lines, 37 files

Files

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="&lt;"/>       </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="&quot;" />-                <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="&quot;" />-                <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="\\?[^&quot;'\\]+" />-            </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="*>+~|&amp;"/>+                <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="&quot;"/>+                <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="&lt;>=" 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="&quot;'" 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=".#:,[*>+~|&amp;" 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=".#,[*>+~|&amp;@{}" 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="&quot;"/>+                <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="\\?[^&quot;'\\]+"/>+            </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  "&amp;(#[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="&lt;!--" beginRegion="comment" />     <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />-    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />+    <WordDetect attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE" beginRegion="doctype" />     <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />-    <RegExpr attribute="Element" context="CSS" String="&lt;style\b" insensitive="true" beginRegion="style" />-    <RegExpr attribute="Element" context="JS" String="&lt;script\b" insensitive="true" beginRegion="script" />-    <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="true" beginRegion="pre" />-    <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="true" beginRegion="div" />-    <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="true" beginRegion="table" />+    <WordDetect attribute="Element" context="CSS" String="&lt;style" insensitive="true" beginRegion="style" />+    <WordDetect attribute="Element" context="JS" String="&lt;script" insensitive="true" beginRegion="script" />+    <WordDetect attribute="Element" context="El Open" String="&lt;pre" insensitive="true" beginRegion="pre" />+    <WordDetect attribute="Element" context="El Open" String="&lt;div" insensitive="true" beginRegion="div" />+    <WordDetect attribute="Element" context="El Open" String="&lt;table" insensitive="true" beginRegion="table" />     <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />-    <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="true" endRegion="pre" />-    <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="true" endRegion="div" />-    <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="true" endRegion="table" />+    <WordDetect attribute="Element" context="El Close" String="&lt;/pre" insensitive="true" endRegion="pre" />+    <WordDetect attribute="Element" context="El Close" String="&lt;/div" insensitive="true" endRegion="div" />+    <WordDetect attribute="Element" context="El Close" String="&lt;/table" insensitive="true" endRegion="table" />     <RegExpr attribute="Element" context="El Close" String="&lt;/&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="&lt;/style\b" insensitive="true" endRegion="style" />+    <WordDetect attribute="Element" context="El Close 2" String="&lt;/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="&lt;/script\b" insensitive="true" endRegion="script" />+    <WordDetect attribute="Element" context="El Close 2" String="&lt;/script" insensitive="true" endRegion="script" />     <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/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="&lt;/script\b" insensitive="true" endRegion="script" />+    <WordDetect attribute="Element" context="El Close 3" String="&lt;/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="&quot;" />     <DetectChar attribute="Value" context="Value SQ" char="&apos;" />     <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="/(?!&gt;)|[^/&gt;&lt;&quot;&apos;\s]" />
xml/dosbat.xml view
@@ -7,7 +7,7 @@   <!ENTITY eop      "(?=([\s\\;&quot;&#37;]|$))">         <!-- end of path -->   <!ENTITY pathpart "[^\s\\&#37;!;/:*?&quot;&gt;&lt;|&amp;]">   <!-- 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        "&amp;(?:#[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="&lt;!--" beginRegion="comment" />     <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />-    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" insensitive="true" beginRegion="doctype" />+    <WordDetect attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE" insensitive="true" beginRegion="doctype" />     <IncludeRules context="FindElements" />     <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\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="&quot;" />     <DetectChar attribute="Value" context="Value SQ" char="&apos;" />     <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="[^&gt;&lt;&quot;&apos;&amp;\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="&quot;text/typescript&quot;"/>@@ -293,7 +293,7 @@   <context name="MustacheJS content" attribute="Other Text" lineEndContext="#stay">     <IncludeRules context="FindScriptTagClose" />     <StringDetect attribute="Error" context="#stay" String="&lt;script&gt;" insensitive="true" />-    <RegExpr attribute="Error" context="#stay" String="&lt;script\b" insensitive="true" />+    <WordDetect attribute="Error" context="#stay" String="&lt;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="&lt;script&gt;" insensitive="true" />-    <RegExpr attribute="Error" context="#stay" String="&lt;script\b" insensitive="true" />+    <WordDetect attribute="Error" context="#stay" String="&lt;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="&quot;" lookAhead="1"/>         <Detect2Chars context="#pop!SelectStringPrefix" char="L" char1="&quot;" lookAhead="1"/>         <StringDetect context="#pop!SelectStringPrefix" String="u8&quot;" lookAhead="1"/>-        <Detect2Chars attribute="Raw String Delimiter" context="#pop!RawString" char="R" char1="&quot;" />-        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="uR&quot;"/>-        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="UR&quot;"/>-        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="LR&quot;"/>-        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="u8R&quot;"/>+        <StringDetect context="#pop!RawString" String="R&quot;" lookAhead="1"/>+        <StringDetect context="#pop!RawString" String="uR&quot;" lookAhead="1"/>+        <StringDetect context="#pop!RawString" String="UR&quot;" lookAhead="1"/>+        <StringDetect context="#pop!RawString" String="LR&quot;" lookAhead="1"/>+        <StringDetect context="#pop!RawString" String="u8R&quot;" 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="&quot;([\x21-\x27\x2A-\x5B\x5D-\x7E]{0,16})\(" beginRegion="Raw String"/>+        <RegExpr attribute="Error" context="#pop" String="&quot;(\s+|\w+\s*|&quot;|[^\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&int;(\.((&int;&exp;?+|&exp;)[fFdD]?\b|[fFdD]\b)?|&exp;[fFdD]?\b|[fFdD]\b)|\.&int;&exp;?[fFdD]?\b)"> 	<!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?&int;[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="&quot;"  context="#pop" attribute="Style_String_Key" />-        <RegExpr String="\\(?:[&quot;\\/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="\\(?:[&quot;\\/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="&quot;"  context="#pop" attribute="Style_String_Value" />-        <RegExpr String="\\(?:[&quot;\\/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="\\(?:[&quot;\\/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="&lt;%@\s*[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Standard Directive"/>         <RegExpr String="&lt;\s*jsp:(declaration|expression|scriptlet)\s*&gt;" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>         <RegExpr String="&lt;\s*\/?s*jsp:[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Xml Directive"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>+        <IncludeRules context="FindJspScriptlet"/>         <StringDetect String="&lt;!--" attribute="Html Comment" context="Html Comment" beginRegion="HtmlComment"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\s*\/?\s*\$?[a-zA-Z0-9_]*:\$?[a-zA-Z0-9_]*" attribute="Keyword" context="Jsp Custom Tag"/>+        <IncludeRules context="FindJspCustomTag"/>         <StringDetect String="&lt;![CDATA[" attribute="Normal Text" context="#stay"/>         <StringDetect String="]]&gt;" attribute="Normal Text" context="#stay"/>-        <RegExpr String="&lt;script\b" attribute="Normal Text" context="JS" beginRegion="script" />-        <RegExpr String="&lt;style\b" attribute="Normal Text" context="CSS" beginRegion="style" />+        <WordDetect String="&lt;script" attribute="Normal Text" context="JS" beginRegion="script" />+        <WordDetect String="&lt;style" attribute="Normal Text" context="CSS" beginRegion="style" />         <RegExpr String="&lt;\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="&lt;/script\b" endRegion="script" />+        <WordDetect attribute="Normal Text" context="#pop#pop!Html Attribute" String="&lt;/script" endRegion="script" />         <RegExpr attribute="Jsp Comment" context="JS comment close" String="//(?=.*&lt;/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="&gt;" attribute="Jsp Directive" context="#pop"/>         <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Standard Directive Value"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\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*&gt;" attribute="Jsp Directive" context="#pop"/>         <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Xml Directive Value"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="\/?&gt;" attribute="Keyword" context="#pop"/>         <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Custom Tag Value"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+        <IncludeRules context="FindJspScriptlet"/>         <DetectChar char="&quot;" 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="&gt;" attribute="Jsp Directive" context="#pop#pop"/>       </context>        <context name="Jsp Xml Directive Value" attribute="Jsp Param Value" lineEndContext="#stay">-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+        <IncludeRules context="FindJspScriptlet"/>         <DetectChar char="&quot;" 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*&gt;" attribute="Jsp Directive" context="#pop#pop"/>       </context>        <context name="Jsp Custom Tag Value" attribute="Normal Text" lineEndContext="#stay">-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+        <IncludeRules context="FindJspScriptlet"/>         <DetectChar char="&quot;" attribute="Types" context="Jsp Double Quoted Custom Tag Value"/>         <DetectChar char="'" attribute="Types" context="Jsp Single Quoted Custom Tag Value"/>         <RegExpr String="\/?&gt;" 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="&quot;" attribute="Jsp Param Value" context="#pop#pop"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="&quot;" attribute="Types" context="#pop#pop"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="\/?&gt;" attribute="Normal Text" context="#pop"/>         <RegExpr String="\s*=\s*" attribute="Normal Text" context="Html Value"/>-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+        <IncludeRules context="FindJspScriptlet"/>+        <IncludeRules context="FindJspCustomTag"/>         <RegExpr String="(&quot;|&amp;quot;|&amp;#34;)" attribute="Types" context="Html Double Quoted Value"/>         <RegExpr String="('|&amp;#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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+        <IncludeRules context="FindJspScriptlet"/>+        <IncludeRules context="FindJspCustomTag"/>         <RegExpr String="(&quot;|&amp;quot;|&amp;#34;)" attribute="Types" context="#pop#pop"/>       </context>        <context name="Html Single Quoted Value" attribute="Types" lineEndContext="#stay">-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+        <IncludeRules context="FindJspScriptlet"/>+        <IncludeRules context="FindJspCustomTag"/>         <RegExpr String="('|&amp;#39;)" attribute="Types" context="#pop#pop"/>       </context>        <context name="Html Unquoted Value" attribute="Types" lineEndContext="#stay">-        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>-        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>+        <IncludeRules context="FindJspScriptlet"/>+        <IncludeRules context="FindJspCustomTag"/>         <RegExpr String="\/?&gt;" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>-        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>-        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>+        <IncludeRules context="FindJspScriptlet"/>         <RegExpr String="\/*--&gt;" 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="&lt;%--" attribute="Jsp Comment" context="Jsp Comment" beginRegion="JspComment"/>+        <RegExpr String="&lt;%[!=]?" attribute="Jsp Scriptlet" context="Jsp Scriptlet" beginRegion="JspScriptlet"/>+      </context>++      <context name="FindJspCustomTag" attribute="Normal Text" lineEndContext="#stay">+        <RegExpr String="&lt;\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.,(){}\[\];:&#37;'&quot;&amp;$=/?\|^#@">   <!ENTITY function_disallowed_first_char "0-9!&function_disallowed_chars;">   <!ENTITY function_begin_boundary "(?:(?&lt;=[&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=".&gt;&gt;&gt;=" />-        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;&gt;=" />-        <StringDetect context="#stay" attribute="Operator" String=".&lt;--&gt;" />-        <StringDetect context="#stay" attribute="Operator" String="&lt;--&gt;" />-        <StringDetect context="#stay" attribute="Operator" String=".//=" />-        <StringDetect context="#stay" attribute="Operator" String="//=" />-        <StringDetect context="#stay" attribute="Operator" String=".&lt;&lt;=" />-        <StringDetect context="#stay" attribute="Operator" String="&lt;&lt;=" />-        <StringDetect context="#stay" attribute="Operator" String=".&gt;&gt;=" />-        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;=" />-        <StringDetect context="#stay" attribute="Operator" String=".--&gt;" />-        <StringDetect context="#stay" attribute="Operator" String="--&gt;" />-        <StringDetect context="#stay" attribute="Operator" String=".&lt;--" />-        <StringDetect context="#stay" attribute="Operator" String="&lt;--" />-        <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=".&gt;&gt;&gt;" />-        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;&gt;" />-        <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=".&amp;=" />-        <Detect2Chars context="#stay" attribute="Operator" char="&amp;" 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=".=&gt;" />-        <Detect2Chars context="#stay" attribute="Operator" char="=" char1="&gt;"/>-        <StringDetect context="#stay" attribute="Operator" String=".&amp;&amp;" />-        <Detect2Chars context="#stay" attribute="Operator" char="&amp;" char1="&amp;"/>-        <StringDetect context="#stay" attribute="Operator" String=".||" />-        <Detect2Chars context="#stay" attribute="Operator" char="|" char1="|"/>-        <StringDetect context="#stay" attribute="Operator" String=".&gt;=" />-        <Detect2Chars context="#stay" attribute="Operator" char="&gt;" char1="="/>-        <StringDetect context="#stay" attribute="Operator" String=".&lt;=" />-        <Detect2Chars context="#stay" attribute="Operator" char="&lt;" 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=".&lt;|" />-        <Detect2Chars context="#stay" attribute="Operator" char="&lt;" char1="|"/>-        <StringDetect context="#stay" attribute="Operator" String=".|&gt;" />-        <Detect2Chars context="#stay" attribute="Operator" char="|" char1="&gt;"/>-        <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=".&lt;&lt;" />-        <Detect2Chars context="#stay" attribute="Operator" char="&lt;" char1="&lt;"/>-        <StringDetect context="#stay" attribute="Operator" String=".&gt;&gt;" />-        <Detect2Chars context="#stay" attribute="Operator" char="&gt;" char1="&gt;"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="="/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="~"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⬿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⭌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="&gt;"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="&lt;"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≯"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩯"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪯"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⪿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="…"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⁝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋯"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="$"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="+"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="-"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="−"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="¦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="|"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="±"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨥"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨦"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨨"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨪"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨫"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨬"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨭"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨮"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨹"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨺"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩁"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩂"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩐"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩢"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="*"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="/"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⌿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="÷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="%"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="&amp;"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋅"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="×"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="\"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∩"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∧"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="∤"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⅋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="≀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋆"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⋒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦾"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⦿"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⧷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨇"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨲"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨳"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨴"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨶"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨸"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨻"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨼"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨽"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩀"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩃"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩄"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩎"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩚"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩞"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⩠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⫛"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⊍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="▷"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟖"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟗"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⨟"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="^"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="↓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⇵"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟰"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⟱"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤈"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤊"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤋"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤒"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⤓"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥉"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥌"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥍"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥏"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥑"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥔"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥕"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥘"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥙"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥜"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥝"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥠"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥡"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥣"/>-        <Detect2Chars context="#stay" attribute="Operator" char="." char1="⥥"/>-        <Detect2Chars context="#stay" attribute="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="&lt;" 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="(&int;(\.&int;)?|\.&int;)([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="\.\.\.?|[:$]=?|\.?(?:&gt;&gt;&gt;=|&lt;--&gt;|//=|&lt;&lt;=|&gt;&gt;=|--&gt;|&lt;--|===|!==|&gt;&gt;&gt;|[-+*/\\^÷%|&amp;⊻]=|=&gt;|&amp;&amp;|\|\|?|&gt;=|&lt;=|==|!=|&lt;\||\|&gt;|\+\+|//|&lt;&lt;|&gt;&gt;|&lt;:|&gt;:|[\Q=≔⩴≕~←→↔↚↛↞↠↢↣↦↤↮⇎⇍⇏⇐⇒⇔⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦⥧⥨⥩⥪⥫⥬⥭⥰⧴⬱⬰⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←→⇜⇝↜↝↩↪↫↬↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇚⇛⇠⇢↷↶↺↻&gt;&lt;≥≤≡≠≢∈∉∋∌⊆⊈⊂⊄⊊∝∊∍∥∦∷∺∻∽∾≁≃≂≄≅≆≇≈≉≊≋≌≍≎≐≑≒≓≖≗≘≙≚≛≜≝≞≟≣≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊃⊅⊇⊉⊋⊏⊐⊑⊒⊜⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⋍⋐⋑⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫷⫸⫹⫺⊢⊣⟂⫪⫫…⁝⋮⋱⋰⋯+-−¦|⊕⊖⊞⊟∪∨⊔±∓∔∸≏⊎⊻⊽⋎⋓⧺⧻⨈⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣*/⌿÷%&amp;··⋅∘×\∩∧⊗⊘⊙⊚⊛⊠⊡⊓∗∙∤⅋≀⊼⋄⋆⋇⋉⋊⋋⋌⋏⋒⟑⦸⦼⦾⦿⧶⧷⨇⨰⨱⨲⨳⨴⨵⨶⨷⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛⊍▷⨝⟕⟖⟗⨟^↑↓⇵⟰⟱⤈⤉⤊⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯↑↓\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="(&int;(\.&int;)?|\.&int;)([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="(&int;(\.&int;)?|\.&int;)([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="=≔⩴≕~←→↔↚↛↞↠↢↣↦↤↮⇎⇍⇏⇐⇒⇔⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦⥧⥨⥩⥪⥫⥬⥭⥰⧴⬱⬰⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←→⇜⇝↜↝↩↪↫↬↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇚⇛⇠⇢↷↶↺↻&gt;&lt;≥≤≡≠≢∈∉∋∌⊆⊈⊂⊄⊊∝∊∍∥∦∷∺∻∽∾≁≃≂≄≅≆≇≈≉≊≋≌≍≎≐≑≒≓≖≗≘≙≚≛≜≝≞≟≣≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊃⊅⊇⊉⊋⊏⊐⊑⊒⊜⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⋍⋐⋑⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫷⫸⫹⫺⊢⊣⟂⫪⫫…⁝⋮⋱⋰⋯:$+-−¦|⊕⊖⊞⊟∪∨⊔±∓∔∸≏⊎⊻⊽⋎⋓⧺⧻⨈⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣*/⌿÷%&amp;··⋅∘×\∩∧⊗⊘⊙⊚⊛⊠⊡⊓∗∙∤⅋≀⊼⋄⋆⋇⋉⋊⋋⋌⋏⋒⟑⦸⦼⦾⦿⧶⧷⨇⨰⨱⨲⨳⨴⨵⨶⨷⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛⊍▷⨝⟕⟖⟗⨟^↑↓⇵⟰⟱⤈⤉⤊⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯↑↓"/>--        <!-- 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 "&#xd7;">     <!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="&bullet;" 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="&bullet;" 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="&bullet;" 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&quot;" char="&quot;"/>-        <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&quot;" char="&quot;"/>
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="&lt;style\b" insensitive="true" beginRegion="style" />-			<RegExpr context="JS" attribute="Element Tag" String="&lt;script\b" insensitive="true" beginRegion="script" />+			<WordDetect context="CSS" attribute="Element Tag" String="&lt;style" insensitive="true" beginRegion="style" />+			<WordDetect context="JS" attribute="Element Tag" String="&lt;script" insensitive="true" beginRegion="script" /> 			<IncludeRules context="Base" /> 		</context> @@ -64,7 +64,7 @@ 			<IncludeRules context="MustacheVariables" />  			<StringDetect context="CDATA" attribute="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />-			<RegExpr context="Doctype" attribute="Doctype" String="&lt;!DOCTYPE\s+" insensitive="true" beginRegion="doctype"  />+			<WordDetect context="Doctype" attribute="Doctype" String="&lt;!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="&quot;" /> 			<DetectChar context="#pop!ValueSQ" attribute="Value" char="&apos;" /> 			<RegExpr context="#pop" attribute="Number" String="\d+(?=\s|/?&gt;|$)" />@@ -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="/(?!&gt;)|[^/&gt;&lt;&quot;&apos;\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="&lt;/style\b" insensitive="true" endRegion="style" />+			<WordDetect context="#pop!ElementTagEnd" attribute="Element Tag" String="&lt;/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=".#:,[*>+~|&amp;" 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=".#,[*>+~|&amp;@{}" 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="&lt;/script\b" insensitive="true" endRegion="script" />+			<WordDetect context="#pop!ElementTagEnd" attribute="Element Tag" String="&lt;/script" insensitive="true" endRegion="script" /> 			<RegExpr context="JSCommentClose" attribute="Comment" String="//(?=.*&lt;/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="&lt;/script\b" insensitive="true" endRegion="script" />+			<WordDetect context="#pop#pop!ElementTagEnd" attribute="Element Tag" String="&lt;/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="[^&quot;`]"/>       </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>&amp;</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="&quot;"/>-        <DetectChar attribute="String" context="StringQ" char="'"/>-        <Detect2Chars attribute="HereString" context="HereStringer" char="@" char1="&quot;" 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="&quot;"/>+        <DetectChar attribute="String" context="StringSQ" char="'"/>+        <StringDetect attribute="HereString" context="HereStringDQ" String="@&quot;" 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="&lt;" char1="#" beginRegion="CommentRegion"/>+        <StringDetect attribute="Comment" context="Commentar 2" String="&lt;#" 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=":!%&amp;()+,-/*&lt;=&gt;?[]|~^&#59;"/>+        <DetectChar attribute="Symbol" context="Member" char="."/>       </context>-      <context attribute="String Char" lineEndContext="#stay" name="StringEscape">-        <RegExpr attribute="String Char" String="`[`&quot;0abefnrtv\$]|`u\{[0-9A-Fa-f]+\}" context="#stay"/>++      <context attribute="Normal Text" name="FindSpecialOtherSymbol">+        <RegExpr attribute="Operator" String="(?&lt;=^|[\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=":!%&amp;()+,-/*&lt;=&gt;?[]|~^;"/>+        <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="(?&lt;=\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]+\}|`.|`$|&quot;&quot;"/>         <DetectChar attribute="String" context="#pop" char="&quot;"/>       </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="&quot;@" endRegion="StringRegion" column="0"/>       </context>-      <context attribute="HereString" lineEndContext="#stay" name="HereStringer">-        <Detect2Chars attribute="HereString" context="#pop" char="&quot;" 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="&gt;" endRegion="CommentRegion"/>+        <!-- no delimiter except spaces -->+        <keyword context="CommentHelp" String="comment-based-help" weakDeliminator="!%&amp;()*+,-./:;$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 "*?!.&lt;^:=~">--  <!ENTITY podfmt "BCEIKLMNPRTUVXZ">-  <!ENTITY allnopodfmt "(?:[^&podfmt;]+|[&podfmt;](?![&lt;«]))+">-  <!ENTITY allnopodfmt1 "(?:[^&podfmt;&lt;>]+|[&podfmt;](&lt;(?:&lt;*(?=&lt;))|(?![&lt;«])))+">-  <!ENTITY allnopodfmt2 "(?:[^&podfmt;«»]+|[&podfmt;](?![&lt;«]))+">-  <!ENTITY allnopodfmt3 "(?:[^&podfmt;&lt;>]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+">--  <!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&quotingform_q;&quotingform_q_assert;">--  <!ENTITY int10 "(?:[0-9]+(?:_[0-9]+)*)">-  <!ENTITY intN "(?:[0-9a-zA-Z]+(?:_[0-9a-zA-Z]+)*)">--  <!-- <!ENTITY operators "(?:\b(?:X[*~]|Z=|xx=)|\((?:[&lt;>][+=]|[-&amp;+.&lt;>|^]|cont|elem)\)|\+[&amp;+&lt;=>^|]?|~[&amp;&lt;>^|~]?|\.(?::&lt;[^>]+>|\.\.?\^?|[=?^*+.])?|\^(?:fff?\b|\.\.)?\^?|(?:[?…]|f?ff)\^|\[[*+]\]|=(?:==?|=>>?|>|~=)?|&lt;(?:&lt;==|=[=>]?)?|\*\*=?|\?[?|]?|!(?:[=]|eqv\b)?|&#37;&#37;?|&amp;&amp;?|//?|\|\|?|>=?|-[-=]?|::|[−∈∉∋∌∘∩∪≅≠≤≥≼≽⊂⊃⊄⊅⊆⊇⊈⊉⊍⊎⊖×÷∖*…])"> -->-  <!-- <!ENTITY hyperoperators "(?:[«»]|&lt;&lt;|&gt;&gt;)"> -->-  <!ENTITY safesymboloperators "−∈∉∋∌∘∩∪≅≠≤≥≼≽⊂⊃⊄⊅⊆⊇⊈⊉⊍⊎⊖×÷∖*…?.+-/=!~&amp;|^&#37;">-  <!ENTITY unsafesymboloperators "&lt;>«»">-  <!ENTITY symboloperators "&safesymboloperators;&unsafesymboloperators;">-  <!ENTITY bracehyperoperator "(?:\[[^\s]+\]|\([^\s]+\))">-  <!ENTITY prefixoperator "R?(?:[XZ]|xx)?">-  <!ENTITY extrasymboloperators "(?:\^fff?\b\^?|\bf?ff\^|\((?:[&lt;>][+=]|[-&amp;+.&lt;>|^]|cont|elem)\))">-  <!ENTITY hyperoperators1 "[«»]&prefixoperator;(?:&amp;&ident;|[&safesymboloperators;&lt;>]+|&bracehyperoperator;)[«»]">-  <!ENTITY hyperoperators2 "(?:&lt;&lt;|&gt;&gt;)&prefixoperator;(?:&amp;&ident;|[&safesymboloperators;«»]+|&bracehyperoperator;)(?:&lt;&lt;|&gt;&gt;)">-  <!ENTITY hyperoperators "&hyperoperators1;|&hyperoperators2;">-  <!ENTITY startstringasoperator "&prefixoperator;&lt;[&symboloperators;]*(?=\s|$)">-  <!ENTITY funcoperator "\[\[\&amp;&ident;\]\]">-  <!ENTITY reductionoperator "\[&prefixoperator;[&symboloperators;]+\]">-  <!ENTITY innerbraceoperator "[&symboloperators;'&quot;]+">-  <!ENTITY operators "&prefixoperator;(?:(?:[&safesymboloperators;>]|&extrasymboloperators;)[&symboloperators;]*|\(&innerbraceoperator;\)|\[&innerbraceoperator;\]|&lt;[&safesymboloperators;'&quot;]+>)">--  <!-- <!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="&quot;"/>-        <DetectChar attribute="String Delimiter" context="q_RawString" char="'"/>-        <DetectChar char="{" context="Interpolation" attribute="Operator" beginRegion="block"/>-        <RegExpr String="(?:s|tr|TR)&regadverb;" context="RegexSubstitution" attribute="Operator"/>-        <RegExpr String="(?:rx|m)&regadverb;" context="Regex" attribute="Operator"/>-        <IncludeRules context="find_Variable"/>-        <DetectChar attribute="Pod" context="StartPod" char="=" firstNonSpace="1"/>-        <RegExpr String="»\.|&lt;&lt;\.|&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&lt;&lt;" char="&lt;" char1="&lt;"/>-        <DetectChar attribute="String Delimiter" context="q_String&lt;" char="&lt;"/>-        <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(?=&quotingform_q;&quotingform_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="[%&amp;](?=[?*]&alphabetic;)|(?:\$[&twigils;]|::\?)(?=&alphabetic;)" context="Twigil" attribute="Variable"/>-        <RegExpr String="[$@]\(\)|[%@]?\$/|\$!|\$[0-9]+|[\\@%&amp;$]&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="&lt;" context="Pattern&lt;" 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&lt;" 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="&quot;"/>-        <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="&lt;" char1="("/>-        <Detect2Chars attribute="Operator" context="PatternAssertion" char="&lt;" char1="?"/>-        <Detect2Chars attribute="Operator" context="PatternAssertion" char="&lt;" char1="!"/>-        <Detect2Chars attribute="Operator" context="#stay" char="&lt;" char1="&lt;"/>-        <Detect2Chars attribute="Operator" context="#stay" char=">" char1=">"/>-        <DetectChar attribute="Pattern Meta Character" context="RegexClass" char="&lt;"/>-        <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="&lt;"/>-        <AnyChar attribute="Pattern Control Flow" context="#stay" String="&amp;|^$"/>-        <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="&quot;"/>-        <DetectChar attribute="String Delimiter" context="Q_String「" char="「"/>-        <DetectChar attribute="String Delimiter" context="q_String&lt;" char="&lt;"/>-        <DetectChar attribute="String Delimiter" context="qq_String«" char="«"/>-        <RegExpr attribute="String" context="#stay" String="[^-!+()?:&lt;>'&quot;「«]+"/>-      </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="&gt;" 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="&gt;" 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="&lt;" 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="&lt;" attribute="Pod Bold" context="#pop!PodFormatB"/>-        <Detect2Chars char="B" char1="«"    attribute="Pod Bold" context="#pop!PodFormatB2"/>-        <Detect2Chars char="I" char1="&lt;" attribute="Pod Italic" context="#pop!PodFormatI"/>-        <Detect2Chars char="I" char1="«"    attribute="Pod Italic" context="#pop!PodFormatI2"/>-        <Detect2Chars char="L" char1="&lt;" attribute="Pod Link" context="#pop!PodFormatL"/>-        <Detect2Chars char="L" char1="«"    attribute="Pod Link" context="#pop!PodFormatL2"/>-        <Detect2Chars char="N" char1="&lt;" attribute="Pod Note" context="#pop!PodFormatN"/>-        <Detect2Chars char="N" char1="«"    attribute="Pod Note" context="#pop!PodFormatN2"/>-        <Detect2Chars char="P" char1="&lt;" attribute="Pod Link" context="#pop!PodFormatL"/>-        <Detect2Chars char="P" char1="«"    attribute="Pod Link" context="#pop!PodFormatL2"/>-        <Detect2Chars char="Z" char1="&lt;" attribute="Pod Comment" context="#pop!PodFormatZ"/>-        <Detect2Chars char="Z" char1="«"    attribute="Pod Comment" context="#pop!PodFormatZ2"/>-        <Detect2Chars char="U" char1="&lt;" attribute="Pod Underline" context="#pop!PodFormatU"/>-        <Detect2Chars char="U" char1="«"    attribute="Pod Underline" context="#pop!PodFormatU2"/>-        <Detect2Chars char="C" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>-        <Detect2Chars char="C" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>-        <Detect2Chars char="E" char1="&lt;" attribute="Pod Unicode" context="#pop!PodFormatE"/>-        <Detect2Chars char="E" char1="«"    attribute="Pod Unicode" context="#pop!PodFormatE2"/>-        <Detect2Chars char="K" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>-        <Detect2Chars char="K" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>-        <Detect2Chars char="R" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>-        <Detect2Chars char="R" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>-        <Detect2Chars char="T" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>-        <Detect2Chars char="T" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>-        <Detect2Chars char="V" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatV"/>-        <Detect2Chars char="V" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatV2"/>-        <Detect2Chars char="X" char1="&lt;" attribute="Pod Indexed Terms" context="#pop!PodFormatX"/>-        <Detect2Chars char="X" char1="«"    attribute="Pod Indexed Terms" context="#pop!PodFormatX2"/>-        <Detect2Chars char="M" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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;&lt;>|]+|[&podfmt;](?![&lt;«]))+"/>-        <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;](?![&lt;«]))+"/>-        <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;&lt;>|]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+"/>-        <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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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;&lt;>|;,]+|[&podfmt;](?![&lt;«]))+"/>-        <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;](?![&lt;«]))+"/>-        <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;&lt;>|;,]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+"/>-        <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>-        <Detect2Chars char="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&quot;" 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="&quot;" 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="&quot;" 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="&quot;" context="#pop" attribute="String Delimiter"/>-        <DetectChar char="\" context="SpecialChar" attribute="String Special Character"/>-        <RegExpr String="(?:[^&quot;\\]*|\\$)*" 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="[^&quot;]" 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="[^&quot;]" 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="[^]&quot;]" 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="[^&quot;]" 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="[^]&quot;]" 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="&lt;" context="#pop!Q_String&lt;" 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&lt;" attribute="String" lineEndContext="#stay">-        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>-        <DetectChar char="&lt;" context="Q_String&lt;" attribute="String Delimiter"/>-        <RegExpr String="[^&lt;>]*" 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="&quot;" 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]|&quotingconstruct;|$))*" 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="[^\\${@&amp;]*" 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="&lt;" context="#pop#pop!q_String&lt;" 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="(?:[^()\\]*|\\(?![()\\]|&quotingconstruct;|$))*" 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="(?:[^\[\]\\]*|\\(?![\[\]\\]|&quotingconstruct;|$))*" 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="(?:[^{}\\]*|\\(?![{}\\]|&quotingconstruct;|$))*" context="#stay" attribute="String"/>-        <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>-      </context>--      <context name="q_String&lt;" attribute="String" lineEndContext="#stay">-        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>-        <DetectChar char="&lt;" context="q_String&lt;" attribute="String Delimiter"/>-        <Detect2Chars char="\" char1="&lt;" 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="(?:[^&lt;>\\]*|\\(?![&lt;>\\]|&quotingconstruct;|$))*" 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]|&quotingconstruct;|$))*" 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="(?:[^\\']*|\\(?![\\']|&quotingconstruct;|$))*" 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="&lt;" context="#pop#pop!qq_String&lt;" 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="[^()\\${@&amp;]*" 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="[^\[\]\\${@&amp;]*" 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="[^{}\\$@&amp;]*" context="#stay" attribute="String"/>-      </context>--      <context name="qq_String&lt;" attribute="String" lineEndContext="#stay">-        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>-        <DetectChar char="&lt;" context="qq_String&lt;" attribute="String Delimiter"/>-        <IncludeRules context="find_qq_StringCommon"/>-        <RegExpr String="[^&lt;>\\${@&amp;]*" 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="[^«»\\${@&amp;]*" context="#stay" attribute="String"/>-      </context>--      <context name="qq_String&lt;&lt;" attribute="String" lineEndContext="#stay">-        <Detect2Chars char=">" char1=">" context="#pop" attribute="String Delimiter"/>-        <Detect2Chars char="&lt;" char1="&lt;" context="qq_String&lt;&lt;" attribute="String Delimiter"/>-        <IncludeRules context="find_qq_StringCommon"/>-        <RegExpr String="([^&lt;>\\${@&amp;]*|&lt;(?!&lt;)|>(?!>))" 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\\${@&amp;]*" dynamic="1" context="#stay" attribute="String"/>-      </context>--      <context name="qq_RawString" attribute="String" lineEndContext="#stay">-        <DetectChar char="&quot;" context="#pop" attribute="String Delimiter"/>-        <IncludeRules context="find_qq_StringCommon"/>-        <RegExpr String="[^\\&quot;${@&amp;]*" 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="&amp;" 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="&amp;&ident;\(" context="#pop!FunctionParameters" attribute="Function"/>-        <DetectChar char="&amp;" 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&lt;&lt;&lt;" String="&lt;&lt;&lt;" 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&lt;&lt;" char="&lt;" char1="&lt;" 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&lt;" char="&lt;" 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&lt;&lt;&lt;" attribute="Comment" lineEndContext="#stay">-        <IncludeRules context="SingleLineComment"/>-        <StringDetect String=">>>" attribute="Comment" context="#pop" endRegion="comment"/>-        <StringDetect String="&lt;&lt;&lt;" attribute="Comment" context="MultilineComment&lt;&lt;&lt;" 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&lt;&lt;" attribute="Comment" lineEndContext="#stay">-        <IncludeRules context="SingleLineComment"/>-        <Detect2Chars char=">" char1=">" attribute="Comment" context="#pop" endRegion="comment"/>-        <Detect2Chars char="&lt;" char1="&lt;" attribute="Comment" context="MultilineComment&lt;&lt;" 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&lt;" attribute="Comment" lineEndContext="#stay">-        <IncludeRules context="SingleLineComment"/>-        <DetectChar char=">" attribute="Comment" context="#pop" endRegion="comment"/>-        <DetectChar char="&lt;" attribute="Comment" context="MultilineComment&lt;" 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 "[&#37;&amp;](?=[?*][_\p{L}])|[$@](?=[&twigils;][_\p{L}])">+  <!ENTITY variable "[&#37;@]?\$/|\$!|\$[0-9]+|[\\@&#37;&amp;$]&ident;">++  <!ENTITY podfmt "BCEIKLMNPRTUVXZ">+  <!ENTITY allnopodfmt "(?:[^&podfmt;]+|[&podfmt;](?![&lt;«]))+">+  <!ENTITY allnopodfmt1 "(?:[^&podfmt;&lt;>]+|[&podfmt;](&lt;(?:&lt;*(?=&lt;))|(?![&lt;«])))+">+  <!ENTITY allnopodfmt2 "(?:[^&podfmt;«»]+|[&podfmt;](?![&lt;«]))+">+  <!ENTITY allnopodfmt3 "(?:[^&podfmt;&lt;>]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+">++  <!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&quotingform_q;&quotingform_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 "\.([=^?+*:]|&amp;(?![?][_\p{L}]))?">++  <!ENTITY postfix_ops "⚛?(\+\+|\-\-)">++  <!ENTITY prefix_unary_ops "(\+\+⚛?|\-\-⚛?|//|[+~?]\^|[-+~|?!^⚛]|\b(not|so)\b)">++  <!ENTITY _infix_simple_ops "\*\*|&#37;&#37;|[+~][&amp;&lt;>|^]|\?[&amp;^|]|=>|==>|&lt;==|::?=|//|\^\^|\([-+&amp;.|]\)|\^?…\^?|\^?\.\.\.\^?|[-+*/&#37;~∘&amp;∩⊍|∪⊎^⊖=]|\b(div|mod|gcd|lcm|xx?|min|max|minmax|andthen|notandthen|orelse|o)\b">+  <!ENTITY _infix_chaining_ops "\((elem|cont|[=&lt;>]=|[&lt;>])\)|\.\.[\^]?|\^\.\.\^?|&lt;=>|===|=:=|=~=|~~|[=&lt;>]=|[⩵≠≤≥⩶∈∉≡≢∋∌⊂⊄⊆⊈⊃⊅⊇⊉]|&lt;(?!&lt;)|>(?!>)|&amp;&amp;|\|\||\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="&lt;(?![\]&lt;])" 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&lt;_common"/>+      </context>++      <context name="boxed_op_elem_before" attribute="Normal Text" lineEndContext="#pop">+        <IncludeRules context="find_boxed_op"/>+        <RegExpr String="(\b[RXZS]+)?(&lt;&lt;|>>|«|»)" context="hyper_op_dispatch" lookAhead="1"/>+        <RegExpr String="[\\&amp;]&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="&lt;&lt;" 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="&lt;&lt;" context="#pop" attribute="Hyper Operator"/>+        <StringDetect String="«" context="#pop" attribute="Hyper Operator"/>+        <StringDetect String="&lt;" context="#pop!q_String&lt;_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]+)?(&lt;&lt;|>>|«|»)" 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="&lt;&lt;" 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="&lt;&lt;" 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]+)?([+~][&amp;>|^]?|[-=])=?|\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="&quot;" 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="&lt;&lt;" context="qq_String&lt;&lt;_term" attribute="String Delimiter"/>+        <DetectChar char="&lt;" context="q_String&lt;_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)&regadverb;" context="RegexSubstitution" attribute="Pattern Delimiter"/>+        <RegExpr String="\b(?:rx|m)&regadverb;" context="Regex" attribute="Pattern Delimiter"/>++        <RegExpr String="&twigil_variable;" context="Twigil_term" attribute="Variable"/>+        <!-- '*' -> Whatever variable: (* + *)(1, 2) == 3 -->+        <RegExpr String="&variable;|\$(&lt;&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(?=&quotingform_q;&quotingform_q_assert;)"/>++        <IncludeRules context="infix_regular_op"/>++        <RegExpr String="(?&lt;=[.])(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="&lt;&lt;" context="Pattern&lt;&lt;" 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="&lt;" context="Pattern&lt;" 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&lt;" attribute="Pattern" lineEndContext="#stay">+        <DetectChar char=">" context="#pop#pop!postfix_op" attribute="Pattern Delimiter" endRegion="regex"/>+        <IncludeRules context="find_Pattern"/>+      </context>++      <context name="Pattern&lt;&lt;" 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="&quot;" 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="&lt;&lt;" attribute="Operator"/>+        <StringDetect String=">>" attribute="Operator"/>+        <StringDetect String="&lt;(" context="PatternCaptureMarker" attribute="Pattern Meta Character"/>+        <DetectChar char="&lt;" 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="\$&lt;&ident;>?" attribute="Pattern Named Capture"/>+        <AnyChar String="&amp;|^$" 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="&lt;" context="q_String&lt;" 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="&lt;" 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="&gt;" 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="&gt;" 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="&lt;" attribute="Pod Bold" context="#pop!PodFormatB"/>+        <Detect2Chars char="B" char1="«"    attribute="Pod Bold" context="#pop!PodFormatB2"/>+        <Detect2Chars char="I" char1="&lt;" attribute="Pod Italic" context="#pop!PodFormatI"/>+        <Detect2Chars char="I" char1="«"    attribute="Pod Italic" context="#pop!PodFormatI2"/>+        <Detect2Chars char="L" char1="&lt;" attribute="Pod Link" context="#pop!PodFormatL"/>+        <Detect2Chars char="L" char1="«"    attribute="Pod Link" context="#pop!PodFormatL2"/>+        <Detect2Chars char="N" char1="&lt;" attribute="Pod Note" context="#pop!PodFormatN"/>+        <Detect2Chars char="N" char1="«"    attribute="Pod Note" context="#pop!PodFormatN2"/>+        <Detect2Chars char="P" char1="&lt;" attribute="Pod Link" context="#pop!PodFormatL"/>+        <Detect2Chars char="P" char1="«"    attribute="Pod Link" context="#pop!PodFormatL2"/>+        <Detect2Chars char="Z" char1="&lt;" attribute="Pod Comment" context="#pop!PodFormatZ"/>+        <Detect2Chars char="Z" char1="«"    attribute="Pod Comment" context="#pop!PodFormatZ2"/>+        <Detect2Chars char="U" char1="&lt;" attribute="Pod Underline" context="#pop!PodFormatU"/>+        <Detect2Chars char="U" char1="«"    attribute="Pod Underline" context="#pop!PodFormatU2"/>+        <Detect2Chars char="C" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+        <Detect2Chars char="C" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+        <Detect2Chars char="E" char1="&lt;" attribute="Pod Unicode" context="#pop!PodFormatE"/>+        <Detect2Chars char="E" char1="«"    attribute="Pod Unicode" context="#pop!PodFormatE2"/>+        <Detect2Chars char="K" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+        <Detect2Chars char="K" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+        <Detect2Chars char="R" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+        <Detect2Chars char="R" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+        <Detect2Chars char="T" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatVT"/>+        <Detect2Chars char="T" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatVT2"/>+        <Detect2Chars char="V" char1="&lt;" attribute="Pod Verbatim" context="#pop!PodFormatV"/>+        <Detect2Chars char="V" char1="«"    attribute="Pod Verbatim" context="#pop!PodFormatV2"/>+        <Detect2Chars char="X" char1="&lt;" attribute="Pod Indexed Terms" context="#pop!PodFormatX"/>+        <Detect2Chars char="X" char1="«"    attribute="Pod Indexed Terms" context="#pop!PodFormatX2"/>+        <Detect2Chars char="M" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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;&lt;>|]+|[&podfmt;](?![&lt;«]))+"/>+        <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;](?![&lt;«]))+"/>+        <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;&lt;>|]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+"/>+        <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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&lt;" char1="&lt;" 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="&lt;" 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;&lt;>|;,]+|[&podfmt;](?![&lt;«]))+"/>+        <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;](?![&lt;«]))+"/>+        <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;&lt;>|;,]+|[&podfmt;](?![&lt;«])|>(?!>)|&lt;(?!&lt;))+"/>+        <AnyChar String="|;," attribute="Pod Operator" context="#stay"/>+        <Detect2Chars char="&lt;" char1="&lt;" 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="&lt;" 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="&lt;" 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="&quot;" 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="&quot;" 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="&quot;" 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="&quot;" context="#pop" attribute="String Delimiter"/>+        <DetectChar char="\" context="SpecialChar" attribute="String Special Character"/>+        <RegExpr String="(?:[^&quot;\\]*|\\$)*" 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="&quot;" 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&quot;]+|[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&quot;]+|[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&quot;]+|[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="&lt;" context="#pop!Q_String&lt;" 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&lt;" attribute="String" lineEndContext="#stay">+        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+        <DetectChar char="&lt;" context="Q_String&lt;" attribute="String Delimiter"/>+        <RegExpr String="[^&lt;>]*" 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="&quot;" 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]|&quotingconstruct;|$))*" 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="[^\\${@&amp;]*" 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="&lt;" context="#pop#pop!q_String&lt;" 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="(?:[^()\\]*|\\(?![()\\]|&quotingconstruct;|$))*" 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="(?:[^\[\]\\]*|\\(?![\[\]\\]|&quotingconstruct;|$))*" 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="(?:[^{}\\]*|\\(?![{}\\]|&quotingconstruct;|$))*" context="#stay" attribute="String"/>+        <Detect2Chars char="\" char1="q" context="q_QuotingForm" attribute="Operator"/>+      </context>++      <context name="q_String&lt;" attribute="String" lineEndContext="#stay">+        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+        <IncludeRules context="q_String&lt;_common"/>+      </context>+      <context name="q_String&lt;_term" attribute="String" lineEndContext="#stay">+        <DetectChar char=">" context="#pop!postfix_op" attribute="String Delimiter"/>+        <IncludeRules context="q_String&lt;_common"/>+      </context>+      <context name="q_String&lt;_common" attribute="String" lineEndContext="#stay">+        <DetectChar char="&lt;" context="q_String&lt;" attribute="String Delimiter"/>+        <Detect2Chars char="\" char1="&lt;" 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="(?:[^&lt;>\\]*|\\(?![&lt;>\\]|&quotingconstruct;|$))*" 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]|&quotingconstruct;|$))*" 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="(?:[^\\']*|\\(?![\\']|&quotingconstruct;|$))*" 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="&lt;" context="#pop#pop!qq_String&lt;" 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="[^()\\${@&amp;]*" 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="[^\[\]\\${@&amp;]*" 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="[^{}\\$@&amp;]*" context="#stay" attribute="String"/>+      </context>++      <context name="qq_String&lt;" attribute="String" lineEndContext="#stay">+        <DetectChar char=">" context="#pop" attribute="String Delimiter"/>+        <DetectChar char="&lt;" context="qq_String&lt;" attribute="String Delimiter"/>+        <IncludeRules context="find_qq_StringCommon"/>+        <RegExpr String="[^&lt;>\\${@&amp;]*" 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="[^«»\\${@&amp;]*" context="#stay" attribute="String"/>+      </context>++      <context name="qq_String&lt;&lt;" attribute="String" lineEndContext="#stay">+        <Detect2Chars char=">" char1=">" context="#pop" attribute="String Delimiter"/>+        <IncludeRules context="qq_String&lt;&lt;_common"/>+      </context>+      <context name="qq_String&lt;&lt;_term" attribute="String" lineEndContext="#stay">+        <Detect2Chars char=">" char1=">" context="#pop!postfix_op" attribute="String Delimiter"/>+        <IncludeRules context="qq_String&lt;&lt;_common"/>+      </context>+      <context name="qq_String&lt;&lt;_common" attribute="String" lineEndContext="#stay">+        <Detect2Chars char="&lt;" char1="&lt;" context="qq_String&lt;&lt;" attribute="String Delimiter"/>+        <IncludeRules context="find_qq_StringCommon"/>+        <RegExpr String="([^&lt;>\\${@&amp;]*|&lt;(?!&lt;)|>(?!>))" 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\\${@&amp;]*" dynamic="1" context="#stay" attribute="String"/>+      </context>++      <context name="qq_RawString" attribute="String" lineEndContext="#stay">+        <DetectChar char="&quot;" context="#pop" attribute="String Delimiter"/>+        <IncludeRules context="qq_RawString_common"/>+      </context>+      <context name="qq_RawString_term" attribute="String" lineEndContext="#stay">+        <DetectChar char="&quot;" 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="[^\\&quot;${@&amp;]*" 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="&amp;" 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="&amp;&ident;\(" context="#pop!FunctionParameters" attribute="Function"/>+        <DetectChar char="&amp;" 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&lt;&lt;&lt;" String="&lt;&lt;&lt;" 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&lt;&lt;" char="&lt;" char1="&lt;" 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&lt;" char="&lt;" 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&lt;&lt;&lt;" attribute="Comment" lineEndContext="#stay">+        <IncludeRules context="SingleLineComment"/>+        <StringDetect String=">>>" attribute="Comment" context="#pop" endRegion="comment"/>+        <StringDetect String="&lt;&lt;&lt;" attribute="Comment" context="MultilineComment&lt;&lt;&lt;" 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&lt;&lt;" attribute="Comment" lineEndContext="#stay">+        <IncludeRules context="SingleLineComment"/>+        <Detect2Chars char=">" char1=">" attribute="Comment" context="#pop" endRegion="comment"/>+        <Detect2Chars char="&lt;" char1="&lt;" attribute="Comment" context="MultilineComment&lt;&lt;" 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&lt;" attribute="Comment" lineEndContext="#stay">+        <IncludeRules context="SingleLineComment"/>+        <DetectChar char=">" attribute="Comment" context="#pop" endRegion="comment"/>+        <DetectChar char="&lt;" attribute="Comment" context="MultilineComment&lt;" 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="\$&lt;&ident;>?" attribute="Pattern Named Capture"/>+         <AnyChar String="&amp;|^$" 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="*>+~|&amp;" />-                <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|:?[#.&amp;{[*>+~|,]|:[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="*>+~|&amp;" />-                <IncludeRules context="SelectorTypes" />-            </context>--            <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">-                <AnyChar attribute="Error" context="#stay" String=",&amp;" />-                <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$&quot;'])" 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="&quot;" />-                <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="=!&lt;&gt;" />-            </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="&amp;" />-                <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$&quot;'])" 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="&quot;" />-                <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="\\?[^#&quot;'\\]+" />-            </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="*>+~|&amp;#.%,:[\" 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="*>+~|&amp;"/>+                <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="&amp;"/>+                <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="&amp;"/>+                <IncludeRules context="FindStrings"/>+                <IncludeRules context="FindInterpolation"/>+                <IncludeRules context="FindComments"/>+                <AnyChar attribute="Operator" String="*/+%=&lt;>!"/>+                <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="*/+%=&lt;>"/>+                <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="&quot;"/>+                <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="&amp;"/>+                <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="*/+%=&lt;>"/>+                <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="&quot;'" 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="&amp;"/>+                <!-- 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="&quot;"/>+                <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="\\?[^#&quot;'\\]+"/>+            </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  "&amp;(?:#[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>