packages feed

skylighting-core 0.13.4 → 0.13.4.1

raw patch · 28 files changed

+1054/−316 lines, 28 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

changelog.md view
@@ -1,5 +1,14 @@ # Revision history for skylighting and skylighting-core +## 0.13.4.1++  * Update syntax definitions: ada, bash, cmake, css, html, isocpp, java,+    javascript, kotlin, latex, makefile, markdown, php, python, qml, r,+    sass, scss, typescript, zsh.++  * Don't require word boundary at end of Int, Float, HlCHex, HlCOct (#170).+    KDE does not.  This fixes things like `7L` in R.+ ## 0.13.4    * Add `dosbat` syntax (MS DOS batch file) (#169).
skylighting-core.cabal view
@@ -1,5 +1,5 @@ name:                skylighting-core-version:             0.13.4+version:             0.13.4.1 synopsis:            syntax highlighting library description:         Skylighting is a syntax highlighting library.                      It derives its tokenizers from XML syntax
src/Skylighting/Tokenizer.hs view
@@ -666,8 +666,7 @@ pDec :: A.Parser () pDec = do   mbMinus-  _ <- A.takeWhile1 (A.inClass "0-9")-  guardWordBoundary+  void $ A.takeWhile1 (A.inClass "0-9")  parseOct :: ByteString -> TokenizerM Text parseOct inp = do@@ -682,7 +681,7 @@   _ <- A.char '0'   _ <- A.satisfy (A.inClass "Oo")   _ <- A.takeWhile1 (A.inClass "0-7")-  guardWordBoundary+  return ()  parseHex :: ByteString -> TokenizerM Text parseHex inp = do@@ -697,14 +696,7 @@   _ <- A.char '0'   _ <- A.satisfy (A.inClass "Xx")   _ <- A.takeWhile1 (A.inClass "0-9a-fA-F")-  guardWordBoundary--guardWordBoundary :: A.Parser ()-guardWordBoundary = do-  mbw <- A.peekChar-  case mbw of-       Just c  ->  guard $ isWordBoundary '0' c-       Nothing -> return ()+  return ()  mbMinus :: A.Parser () mbMinus = (() <$ A.char '-') <|> return ()
test/expected/abc.cpp.native view
@@ -405,8 +405,8 @@   ] , [ ( NormalTok , "        " )   , ( BuiltInTok , "std::" )-  , ( NormalTok , "cout" )-  , ( OperatorTok , " <<" )+  , ( NormalTok , "cout " )+  , ( OperatorTok , "<<" )   , ( NormalTok , " w " )   , ( OperatorTok , "<<" )   , ( NormalTok , " " )@@ -415,8 +415,8 @@   , ( OperatorTok , "<<" )   , ( NormalTok , " " )   , ( BuiltInTok , "std::" )-  , ( NormalTok , "boolalpha" )-  , ( OperatorTok , " <<" )+  , ( NormalTok , "boolalpha " )+  , ( OperatorTok , "<<" )   , ( NormalTok , " can_make_word" )   , ( OperatorTok , "(" )   , ( NormalTok , "w" )
test/expected/abc.kotlin.native view
@@ -87,12 +87,12 @@   , ( OperatorTok , ")" )   ] , []-, [ ( NormalTok , "/*" ) ]-, [ ( NormalTok+, [ ( CommentTok , "/*" ) ]+, [ ( CommentTok     , " *  Not the most elegant way but interesting from an highlighting perspective ;)"     )   ]-, [ ( NormalTok , " */" ) ]+, [ ( CommentTok , " */" ) ] , [ ( KeywordTok , "public" )   , ( NormalTok , " " )   , ( KeywordTok , "class" )
test/expected/abc.r.native view
@@ -43,7 +43,10 @@   , ( NormalTok , " char, " )   , ( AttributeTok , "arr.ind=" )   , ( ConstantTok , "TRUE" )-  , ( NormalTok , ")[, 1L])))" )+  , ( NormalTok , ")[, " )+  , ( DecValTok , "1" )+  , ( DataTypeTok , "L" )+  , ( NormalTok , "])))" )   ] , [ ( NormalTok , "    charBlocks " )   , ( OtherTok , "<-" )@@ -67,9 +70,15 @@   , ( ControlFlowTok , "if" )   , ( NormalTok , " (" )   , ( FunctionTok , "dim" )-  , ( NormalTok , "(charBlocks)[1L] " )+  , ( NormalTok , "(charBlocks)[" )+  , ( DecValTok , "1" )+  , ( DataTypeTok , "L" )+  , ( NormalTok , "] " )   , ( SpecialCharTok , ">" )-  , ( NormalTok , " 0L) {" )+  , ( NormalTok , " " )+  , ( DecValTok , "0" )+  , ( DataTypeTok , "L" )+  , ( NormalTok , ") {" )   ] , [ ( NormalTok , "      " )   , ( FunctionTok , "t" )
test/expected/hk91.html.native view
@@ -2,14 +2,21 @@   , ( NormalTok , "HTML" )   , ( DataTypeTok , ">" )   ]-, [ ( KeywordTok , "<html>" ) ]-, [ ( KeywordTok , "<head>" ) ]+, [ ( DataTypeTok , "<" )+  , ( KeywordTok , "html" )+  , ( DataTypeTok , ">" )+  ]+, [ ( DataTypeTok , "<" )+  , ( KeywordTok , "head" )+  , ( DataTypeTok , ">" )+  ] , [] , [ ( NormalTok , "  " )-  , ( KeywordTok , "<script" )+  , ( DataTypeTok , "<" )+  , ( KeywordTok , "script" )   , ( OtherTok , " type=" )   , ( StringTok , "\"text/javascript\"" )-  , ( KeywordTok , ">" )+  , ( DataTypeTok , ">" )   ] , [ ( NormalTok , "    " )   , ( KeywordTok , "function" )@@ -63,9 +70,17 @@   , ( OperatorTok , ";" )   ] , [ ( NormalTok , "    }" ) ]-, [ ( NormalTok , "  " ) , ( KeywordTok , "</script>" ) ]+, [ ( NormalTok , "  " )+  , ( DataTypeTok , "</" )+  , ( KeywordTok , "script" )+  , ( DataTypeTok , ">" )+  ] , []-, [ ( NormalTok , "  " ) , ( KeywordTok , "<script>" ) ]+, [ ( NormalTok , "  " )+  , ( DataTypeTok , "<" )+  , ( KeywordTok , "script" )+  , ( DataTypeTok , ">" )+  ] , [ ( NormalTok , "    " )   , ( FunctionTok , "$" )   , ( NormalTok , "(" )@@ -83,13 +98,29 @@   , ( OperatorTok , ";" )   ] , [ ( NormalTok , "    })" ) , ( OperatorTok , ";" ) ]-, [ ( NormalTok , "  " ) , ( KeywordTok , "</script>" ) ]+, [ ( NormalTok , "  " )+  , ( DataTypeTok , "</" )+  , ( KeywordTok , "script" )+  , ( DataTypeTok , ">" )+  ] , []-, [ ( KeywordTok , "</head>" ) ]+, [ ( DataTypeTok , "</" )+  , ( KeywordTok , "head" )+  , ( DataTypeTok , ">" )+  ] , []-, [ ( KeywordTok , "<body>" ) ]+, [ ( DataTypeTok , "<" )+  , ( KeywordTok , "body" )+  , ( DataTypeTok , ">" )+  ] , []-, [ ( KeywordTok , "</body>" ) ]+, [ ( DataTypeTok , "</" )+  , ( KeywordTok , "body" )+  , ( DataTypeTok , ">" )+  ] , []-, [ ( KeywordTok , "</html>" ) ]+, [ ( DataTypeTok , "</" )+  , ( KeywordTok , "html" )+  , ( DataTypeTok , ">" )+  ] ]
test/test-skylighting.hs view
@@ -178,7 +178,8 @@            ] @=? tokenize defConfig c "1111111111111111111111"        , testCase "Chinese characters in HTML (#110)" $ Right-          [ [ ( NormalTok , "\35797\65306" ) , ( KeywordTok , "<a>" ) ]+          [ [ ( NormalTok , "\35797\65306" ) , ( DataTypeTok , "<" ) ,+              ( KeywordTok , "a" ) , ( DataTypeTok , ">" ) ]           ] @=? tokenize defConfig html "试:<a>"        , testCase "Bash closing brace (#119)" $ Right
xml/ada.xml view
@@ -1,13 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE language>+<!DOCTYPE language+[+  <!ENTITY b2 "[0-1]++(_?[0-1])*+">+  <!ENTITY b3 "[0-2]++(_?[0-2])*+">+  <!ENTITY b4 "[0-3]++(_?[0-3])*+">+  <!ENTITY b5 "[0-4]++(_?[0-4])*+">+  <!ENTITY b6 "[0-5]++(_?[0-5])*+">+  <!ENTITY b7 "[0-6]++(_?[0-6])*+">+  <!ENTITY b8 "[0-7]++(_?[0-7])*+">+  <!ENTITY b9 "[0-8]++(_?[0-8])*+">+  <!ENTITY b10 "[0-9]++(_?[0-9])*+">+  <!ENTITY b11 "[0-9a-a]++(_?[0-9]a-a)*+">+  <!ENTITY b12 "[0-9a-b]++(_?[0-9]a-b)*+">+  <!ENTITY b13 "[0-9a-c]++(_?[0-9]a-c)*+">+  <!ENTITY b14 "[0-9a-d]++(_?[0-9]a-d)*+">+  <!ENTITY b15 "[0-9a-e]++(_?[0-9]a-e)*+">+  <!ENTITY b16 "[0-9a-f]++(_?[0-9]a-f)*+">+]> <language name="Ada"-          version="6"-          kateversion="5.0"+          version="7"+          kateversion="5.79"           section="Sources"           extensions="*.adb;*.ads;*.ada;*.a"           indenter="ada"           mimetype="text/x-adasrc">   <highlighting>+    <!-- http://ada-auth.org/standards/rm12_w_tc1/html/RM-P.html -->++    <!-- http://ada-auth.org/standards/rm12_w_tc1/html/RM-2-9.html -->     <list name="keywords">       <item>abort</item>       <item>abs</item>@@ -21,6 +41,7 @@       <item>at</item>       <item>begin</item>       <item>body</item>+      <item>case</item>       <item>constant</item>       <item>declare</item>       <item>delay</item>@@ -37,10 +58,12 @@       <item>function</item>       <item>generic</item>       <item>goto</item>+      <item>if</item>       <item>in</item>       <item>interface</item>       <item>is</item>       <item>limited</item>+      <item>loop</item>       <item>mod</item>       <item>new</item>       <item>not</item>@@ -57,14 +80,17 @@       <item>protected</item>       <item>raise</item>       <item>range</item>-      <item>rem</item>       <item>record</item>+      <item>rem</item>       <item>renames</item>       <item>requeue</item>       <item>return</item>       <item>reverse</item>+      <item>select</item>       <item>separate</item>+      <item>some</item>       <item>subtype</item>+      <item>synchronized</item>       <item>tagged</item>       <item>task</item>       <item>terminate</item>@@ -77,6 +103,7 @@       <item>with</item>       <item>xor</item>     </list>+     <list name="pragmas">       <item>all_calls_remote</item>       <item>assert</item>@@ -128,6 +155,7 @@       <item>volatile</item>       <item>volatile_components</item>     </list>+     <list name="types">       <item>boolean</item>       <item>character</item>@@ -145,38 +173,151 @@       <item>wide_wide_character</item>       <item>wide_wide_string</item>     </list>+     <contexts>       <context attribute="Normal Text" lineEndContext="#stay" name="Default">-        <RegExpr attribute="Keyword" context="#stay" String="\brecord\b"       insensitive="true" beginRegion="RecordRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+record\b" insensitive="true"   endRegion="RecordRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bcase\b"         insensitive="true" beginRegion="CaseRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+case\b"   insensitive="true"   endRegion="CaseRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bif\b"           insensitive="true" beginRegion="IfRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+if\b"     insensitive="true"   endRegion="IfRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bloop\b"         insensitive="true" beginRegion="LoopRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+loop\b"   insensitive="true"   endRegion="LoopRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bselect\b"       insensitive="true" beginRegion="SelectRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\s+select\b" insensitive="true"   endRegion="SelectRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bbegin\b"        insensitive="true" beginRegion="BeginRegion"/>-        <RegExpr attribute="Keyword" context="#stay" String="\bend\b"          insensitive="true"   endRegion="BeginRegion"/>+        <DetectSpaces />+         <StringDetect attribute="Region Marker" context="Region Marker" String="--  BEGIN" beginRegion="RegionMarker" firstNonSpace="true" />         <StringDetect attribute="Region Marker" context="Region Marker" String="--  END" endRegion="RegionMarker" firstNonSpace="true" />+        <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;|"/>+        <AnyChar context="Numeric" String="0123456789" lookAhead="1"/>+        <DetectChar context="String" char="&quot;" lookAhead="1"/>++        <WordDetect attribute="Keyword" context="#stay" String="record" insensitive="true" beginRegion="RecordRegion"/>+        <WordDetect attribute="Keyword" context="#stay" String="case"   insensitive="true" beginRegion="CaseRegion"/>+        <WordDetect attribute="Keyword" context="#stay" String="if"     insensitive="true" beginRegion="IfRegion"/>+        <WordDetect attribute="Keyword" context="#stay" String="loop"   insensitive="true" beginRegion="LoopRegion"/>+        <WordDetect attribute="Keyword" context="#stay" String="select" insensitive="true" beginRegion="SelectRegion"/>+        <WordDetect attribute="Keyword" context="#stay" String="begin"  insensitive="true" beginRegion="BeginRegion"/>++        <WordDetect attribute="Keyword" context="End"   String="end"    insensitive="true" lookAhead="1"/>+        <WordDetect attribute="Keyword" context="Null"  String="null"   insensitive="true"/>+         <keyword attribute="Keyword" context="#stay" String="keywords"/>         <keyword attribute="Pragmas" context="#stay" String="pragmas" />         <keyword attribute="Data Type" context="#stay" String="types" />-        <Float attribute="Float" context="#stay"/>-        <Int attribute="Decimal" context="#stay"/>++        <DetectIdentifier />+         <RegExpr attribute="Char" context="#stay" String="'.'"/>-        <DetectChar attribute="String" context="String" char="&quot;"/>-        <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>-        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;|"/>       </context>-      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker"/>-      <context attribute="String" lineEndContext="#pop" name="String">-        <DetectChar attribute="String" context="#pop" char="&quot;"/>++      <context attribute="Keyword" lineEndContext="#pop" name="End">+        <RegExpr    attribute="Keyword" context="#pop" String="end\s+record\b" insensitive="true"   endRegion="RecordRegion"/>+        <RegExpr    attribute="Keyword" context="#pop" String="end\s+case\b"   insensitive="true"   endRegion="CaseRegion"/>+        <RegExpr    attribute="Keyword" context="#pop" String="end\s+if\b"     insensitive="true"   endRegion="IfRegion"/>+        <RegExpr    attribute="Keyword" context="#pop" String="end\s+loop\b"   insensitive="true"   endRegion="LoopRegion"/>+        <RegExpr    attribute="Keyword" context="#pop" String="end\s+select\b" insensitive="true"   endRegion="SelectRegion"/>+        <DetectIdentifier attribute="Keyword" context="#pop" endRegion="BeginRegion"/>       </context>++      <context attribute="Normal Text" lineEndContext="#pop" name="Null" fallthroughContext="#pop">+        <DetectSpaces attribute="Normal Text"/>+        <WordDetect attribute="Keyword" context="#pop" String="record" insensitive="true"/>+      </context>++      <context attribute="Normal Text" lineEndContext="#pop" name="Numeric">+        <RegExpr attribute="Float" context="NumericExp" String="\b&b10;\.&b10;"/>+        <RegExpr attribute="Decimal" context="NumericExp" String="\b&b10;(?!#)"/>+        <WordDetect attribute="Base" context="Base2" String="2#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base3" String="3#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base4" String="4#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base5" String="5#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base6" String="6#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base7" String="7#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base8" String="8#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base9" String="9#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base10" String="10#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base11" String="11#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base12" String="12#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base13" String="13#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base14" String="14#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base15" String="15#" additionalDeliminator="#"/>+        <WordDetect attribute="Base" context="Base16" String="16#" additionalDeliminator="#"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="NumericExp" fallthroughContext="#pop#pop">+        <RegExpr attribute="Exponent" context="#pop#pop" String="(?:[eE][-+]?&b10;)"/>+      </context>++      <context attribute="Normal Text" lineEndContext="#pop" name="Base2" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b2;\.&b2;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b2;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base3" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b3;\.&b3;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b3;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base4" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b4;\.&b4;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b4;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base5" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b5;\.&b5;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b5;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base6" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b6;\.&b6;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b6;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base7" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b7;\.&b7;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b7;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base8" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b8;\.&b8;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b8;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base9" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b9;\.&b9;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b9;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base10" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b10;\.&b10;"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b10;"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base11" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b11;\.&b11;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b11;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base12" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b12;\.&b12;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b12;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base13" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b13;\.&b13;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b13;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base14" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b14;\.&b14;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b14;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base15" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b15;\.&b15;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b15;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="Base16" fallthroughContext="#pop#pop">+        <RegExpr attribute="Float" context="BaseExp" String="&b16;\.&b16;" insensitive="1"/>+        <RegExpr attribute="Decimal" context="BaseExp" String="&b16;" insensitive="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="BaseExp" fallthroughContext="#pop#pop#pop">+        <DetectChar attribute="Base" context="#pop#pop!NumericExp" char="#"/>+      </context>++      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">+      </context>++      <context attribute="String" lineEndContext="#pop" name="String" fallthroughContext="PartialString">+        <RangeDetect attribute="String" context="#pop" char="&quot;" char1="&quot;"/>+      </context>+      <context attribute="String" lineEndContext="#pop#pop" name="PartialString">+      </context>+       <context attribute="Comment" lineEndContext="#pop" name="Comment">+        <DetectSpaces attribute="Comment"/>         <IncludeRules context="##Comments" />+        <DetectIdentifier attribute="Comment"/>       </context>     </contexts>     <itemDatas>@@ -186,6 +327,8 @@       <itemData name="Data Type"   defStyleNum="dsDataType"/>       <itemData name="Decimal"     defStyleNum="dsDecVal" />       <itemData name="Float"       defStyleNum="dsFloat" />+      <itemData name="Base"        defStyleNum="dsBaseN" />+      <itemData name="Exponent"    defStyleNum="dsDecVal" />       <itemData name="Char"        defStyleNum="dsChar" />       <itemData name="String"      defStyleNum="dsString" />       <itemData name="Comment"     defStyleNum="dsComment" />
xml/bash.xml view
@@ -66,7 +66,7 @@  <language     name="Bash"-    version="47"+    version="49"     kateversion="5.79"     section="Scripts"     extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD"@@ -533,7 +533,7 @@      <contexts>       <context attribute="Normal Text" lineEndContext="#stay" name="Start" fallthroughContext="Command">-          <IncludeRules context="BashOneLine"/>+        <IncludeRules context="BashOneLine"/>       </context>        <!-- used by other syntaxes -->@@ -1046,8 +1046,9 @@         <Detect2Chars attribute="Redirection" context="#pop"  char="&lt;" char1="&lt;"/><!-- always met -->       </context> -      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder" fallthroughContext="Command">-        <IncludeRules context="Start"/>+      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder" fallthroughContext="CommandArg">+        <AnyChar context="BashOneLine" String="&amp;|;`" lookAhead="1"/>+        <IncludeRules context="CommandArgs"/>       </context>        <!-- Highlight the builtin `:` (true) and the followed redirection, then fall into `HereDocMLComment` -->@@ -1073,7 +1074,7 @@       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQ" dynamic="true" fallthroughContext="HereDocSubstitutions">-        <RegExpr attribute="Redirection" context="#pop#pop" String="^%1$" dynamic="true" column="0"/>+        <IncludeRules context="HereDocQ" />       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQ" dynamic="true" fallthroughContext="HereDocText">@@ -1081,27 +1082,32 @@       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQ" dynamic="true" fallthroughContext="HereDocSubstitutions">-        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%1$" dynamic="true" column="0"/>+        <IncludeRules context="HereDocIQ" />       </context> -      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocQCmd" dynamic="true" fallthroughContext="HereDocText">+      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocCmd">+        <!-- Only if the redirect is before the command, but as this is too complicated,+             check if the redirect is at the beginning of the line. -->+        <StringDetect attribute="Redirection" context="BashOneLine" String="%1" dynamic="true" firstNonSpace="1"/>         <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true"/>+      </context>++      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocQCmd" dynamic="true" fallthroughContext="HereDocText">+        <IncludeRules context="HereDocCmd"/>         <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="true" column="0"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQCmd" dynamic="true" fallthroughContext="HereDocSubstitutions">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true"/>-        <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="true" column="0"/>+        <IncludeRules context="HereDocQCmd"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQCmd" dynamic="true" fallthroughContext="HereDocText">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true"/>+        <IncludeRules context="HereDocCmd"/>         <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="true" column="0"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQCmd" dynamic="true" fallthroughContext="HereDocSubstitutions">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true"/>-        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="true" column="0"/>+        <IncludeRules context="HereDocIQCmd"/>       </context>        <context attribute="Here Doc" lineEndContext="#pop" name="HereDocText">@@ -1357,7 +1363,7 @@       <!-- called as soon as ${xxx@ is encoutered -->       <context attribute="Normal Text" lineEndContext="#stay" name="VarTransformation" fallthroughContext="#pop!VarError">         <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>-        <AnyChar attribute="Parameter Expansion" context="#stay" String="QEPAa"/>+        <AnyChar attribute="Parameter Expansion" context="#stay" String="UuLQEPAKa"/>       </context>        <context attribute="Escape" lineEndContext="#pop" name="BraceExpansion">
xml/cmake.xml view
@@ -25,8 +25,8 @@  <language     name="CMake"-    version="46"-    kateversion="5.0"+    version="47"+    kateversion="5.62"     section="Other"     extensions="CMakeLists.txt;*.cmake;*.cmake.in"     style="CMake"@@ -4083,12 +4083,10 @@       <item>UPPER_CASE</item>       <item>MAKE_C_IDENTIFIER</item>       <item>IN_LIST</item>-      <item>LIST</item>       <item>JOIN</item>       <item>REMOVE_DUPLICATES</item>       <item>FILTER</item>       <item>PATH_EQUAL</item>-      <item>PATH</item>       <item>SHELL_PATH</item>       <item>CONFIG</item>       <item>OUTPUT_CONFIG</item>@@ -4160,6 +4158,56 @@       <item>COMMA</item>       <item>SEMICOLON</item>     </list>+    <list name="genex-LIST-subcommands">+      <item>LENGTH</item>+      <item>GET</item>+      <item>SUBLIST</item>+      <item>FIND</item>+      <item>JOIN</item>+      <item>APPEND</item>+      <item>PREPEND</item>+      <item>INSERT</item>+      <item>POP_BACK</item>+      <item>POP_FRONT</item>+      <item>REMOVE_ITEM</item>+      <item>REMOVE_AT</item>+      <item>REMOVE_DUPLICATES</item>+      <item>FILTER</item>+      <item>TRANSFORM</item>+      <item>FRANSFORM</item>+      <item>REVERSE</item>+      <item>SORT</item>+    </list>+    <list name="genex-PATH-subcommands">+      <item>HAS_ROOT_NAME</item>+      <item>HAS_ROOT_DIRECTORY</item>+      <item>HAS_ROOT_PATH</item>+      <item>HAS_FILENAME</item>+      <item>HAS_EXTENSION</item>+      <item>HAS_STEM</item>+      <item>HAS_RELATIVE_PART</item>+      <item>HAS_PARENT_PATH</item>+      <item>IS_ABSOLUTE</item>+      <item>IS_RELATIVE</item>+      <item>IS_PREFIX</item>+      <item>GET_ROOT_NAME</item>+      <item>GET_ROOT_DIRECTORY</item>+      <item>GET_ROOT_PATH</item>+      <item>GET_FILENAME</item>+      <item>GET_EXTENSION</item>+      <item>GET_STEM</item>+      <item>GET_RELATIVE_PART</item>+      <item>GET_PARENT_PATH</item>+      <item>CMAKE_PATH</item>+      <item>APPEND</item>+      <item>REMOVE_FILENAME</item>+      <item>REPLACE_FILENAME</item>+      <item>REMOVE_EXTENSION</item>+      <item>REPLACE_EXTENSION</item>+      <item>NORMAL_PATH</item>+      <item>RELATIVE_PATH</item>+      <item>ABSOLUTE_PATH</item>+    </list>      <list name="standard-modules">       <item>AndroidTestUtilities</item>@@ -6650,10 +6698,22 @@         <DetectChar attribute="Comment" context="Comment" char="#"/>         <DetectChar attribute="Generator Expression" context="#pop" char="&gt;"/>         <keyword attribute="Generator Expression Keyword" context="#stay" String="generator-expressions" insensitive="false"/>+        <WordDetect String="LIST" attribute="Generator Expression Keyword" context="genex_LIST_ctx"/>+        <WordDetect String="PATH" attribute="Generator Expression Keyword" context="genex_PATH_ctx"/>         <IncludeRules context="Detect Aliased Targets"/>         <IncludeRules context="Detect Variable Substitutions"/>         <DetectIdentifier/>       </context>+      <context attribute="Generator Expression" lineEndContext="#stay" name="genex_LIST_ctx" fallthroughContext="#pop">+        <DetectChar char=":" context="#stay"/>+        <DetectSpaces/>+        <keyword attribute="Generator Expression Sub-Command" context="#pop" String="genex-LIST-subcommands" insensitive="false"/>+      </context>+      <context attribute="Generator Expression" lineEndContext="#stay" name="genex_PATH_ctx" fallthroughContext="#pop">+        <DetectChar char=":" context="#stay"/>+        <DetectSpaces/>+        <keyword attribute="Generator Expression Sub-Command" context="#pop" String="genex-PATH-subcommands" insensitive="false"/>+      </context>      </contexts> @@ -6683,6 +6743,7 @@       <itemData name="Environment Variable Substitution" defStyleNum="dsFloat" spellChecking="false"/>       <itemData name="Standard Environment Variable" defStyleNum="dsFloat" spellChecking="false"/>       <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false"/>+      <itemData name="Generator Expression Sub-Command" defStyleNum="dsKeyword" color="#c05050" selColor="#c05050" spellChecking="false"/>       <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false"/>       <itemData name="Standard Module" defStyleNum="dsImport" spellChecking="false"/>       <itemData name="Deprecated Module" defStyleNum="dsImport" spellChecking="false"/>
xml/css.xml view
@@ -4,6 +4,7 @@   <!-- 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;)*"> ]>  <!--@@ -38,7 +39,7 @@  --> -<language name="CSS" version="14" kateversion="5.53" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">+<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>@@ -779,7 +780,6 @@             <item>justify</item>             <item>konq-center</item>             <item>disc</item>-            <item>circle</item>             <item>square</item>             <item>box</item>             <item>decimal</item>@@ -904,6 +904,73 @@             <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>@@ -1195,6 +1262,7 @@             <item>oklab</item>             <item>oklch</item>             <item>color</item>+            <item>color-mix</item>              <!-- CSS4 -->             <item>toggle</item>@@ -1390,6 +1458,7 @@             <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>@@ -1404,6 +1473,7 @@             <item>read-only</item>             <item>read-write</item>             <item>required</item>+            <item>right</item>             <item>root</item>             <item>scope</item>             <item>target</item>@@ -1522,9 +1592,9 @@                 <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="#[-]?(&nmstart;)(&nmchar;)*" />+                <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="[-]?(&nmstart;)(&nmchar;)*" />+                <RegExpr attribute="Selector Tag" context="#stay" String="&ident;" />             </context>              <!-- find functions // rgba(255,255,255,0.75) -->@@ -1540,7 +1610,7 @@                 <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="[-]?(&nmstart;)(&nmchar;)*" />+                <RegExpr attribute="Normal Text" context="#stay" String="&ident;" />             </context>              <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">@@ -1549,8 +1619,8 @@              <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/Learn/CSS/Building_blocks/Values_and_units -->-                <RegExpr attribute="Unit" context="#stay" String="(%|(em|ex|cap|ch|ic|rem|lh|rlh|vw|vh|vi|vb|vmin|vmax|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x|fr)\b)(?![-+])" />+                <!-- 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' -->
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="15" 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="16" kateversion="5.53" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm;*.aspx" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">  <highlighting> <contexts>@@ -18,55 +18,72 @@     <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"  />+    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" insensitive="true" beginRegion="doctype" />+    <IncludeRules context="FindElements" />     <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />-    <IncludeRules context="FindSpecialHTMLTags" />-    <IncludeRules context="FindHTMLTags" />+     <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />     <IncludeRules context="FindEntityRefs" />   </context> +  <context name="FindElements" attribute="Other Text" lineEndContext="#pop">+    <RegExpr attribute="Element Symbols" context="ElementTagName" String="&lt;(?=(&name;))" />+    <RegExpr attribute="Element Symbols" context="ElementTagNameClose" String="&lt;/(?=(&name;))" />+  </context>++  <context name="ElementTagName" attribute="Other Text" lineEndContext="#pop">+    <IncludeRules context="FindHTMLTags" />+    <IncludeRules context="FindSpecialHTMLTags" />+    <StringDetect attribute="Element" context="#pop!El Open" String="%1" dynamic="true" />+  </context>++  <context name="ElementTagNameClose" attribute="Other Text" lineEndContext="#pop">+    <IncludeRules context="FindHTMLTagsClose" />+    <StringDetect attribute="Element" context="#pop!El Close" String="%1" dynamic="true" />+  </context>+   <!-- This allows you to insert HTML tags in other syntax definitions -->   <context name="FindSpecialHTMLTags" attribute="Normal Text" lineEndContext="#stay">-    <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" />+    <WordDetect attribute="Element" context="#pop!CSS" String="style" insensitive="true" beginRegion="style" />+    <WordDetect attribute="Element" context="#pop!JS" String="script" insensitive="true" beginRegion="script" />   </context>    <context name="FindHTMLTags" attribute="Normal Text" lineEndContext="#stay">-    <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" />-    <WordDetect attribute="Element" context="El Open" String="&lt;ul" insensitive="true" beginRegion="ul" />-    <WordDetect attribute="Element" context="El Open" String="&lt;ol" insensitive="true" beginRegion="ol" />-    <WordDetect attribute="Element" context="El Open" String="&lt;dl" insensitive="true" beginRegion="dl" />-    <WordDetect attribute="Element" context="El Open" String="&lt;article" insensitive="true" beginRegion="article" />-    <WordDetect attribute="Element" context="El Open" String="&lt;aside" insensitive="true" beginRegion="aside" />-    <WordDetect attribute="Element" context="El Open" String="&lt;details" insensitive="true" beginRegion="details" />-    <WordDetect attribute="Element" context="El Open" String="&lt;figure" insensitive="true" beginRegion="figure" />-    <WordDetect attribute="Element" context="El Open" String="&lt;footer" insensitive="true" beginRegion="footer" />-    <WordDetect attribute="Element" context="El Open" String="&lt;header" insensitive="true" beginRegion="header" />-    <WordDetect attribute="Element" context="El Open" String="&lt;main" insensitive="true" beginRegion="main" />-    <WordDetect attribute="Element" context="El Open" String="&lt;nav" insensitive="true" beginRegion="nav" />-    <WordDetect attribute="Element" context="El Open" String="&lt;section" insensitive="true" beginRegion="section" />-    <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />-    <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" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/ul" insensitive="true" endRegion="ul" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/ol" insensitive="true" endRegion="ol" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/dl" insensitive="true" endRegion="dl" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/article" insensitive="true" endRegion="article" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/aside" insensitive="true" endRegion="aside" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/details" insensitive="true" endRegion="details" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/figure" insensitive="true" endRegion="figure" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/footer" insensitive="true" endRegion="footer" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/header" insensitive="true" endRegion="header" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/main" insensitive="true" endRegion="main" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/nav" insensitive="true" endRegion="nav" />-    <WordDetect attribute="Element" context="El Close" String="&lt;/section" insensitive="true" endRegion="section" />-    <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />+    <WordDetect attribute="Element" context="#pop!El Open" String="pre" insensitive="true" beginRegion="pre" />+    <WordDetect attribute="Element" context="#pop!El Open" String="div" insensitive="true" beginRegion="div" />+    <WordDetect attribute="Element" context="#pop!El Open" String="table" insensitive="true" beginRegion="table" />+    <WordDetect attribute="Element" context="#pop!El Open" String="ul" insensitive="true" beginRegion="ul" />+    <WordDetect attribute="Element" context="#pop!El Open" String="ol" insensitive="true" beginRegion="ol" />+    <WordDetect attribute="Element" context="#pop!El Open" String="dl" insensitive="true" beginRegion="dl" />+    <WordDetect attribute="Element" context="#pop!El Open" String="article" insensitive="true" beginRegion="article" />+    <WordDetect attribute="Element" context="#pop!El Open" String="aside" insensitive="true" beginRegion="aside" />+    <WordDetect attribute="Element" context="#pop!El Open" String="details" insensitive="true" beginRegion="details" />+    <WordDetect attribute="Element" context="#pop!El Open" String="figure" insensitive="true" beginRegion="figure" />+    <WordDetect attribute="Element" context="#pop!El Open" String="footer" insensitive="true" beginRegion="footer" />+    <WordDetect attribute="Element" context="#pop!El Open" String="header" insensitive="true" beginRegion="header" />+    <WordDetect attribute="Element" context="#pop!El Open" String="main" insensitive="true" beginRegion="main" />+    <WordDetect attribute="Element" context="#pop!El Open" String="nav" insensitive="true" beginRegion="nav" />+    <WordDetect attribute="Element" context="#pop!El Open" String="section" insensitive="true" beginRegion="section" />   </context> +  <context name="FindHTMLTagsClose" attribute="Normal Text" lineEndContext="#stay">+    <WordDetect attribute="Element" context="#pop!El Close" String="pre" insensitive="true" endRegion="pre" />+    <WordDetect attribute="Element" context="#pop!El Close" String="div" insensitive="true" endRegion="div" />+    <WordDetect attribute="Element" context="#pop!El Close" String="table" insensitive="true" endRegion="table" />+    <WordDetect attribute="Element" context="#pop!El Close" String="ul" insensitive="true" endRegion="ul" />+    <WordDetect attribute="Element" context="#pop!El Close" String="ol" insensitive="true" endRegion="ol" />+    <WordDetect attribute="Element" context="#pop!El Close" String="dl" insensitive="true" endRegion="dl" />+    <WordDetect attribute="Element" context="#pop!El Close" String="article" insensitive="true" endRegion="article" />+    <WordDetect attribute="Element" context="#pop!El Close" String="aside" insensitive="true" endRegion="aside" />+    <WordDetect attribute="Element" context="#pop!El Close" String="details" insensitive="true" endRegion="details" />+    <WordDetect attribute="Element" context="#pop!El Close" String="figure" insensitive="true" endRegion="figure" />+    <WordDetect attribute="Element" context="#pop!El Close" String="footer" insensitive="true" endRegion="footer" />+    <WordDetect attribute="Element" context="#pop!El Close" String="header" insensitive="true" endRegion="header" />+    <WordDetect attribute="Element" context="#pop!El Close" String="main" insensitive="true" endRegion="main" />+    <WordDetect attribute="Element" context="#pop!El Close" String="nav" insensitive="true" endRegion="nav" />+    <WordDetect attribute="Element" context="#pop!El Close" String="section" insensitive="true" endRegion="section" />+  </context>+   <context name="FindEntityRefs" attribute="Other Text" lineEndContext="#stay">     <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />     <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />@@ -80,7 +97,7 @@    <context name="FindAttributes" attribute="Other Text" lineEndContext="#stay">     <RegExpr attribute="Attribute" context="#stay" String="^&attributeName;|\s+&attributeName;" />-    <DetectChar attribute="Attribute" context="Value" char="=" />+    <DetectChar attribute="Attribute Separator" context="Value" char="=" />   </context>    <context name="FindDTDRules" attribute="Other Text" lineEndContext="#stay">@@ -137,46 +154,39 @@   </context>    <context name="El Open" attribute="Other Text" lineEndContext="#stay">-    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />-    <DetectChar attribute="Element" context="#pop" char="&gt;" />+    <Detect2Chars attribute="Element Symbols" context="#pop" char="/" char1="&gt;" />+    <DetectChar attribute="Element Symbols" context="#pop" char="&gt;" />     <IncludeRules context="FindAttributes" />     <RegExpr attribute="Error" context="#stay" String="\S" />   </context>    <context name="El Close" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="#pop" char="&gt;" />-    <RegExpr attribute="Error" context="#stay" String="\S" />-  </context>--  <context name="El Close 2" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" />-    <RegExpr attribute="Error" context="#stay" String="\S" />-  </context>--  <context name="El Close 3" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="#pop#pop#pop#pop" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="#pop" char="&gt;" />     <RegExpr attribute="Error" context="#stay" String="\S" />   </context>    <context name="CSS" attribute="Other Text" lineEndContext="#stay">-    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="style" />-    <DetectChar attribute="Element" context="CSS content" char="&gt;" />+    <Detect2Chars attribute="Element Symbols" context="#pop" char="/" char1="&gt;" endRegion="style" />+    <DetectChar attribute="Element Symbols" context="CSS content" char="&gt;" />     <IncludeRules context="FindAttributes" />     <RegExpr attribute="Error" context="#stay" String="\S" />   </context>    <context name="CSS content" attribute="Other Text" lineEndContext="#stay">-    <RegExpr attribute="Element" context="El Close 2" String="&lt;/style\b" insensitive="true" endRegion="style" />+    <RegExpr attribute="Element Symbols" context="CSS content Close" String="&lt;/(?=style\b)" insensitive="true" />     <IncludeRules context="##CSS" includeAttrib="true"/>   </context>+  <context name="CSS content Close" attribute="Other Text" lineEndContext="#stay">+    <DetectIdentifier attribute="Element" context="#pop#pop#pop!El Close" endRegion="style" />+  </context>    <context name="JS" attribute="Other Text" lineEndContext="#stay">     <RegExpr attribute="Attribute" context="Script-Type" String="(?:\s+|^)type(?=\=|\s|$)" insensitive="true"/>-    <DetectChar attribute="Element" context="JS content" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="JS content" char="&gt;" />     <IncludeRules context="DefaultJS" />   </context>   <context name="DefaultJS" attribute="Other Text" lineEndContext="#stay">-    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="script" />+    <Detect2Chars attribute="Element Symbols" context="#pop" char="/" char1="&gt;" endRegion="script" />     <IncludeRules context="FindAttributes" />     <RegExpr attribute="Error" context="#stay" String="\S" />   </context>@@ -186,12 +196,19 @@     <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>   </context>   <context name="Default JS content" attribute="Other Text" lineEndContext="#stay">-    <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />+    <IncludeRules context="FindScriptTagClose" />     <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="true" />   </context> +  <context name="FindScriptTagClose" attribute="Other Text" lineEndContext="#stay">+    <RegExpr attribute="Element Symbols" context="ScriptTagClose" String="&lt;/(?=script\b)" insensitive="true" />+  </context>+  <context name="ScriptTagClose" attribute="Other Text" lineEndContext="#stay">+    <DetectIdentifier attribute="Element" context="#pop#pop#pop!El Close" endRegion="script" />+  </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" />+    <RegExpr attribute="Element Symbols" context="#pop!ScriptTagClose" String="&lt;/(?=script\b)" insensitive="true" />     <DetectSpaces />     <IncludeRules context="##Comments" />   </context>@@ -251,7 +268,7 @@   </context>    <context name="JSX" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="JSX content" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="JSX content" char="&gt;" />     <IncludeRules context="DefaultJS" />   </context>   <context name="JSX content" attribute="Other Text" lineEndContext="#stay">@@ -260,7 +277,7 @@   </context>    <context name="TypeScript" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="TypeScript content" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="TypeScript content" char="&gt;" />     <IncludeRules context="DefaultJS" />   </context>   <context name="TypeScript content" attribute="Other Text" lineEndContext="#stay">@@ -269,22 +286,22 @@   </context>    <context name="MustacheJS" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="MustacheJS content" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="MustacheJS content" char="&gt;" />     <IncludeRules context="DefaultJS" />   </context>   <context name="MustacheJS content" attribute="Other Text" lineEndContext="#stay">-    <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />+    <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" />     <IncludeRules context="Base##Mustache/Handlebars (HTML)" includeAttrib="true"/>   </context>    <context name="Script HTML template" attribute="Other Text" lineEndContext="#stay">-    <DetectChar attribute="Element" context="Script HTML template content" char="&gt;" />+    <DetectChar attribute="Element Symbols" context="Script HTML template content" char="&gt;" />     <IncludeRules context="DefaultJS" />   </context>   <context name="Script HTML template content" attribute="Other Text" lineEndContext="#stay">-    <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />+    <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" />     <IncludeRules context="FindHTML" />@@ -299,7 +316,9 @@   <itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false" />   <itemData name="Doctype" defStyleNum="dsDataType" bold="1" spellChecking="false" />   <itemData name="Element" defStyleNum="dsKeyword" spellChecking="false" />+  <itemData name="Element Symbols" defStyleNum="dsDataType" spellChecking="false" />   <itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false" />+  <itemData name="Attribute Separator" defStyleNum="dsOthers" spellChecking="false" />   <itemData name="Value" defStyleNum="dsString" spellChecking="false" />   <itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false" />   <itemData name="PEntityRef" defStyleNum="dsDecVal" spellChecking="false" />
xml/isocpp.xml view
@@ -35,7 +35,7 @@ <language     name="ISO C++"     section="Sources"-    version="28"+    version="29"     kateversion="5.79"     indenter="cstyle"     style="C++"@@ -551,7 +551,7 @@       </context>       <context name="String8EscapeX" attribute="String" lineEndContext="#pop">         <HlCStringChar attribute="String Char" context="#pop!StringNoHex"/>-        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>+        <IncludeRules context="string special char x" />       </context>        <context name="String16" attribute="String" lineEndContext="#pop">@@ -561,7 +561,7 @@       </context>       <context name="String16EscapeX" attribute="String" lineEndContext="#pop">         <RegExpr attribute="String Char" context="#pop!StringNoHex" String="\\x[0-9A-Fa-f]{1,4}" />-        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>+        <IncludeRules context="string special char x" />       </context>        <context name="String32" attribute="String" lineEndContext="#pop">@@ -571,7 +571,7 @@       </context>       <context name="String32EscapeX" attribute="String" lineEndContext="#pop">         <RegExpr attribute="String Char" context="#pop!StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />-        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>+        <IncludeRules context="string special char x" />       </context>        <context name="StringNoHex" attribute="Error" lineEndContext="#pop" fallthroughContext="#pop">@@ -580,11 +580,16 @@        <context name="string special char" attribute="String" lineEndContext="#pop">         <HlCStringChar attribute="String Char"/>-        <RegExpr attribute="String Char" String="\\(?:u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|&printf_like;|&format_like;"/>+        <!-- \x{n...} is defined in "string special char x" -->+        <RegExpr attribute="String Char" String="\\(?:u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|u{[0-9A-Fa-f]+}|o{[0-7]+}|N{[- A-Z0-9]+})|&printf_like;|&format_like;"/>         <AnyChar attribute="String" String="%{}"/>-        <RegExpr attribute="Error" String="\\(?:u[^&quot;]{0,3}|U[^&quot;]{0,7}|.)"/>+        <RegExpr attribute="Error" String="\\(?:u{([0-9A-Fa-f]+|})?|u[0-9A-Fa-f]{0,3}|U[0-9A-Fa-f]{0,7}|o{([0-7]+|})?|N{([- A-Z0-9]+|})?|.)"/>         <LineContinue attribute="Separator Symbol"/>       </context>+      <context name="string special char x" attribute="String" lineEndContext="#pop">+        <RegExpr attribute="String Char" String="\\x{[0-9A-Fa-f]+}" context="#pop"/>+        <RegExpr attribute="Error" String="\\x({([0-9A-Fa-f]+|})?)?" context="#pop"/>+      </context>        <context name="string normal char" attribute="String" lineEndContext="#pop">         <DetectChar attribute="String" context="UDLStringSuffix" char="&quot;" />@@ -606,7 +611,8 @@         <Detect2Chars attribute="Symbol" context="#pop" char="]" char1="]" />         <StringDetect attribute="Symbol" context="#pop" String=":&gt;:&gt;" /> <!-- Digraph: ]] -->         <DetectChar attribute="Separator Symbol" context="#stay" char="," />-        <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />+        <IncludeRules context="match comments" />+        <AnyChar attribute="Symbol" context="#stay" String="&punctuators;#" />         <!-- Attributes may contain some text: [[deprecated("Reason text")]] -->         <DetectChar attribute="String" context="String8" char="&quot;" />         <AnyChar attribute="Decimal" context="Integer" String="0123456789" lookAhead="true" />@@ -645,40 +651,44 @@       <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop" />        <context name="DetectNSEnd" attribute="Normal Text" lineEndContext="#stay">-        <AnyChar attribute="Symbol" context="#pop" String="&ns_punctuators; &#9;" />-        <AnyChar attribute="Separator Symbol" context="#pop" String="&separators;" />+        <Detect2Chars char=":" char1=":"/>+        <IncludeRules context="match comments and region markers" />+        <AnyChar context="#pop" String="&ns_punctuators;&separators; &#9;#:" lookAhead="1"/>         <!-- This keyword may appear in InternalsNS context. For example in code:           details::some_class::template some_templated_static();           and it should be displayed as keyword, not like part of details namespace...           -->-        <WordDetect attribute="Keyword" context="#stay" String="template" />+        <WordDetect attribute="Keyword" context="#pop" String="template" />         <DetectIdentifier context="#stay"/>       </context> -      <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#stay">+      <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#stay" fallthroughContext="#pop">         <IncludeRules context="DetectNSEnd" />       </context> -      <context name="Boost Stuff" attribute="Boost Stuff" lineEndContext="#stay">+      <context name="Boost Stuff" attribute="Boost Stuff" lineEndContext="#stay" fallthroughContext="#pop">         <IncludeRules context="DetectNSEnd" />       </context> -      <context name="InternalsNS" attribute="Internals" lineEndContext="#stay">+      <context name="InternalsNS" attribute="Internals" lineEndContext="#stay" fallthroughContext="#pop">         <IncludeRules context="DetectNSEnd" />       </context> -      <context name="Standard Classes In PP" attribute="Standard Classes" lineEndContext="#pop">+      <context name="Standard Classes In PP" attribute="Standard Classes" lineEndContext="#pop" fallthroughContext="#pop">         <IncludeRules context="InPreprocessor" />+        <Detect2Chars attribute="Symbol" char="#" char1="#"/>         <IncludeRules context="DetectNSEnd" />       </context> -      <context name="Boost Stuff In PP" attribute="Boost Stuff" lineEndContext="#pop">+      <context name="Boost Stuff In PP" attribute="Boost Stuff" lineEndContext="#pop" fallthroughContext="#pop">         <IncludeRules context="InPreprocessor" />+        <Detect2Chars attribute="Symbol" char="#" char1="#"/>         <IncludeRules context="DetectNSEnd" />       </context> -      <context name="InternalsNS In PP" attribute="Internals" lineEndContext="#pop">+      <context name="InternalsNS In PP" attribute="Internals" lineEndContext="#pop" fallthroughContext="#pop">         <IncludeRules context="InPreprocessor" />+        <Detect2Chars attribute="Symbol" char="#" char1="#"/>         <IncludeRules context="DetectNSEnd" />       </context> 
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="11" 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="12" kateversion="5.62" 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>@@ -3705,6 +3705,8 @@ 			 <!-- 			end new classes --> 		</list>++		<!-- https://docs.oracle.com/javase/specs/jls/se20/html/jls-3.html#jls-Keyword --> 		<list name="keywords"> 			<item>abstract</item> 			<item>class</item>@@ -3714,7 +3716,6 @@ 			<item>false</item> 			<item>implements</item> 			<item>instanceof</item>-			<item>@interface</item> 			<item>interface</item> 			<item>native</item> 			<item>new</item>@@ -3730,6 +3731,11 @@ 			<item>transient</item> 			<item>true</item> 			<item>volatile</item>+			<!-- contextual -->+			<item>non-sealed</item>+			<item>permits</item>+			<item>record</item>+			<item>sealed</item> 		</list> 		<list name="control flow"> 			<item>assert</item>@@ -3748,6 +3754,7 @@ 			<item>throw</item> 			<item>try</item> 			<item>while</item>+			<item>yield</item> 		</list> 		<list name="types"> 			<item>boolean</item>@@ -3764,6 +3771,25 @@ 			<item>var</item> 			<item>void</item> 		</list>++		<list name="annotations">+			<!-- builtin -->+			<item>@Override</item>+			<item>@Deprecated</item>+			<item>@SuppressWarnings</item>+			<item>@SafeVarargs</item>+			<item>@FunctionalInterface</item>+			<item>@interface</item>+			<!-- java.lang.annotation -->+			<item>@Retention</item>+			<item>@Documented</item>+			<item>@Target</item>+			<item>@Inherited</item>+			<item>@Repeatable</item>+		</list>++		<!-- https://docs.oracle.com/javase/specs/jls/se20/html/jls-3.html -->+ 		<contexts> 			<context attribute="Normal Text" lineEndContext="#stay" name="Normal"> 				<DetectSpaces context="#stay"/>@@ -3783,6 +3809,7 @@  				<AnyChar context="Number" String="0123456789" lookAhead="1"/> +				<StringDetect attribute="Text Block" context="TextBlock" String="&quot;&quot;&quot;"/> 				<DetectChar attribute="String" context="String" char="&quot;"/> 				<DetectChar context="Char" char="'" lookAhead="1"/> @@ -3795,6 +3822,7 @@ 				<WordDetect attribute="Keyword" context="ImportsOrStaticImports" String="import" />  				<RegExpr attribute="Function" context="#stay" String="\b[_a-zA-Z]\w*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />+				<WordDetect attribute="Keyword" context="ImportsOrStaticImports" String="non-sealed" /> 				<DetectIdentifier attribute="Normal Text"/> 			</context> @@ -3831,6 +3859,11 @@ 				<RegExpr attribute="Error" context="#pop" String="\\(u+[0-9a-fA-F]*|.)?"/> 			</context> +			<context attribute="Text Block" lineEndContext="#stay" name="TextBlock">+				<DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>+				<StringDetect attribute="Text Block" context="#pop" String="&quot;&quot;&quot;"/>+			</context>+ 			<context attribute="Normal Text" lineEndContext="#stay" name="Printf" fallthroughContext="#pop"> 				<DetectChar attribute="Symbol" context="#pop!InPrintf" char="("/> 				<DetectSpaces attribute="Normal Text" context="#stay"/>@@ -3898,6 +3931,7 @@ 			<itemData name="Binary"       defStyleNum="dsBaseN" spellChecking="false"/> 			<itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/> 			<itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>+			<itemData name="Text Block"   defStyleNum="dsString"/> 			<itemData name="String"       defStyleNum="dsString"/> 			<itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/> 			<itemData name="PrintfString" defStyleNum="dsString"/>
xml/javascript.xml view
@@ -7,7 +7,7 @@   <!ENTITY DecimalIntegerLiteral "(0|[1-9][0-9]*+(_[0-9]++)*+)">   <!ENTITY DecimalDigits "([0-9]++(_[0-9]++)*+)">   <!ENTITY ExponentPart "([eE][+-]?&DecimalDigits;)">-  <!ENTITY float "&DecimalIntegerLiteral;(\.&DecimalDigits;?&ExponentPart;?|&ExponentPart;)|\.&DecimalDigits;&ExponentPart;?">+  <!ENTITY float "\b&DecimalIntegerLiteral;(\.&DecimalDigits;?&ExponentPart;?|&ExponentPart;)|\.&DecimalDigits;&ExponentPart;?"> ]>  <!--@@ -23,7 +23,7 @@    * QML    * CoffeeScript (embedded) -->-<language name="JavaScript" version="24" kateversion="5.53" section="Scripts" extensions="*.js;*.mjs;*.cjs;*.kwinscript;*.julius"+<language name="JavaScript" version="25" kateversion="5.53" section="Scripts" extensions="*.js;*.mjs;*.cjs;*.kwinscript;*.julius"           mimetype="text/x-javascript;application/x-javascript;application/javascript;text/javascript" indenter="cstyle"           author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license=""> @@ -1650,38 +1650,42 @@       <context name="Shebang Line" attribute="Comment" lineEndContext="#pop!Normal" />        <!-- Normal Syntax of JavaScript. -->-      <!-- NOTE: These IncludeRules rules, except BuiltInClasses and FindBrackets are included in qml.xml -->+      <!-- NOTE: These IncludeRules rules, except BuiltInClasses, FindBrackets, FindPrivateOperator, FindE4X are included in qml.xml -->       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">         <DetectSpaces/>+        <IncludeRules context="FindSomeSymbols" />+        <IncludeRules context="FindBrackets" />+        <IncludeRules context="FindPrivateOperator" />+        <IncludeRules context="FindComments" />         <IncludeRules context="FindNumbers" />+        <IncludeRules context="FindMembers" />         <IncludeRules context="FindKeywords" />         <IncludeRules context="FindStrings" />         <IncludeRules context="BuiltInClasses" />         <IncludeRules context="FindObjectMembersAndFunctions" />-        <IncludeRules context="FindBrackets" />-        <IncludeRules context="JSBase" />+        <IncludeRules context="FindIdentifier" />+        <IncludeRules context="FindE4X" />+        <IncludeRules context="FindRegex" />       </context>+      <context attribute="Normal Text" lineEndContext="#stay" name="FindSomeSymbols">+        <IncludeRules context="FindArrowFunction" />+        <!-- symbol that is not used in any other context (fast path) -->+        <AnyChar attribute="Symbol" String=":!%&amp;+,-*=&gt;?|~^;" />+      </context>        <!-- Base Syntax. Used by the TypeScript highlighter. -->       <context attribute="Normal Text" lineEndContext="#stay" name="JSBase">-        <AnyChar context="NoRegExp" String="])" />-        <!--DetectIdentifier-->-        <!-- Do not start RegExp after non-ASCII characters (see bug #393633) -->-        <RegExpr context="NoRegExp" String="&identifier;" />-+        <DetectChar attribute="Symbol" char="?" />+        <IncludeRules context="FindIdentifier" />+        <IncludeRules context="FindE4X" />         <IncludeRules context="FindComments" />--        <!-- E4X extension (=xml inside JavaScript), see bug #373713 -->-        <RegExpr attribute="Symbol" context="#stay" String="&lt;(?=/\*|//)" />-        <Detect2Chars attribute="Symbol" context="NoRegExp" char="&lt;" char1="/" />-        <Detect2Chars attribute="Symbol" context="NoRegExp" char="/" char1="&gt;" />--        <DetectChar attribute="Regular Expression" context="(regex caret first check)" char="/" />--        <!-- NOTE: The brackets {}()[] are highlighted as Normal Text. -->-        <Detect2Chars attribute="Special Operators" context="#stay" char="=" char1="&gt;" />-        <AnyChar attribute="Symbol" String=":!%&amp;+,-/.*&lt;=&gt;?|~^&#59;" />+        <IncludeRules context="FindRegex" />       </context>+      <context attribute="Normal Text" lineEndContext="#stay" name="JSBaseSomeSymboles">+        <IncludeRules context="FindArrowFunction" />+        <!-- symbol that is not used in any other context (fast path) -->+        <AnyChar attribute="Symbol" String="!%&amp;+,-*=&gt;|~^;" />+      </context>         <!-- Content Contexts -->@@ -1704,8 +1708,27 @@         <DetectChar attribute="Symbol" context="#pop#pop" char="/" />       </context> +      <!-- E4X extension (=xml inside JavaScript), see bug #373713 -->+      <context attribute="Normal Text" lineEndContext="#stay" name="FindE4X">+        <RegExpr attribute="Symbol" context="#stay" String="&lt;(?=[^/]|/\*|//|$)" />+        <Detect2Chars attribute="Symbol" context="NoRegExp" char="&lt;" char1="/" />+        <Detect2Chars attribute="Symbol" context="NoRegExp" char="/" char1="&gt;" />+      </context>++      <!--DetectIdentifier-->+      <context attribute="Normal Text" lineEndContext="#stay" name="FindIdentifier">+        <!-- Do not start RegExp after non-ASCII characters (see bug #393633) -->+        <RegExpr context="NoRegExp" String="&identifier;" />+      </context>++      <context attribute="Normal Text" lineEndContext="#stay" name="FindRegex">+        <DetectChar attribute="Regular Expression" context="(regex caret first check)" char="/" />+      </context>+       <!-- Object, within { ... } -->       <context attribute="Normal Text" lineEndContext="#stay" name="FindBrackets">+        <DetectChar attribute="Normal Text" context="#stay" char="(" />+        <DetectChar attribute="Normal Text" context="NoRegExp" char=")" />         <DetectChar attribute="Normal Text" context="Object" char="{" beginRegion="Brace" />         <DetectChar attribute="Normal Text" context="#stay" char="[" beginRegion="List" />         <DetectChar attribute="Normal Text" context="NoRegExp" char="]" endRegion="List" />@@ -1732,6 +1755,11 @@         <IncludeRules context="Normal" />       </context> +      <!-- '#' in "#identifier" -->+      <context attribute="Normal Text" lineEndContext="#stay" name="FindPrivateOperator">+        <DetectChar attribute="Private Member Operator" char="#" />+      </context>+       <!-- Keywords -->       <context attribute="Normal Text" lineEndContext="#stay" name="FindKeywords">         <WordDetect attribute="Keyword" context="FunctionDeclaration" String="function" />@@ -1743,24 +1771,42 @@       </context>       <context attribute="Normal Text" lineEndContext="#stay" name="FunctionDeclaration" fallthrough="true" fallthroughContext="#pop">         <DetectSpaces />+        <IncludeRules context="FindPrivateOperator" />         <RegExpr attribute="Function Declaration" context="#pop" String="&identifier;(?=\s*\()" /> <!-- NoRegExp -->         <IncludeRules context="FindComments" />       </context>        <!-- Numbers -->       <context attribute="Normal Text" lineEndContext="#stay" name="FindNumbers">-        <RegExpr attribute="Float" context="NoRegExp" String="\b&float;" />-        <RegExpr attribute="Hex" context="NumericSufix" String="\b0[xX][0-9a-fA-F]++(_[0-9a-fA-F]++)*+"/>+        <RegExpr attribute="Float" context="NoRegExp" String="&float;" />+        <AnyChar context="Integer" String="0123456789" lookAhead="1"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#stay" name="Integer">+        <RegExpr attribute="Hex" context="#pop!NumericSufix" String="\b0[xX][0-9a-fA-F]++(_[0-9a-fA-F]++)*+"/>         <!-- 07 is octal, 08 is decimal -->-        <RegExpr attribute="Octal" context="NumericSufix" String="\b0([oO][0-7]++(_[0-7]++)*+|0*+[1-7][0-7]*+(_[0-7]++)*+(?!_?[89]))" />-        <RegExpr attribute="Binary" context="NumericSufix" String="\b0[bB][01]++(_[01]++)*+" />-        <RegExpr attribute="Decimal" context="NumericSufix" String="\b0*+([1-9][0-9]*+(_[0-9]++)*+)?"/>+        <RegExpr attribute="Octal" context="#pop!NumericSufix" String="\b0([oO][0-7]++(_[0-7]++)*+|0*+[1-7][0-7]*+(_[0-7]++)*+(?!_?[89]))" />+        <RegExpr attribute="Binary" context="#pop!NumericSufix" String="\b0[bB][01]++(_[01]++)*+" />+        <!-- 0000_8 is invalid -->+        <RegExpr attribute="Decimal" context="#pop!NumericSufix" String="\b0*+([1-9][0-9]*+(_[0-9]++)*+)?"/>       </context>       <context attribute="Normal Text" lineEndContext="#pop" name="NumericSufix" fallthrough="true" fallthroughContext="#pop!NoRegExp">         <DetectChar attribute="Normal Text" context="#pop!NoRegExp" char="n" />+        <IncludeRules context="NumericSufixError" />+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="NumericSufixError">         <RegExpr attribute="Error" context="#pop!NoRegExp" String="[0-9]*(&identifier;)?"/>       </context> +      <!-- Find => -->+      <context attribute="Normal Text" lineEndContext="#stay" name="FindArrowFunction">+        <Detect2Chars attribute="Special Operators" context="#stay" char="=" char1="&gt;" />+      </context>++      <!-- Find Objects Member -->+      <context attribute="Normal Text" lineEndContext="#stay" name="FindMembers">+        <DetectChar attribute="Symbol" context="Object Member" char="." lookAhead="true" />+      </context>+       <!-- Find Objects Member and Functions -->       <context attribute="Normal Text" lineEndContext="#stay" name="FindObjectMembersAndFunctions">         <!-- Tagged Template Literals -->@@ -1769,7 +1815,6 @@         <RegExpr attribute="Function Name" context="Function" String="(&identifier;)(?=\s*\()" lookAhead="true" />         <IncludeRules context="BuiltInConstants" />         <RegExpr attribute="Objects" context="Object Member" String="&identifier;(?=\s*\.)" />-        <DetectChar attribute="Symbol" context="Object Member" char="." lookAhead="true" />       </context>       <context attribute="Normal Text" lineEndContext="#pop" name="Function">         <keyword attribute="Function (Built-in)" context="#pop" String="functions" />@@ -1778,6 +1823,7 @@       </context>        <context attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" name="Object Member">+        <IncludeRules context="FindPrivateOperator" />         <IncludeRules context="DefaultMemberObject" />         <!-- Common functions and properties, only for autocomplete keywords -->         <keyword attribute="Object Member" context="#pop!NoRegExp" String="dom_property" />@@ -2031,6 +2077,7 @@       <itemData name="Comment"      defStyleNum="dsComment" />       <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false" />       <itemData name="Special Operators" defStyleNum="dsKeyword" spellChecking="false" />+      <itemData name="Private Member Operator" defStyleNum="dsNormal" spellChecking="false" />       <itemData name="Regular Expression" defStyleNum="dsSpecialString" spellChecking="false" />       <itemData name="Pattern Internal Operator" defStyleNum="dsSpecialChar" spellChecking="false" />       <itemData name="Pattern Character Class" defStyleNum="dsSpecialChar" spellChecking="false" />
xml/kotlin.xml view
@@ -8,7 +8,7 @@     <!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?&int;[fF]?\b"> ]> <!-- kotlin language syntax http://kotlinlang.org -->-<language name="Kotlin" version="10" kateversion="5.62" section="Sources" extensions="*.kt;*.kts" license="LGPLv2+" author="Sergey Mashkov (sergey.mashkov@jetbrains.com)" style="cstyle" indenter="cstyle">+<language name="Kotlin" version="11" kateversion="5.62" section="Sources" extensions="*.kt;*.kts" license="LGPLv2+" author="Sergey Mashkov (sergey.mashkov@jetbrains.com)" style="cstyle" indenter="cstyle">     <highlighting>         <list name="keywords">             <item>package</item>@@ -58,8 +58,16 @@             <item>typealias</item>             <item>typeof</item>             <item>override</item>+            <item>abstract</item>             <item>infix</item>             <item>operator</item>++            <item>annotation</item>+            <item>const</item>+            <item>lateinit</item>+            <item>inner</item>+            <item>external</item>+            <item>noinline</item>         </list>         <list name="controlFlowKeyword">             <item>if</item>@@ -100,6 +108,8 @@             <item>Double</item>              <item>Boolean</item>++            <item>dynamic</item>         </list>          <contexts>@@ -117,8 +127,7 @@                 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>                 <DetectChar attribute="Annotation" context="Annotation" char="@" /> -                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>-                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>+                <IncludeRules context="Comment"/>                  <AnyChar attribute="Symbol" context="#stay" String="()[]&amp;|+,-/*&lt;=&gt;;!%?:~^"/> @@ -147,6 +156,11 @@                 <DetectIdentifier attribute="Normal Text"/>             </context> +            <context attribute="Normal Text" lineEndContext="#stay" name="Comment">+                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>+                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>+            </context>+             <context attribute="Normal Text" lineEndContext="#stay" name="Number">                 <IncludeRules context="FindFloat"/>                 <RegExpr attribute="Hex" context="#pop" String="\b0[xX]&hex;[lL]?\b"/>@@ -164,7 +178,10 @@             </context>              <context attribute="Normal Text" lineEndContext="#pop" name="Annotation" fallthroughContext="#pop">-                <DetectIdentifier attribute="Annotation" context="#pop"/>+                <DetectIdentifier attribute="Annotation"/>+                <DetectChar attribute="Symbol" char=":"/>+                <RangeDetect attribute="Annotation" context="#pop" char="[" char1="]"/>+                <IncludeRules context="Comment"/>             </context>              <context attribute="Normal Text" lineEndContext="#stay" name="Char">@@ -220,10 +237,12 @@                 <WordDetect attribute="Keyword" context="TypeName" String="as" />                 <DetectIdentifier attribute="Imports" context="#stay"/>                 <DetectChar attribute="Symbol" context="#pop" char=";"/>+                <IncludeRules context="Comment"/>             </context>              <context name="VariableDeclaration" lineEndContext="#stay" attribute="Normal Text">                 <DetectIdentifier attribute="Variable" context="#pop" />+                <IncludeRules context="Comment"/>             </context>              <context name="TypeDeclaration" lineEndContext="#stay" attribute="Normal Text">@@ -233,6 +252,8 @@                 <DetectChar attribute="Symbol" context="Parameters" char="(" />                 <DetectChar attribute="Symbol" context="SuperTypes" char=":" />                 <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />++                <IncludeRules context="Comment"/>             </context>              <context name="SuperTypes" lineEndContext="#stay" attribute="Normal Text">@@ -244,10 +265,13 @@                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />                  <DetectIdentifier attribute="Data Type" context="#stay"/>++                <IncludeRules context="Comment"/>             </context>              <context name="FunctionDeclaration" lineEndContext="#stay" attribute="Normal Text">                 <keyword attribute="Keyword" context="#stay" String="keywords"/>+                <DetectChar attribute="Annotation" context="Annotation" char="@" />                 <DetectChar attribute="Symbol" context="#stay" char="." />                 <DetectChar attribute="Symbol" context="Parameters" char="(" />                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />@@ -256,6 +280,8 @@                 <AnyChar attribute="Symbol" context="#pop" String="{=" lookAhead="true" />                  <DetectIdentifier attribute="Function" context="#stay"/>++                <IncludeRules context="Comment"/>             </context>              <context name="TypeParameters" lineEndContext="#stay" attribute="Normal Text">@@ -268,9 +294,13 @@                 <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />                  <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>++                <IncludeRules context="Comment"/>             </context>             <context name="DataTypeSuffix" lineEndContext="#pop" attribute="Normal Text" fallthroughContext="#pop">                 <DetectChar attribute="Symbol" context="#pop" char="?"/>++                <IncludeRules context="Comment"/>             </context>              <context name="Parameters" lineEndContext="#stay" attribute="Normal Text">@@ -280,6 +310,7 @@                 <DetectChar attribute="Symbol" context="Expression" char="=" />                 <DetectIdentifier attribute="Variable" context="#stay"/>                 <DetectChar attribute="Symbol" context="#stay" char=","/>+                <IncludeRules context="Comment"/>             </context>              <context name="TypeName" lineEndContext="#stay" attribute="Normal Text">@@ -287,6 +318,7 @@                 <DetectChar attribute="Symbol" context="FunctionType" char="(" />                 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1="&gt;" />                 <DetectIdentifier attribute="Data Type" context="#pop!DataTypeSuffix"/>+                <IncludeRules context="Comment"/>             </context>              <context name="FunctionType" lineEndContext="#stay" attribute="Normal Text">@@ -294,6 +326,7 @@                 <DetectIdentifier attribute="Data Type" context="DataTypeSuffix"/>                 <Detect2Chars attribute="Symbol" context="#stay" char="-" char1="&gt;" />                 <DetectChar attribute="Symbol" context="#stay" char="," />+                <IncludeRules context="Comment"/>             </context>              <context name="Expression" lineEndContext="#stay" attribute="Normal Text">@@ -314,14 +347,14 @@                 <DetectChar context="String" char="&quot;" lookAhead="1"/>                 <DetectChar context="Char" char="'" lookAhead="1"/> -                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>-                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>+                <IncludeRules context="Comment"/>                  <DetectIdentifier attribute="Normal Text"/>             </context>             <context name="MaybeTypeParameters" lineEndContext="#pop" attribute="Normal Text">                 <RegExpr context="#pop!TypeParameters" String="&lt;\w" lookAhead="1" />                 <DetectChar attribute="Symbol" context="#pop" char="&lt;"/>+                <IncludeRules context="Comment"/>             </context>              <context name="ExpressionInner" lineEndContext="#stay" attribute="Normal Text">
xml/latex.xml view
@@ -4,7 +4,7 @@     <!ENTITY bullet "&#xd7;">     <!ENTITY envname "[a-zA-Z]+\*?"> ]>-<language name="LaTeX" version="21" 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="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" >   <highlighting>     <!-- NOTE: Keywords of kind "\something" do not need a delimiter before "\".          Using a DetectChar rule with lookAhead to detect "\" at the beginning@@ -3824,7 +3824,7 @@         <DetectSpaces/>         <RegExpr String=".+" attribute="Error" context="#stay"/>       </context>-      <context name="HighlightingMakefile" attribute="Normal Text" lineEndContext="#stay">+      <context name="HighlightingMakefile" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="strings_and_vars##Makefile">         <IncludeRules context="HighlightingCommon"/>         <IncludeRules context="##Makefile" includeAttrib="true"/>       </context>
xml/makefile.xml view
@@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE language>+<!DOCTYPE language+[+    <!ENTITY varname "(([+!?](?!=))?[^:#=\s+!?]*)++">+]> <!-- Makefile syntaxfile v0.9 by Per Wigren <wigren@home.se> --> <!-- Modified by Joseph Wenninger <jowenn@kde.org> --> <!-- Modified by Rui Santana <santana.rui@gmail.com> -->@@ -12,24 +15,36 @@ <!-- v10 by Peter J. Mello <admin@petermello.net>      Add recognition of POSIX 2013 '::=' operator for variable assignment --> <language name="Makefile" section="Other"-          version="14" kateversion="5.0"+          version="16" kateversion="5.79"           extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"           mimetype="text/x-makefile" priority="11"           author="Per Wigren (wigren@home.se)" license="">    <!-- https://www.gnu.org/software/make/manual/make.pdf -->+  <!-- https://www.gnu.org/software/make/manual/html_node/Quick-Reference.html -->    <highlighting>-    <list name="keywords" >+    <list name="keywords">       <item>include</item>       <item>-include</item>+      <item>sinclude</item>       <item>override</item>       <item>define</item>+      <item>undefine</item>       <item>endef</item>+      <item>export</item>+      <item>unexport</item>+      <item>private</item>+      <item>vpath</item>     </list>+    <list name="special_keywords">+      <item>export</item>+      <item>unexport</item>+      <item>override</item>+      <item>private</item>+    </list>     <!-- https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html -->     <list name="gmake_if_keywords">-      <item>if</item>       <item>ifeq</item>       <item>ifneq</item>       <item>ifdef</item>@@ -168,38 +183,54 @@       <item>info</item>     </list>     <contexts>-      <context name="normal" attribute="Normal" lineEndContext="#stay">+      <context name="normal" attribute="Normal" lineEndContext="#stay" fallthroughContext="strings_and_vars">         <DetectSpaces/>         <DetectChar attribute="Comment" context="Comment" char="#"/>++        <!-- first because a variable can have the same name as a keyword -->+        <RegExpr attribute="Variable" context="assign" String="&varname;(?=\s*([+!?]|::?:?)?=)" firstNonSpace="true"/>+         <keyword attribute="ControlFlow" String="bmake_if_keywords" context="bmake_conditional" beginRegion="bmake_if" firstNonSpace="true"/>         <!--TODO: trailing non-space after .else should be highlighted as an error -->         <keyword attribute="ControlFlow" String="bmake_else_keywords" context="bmake_conditional" endRegion="bmake_if" beginRegion="bmake_if" firstNonSpace="true"/>-        <keyword attribute="ControlFlow" String="bmake_endif_keywords" context="#stay" endRegion="bmake_if"/>+        <keyword attribute="ControlFlow" String="bmake_endif_keywords" context="#stay" endRegion="bmake_if" firstNonSpace="true"/> -        <keyword attribute="ControlFlow" String="gmake_if_keywords" context="#stay" beginRegion="gmake_if" firstNonSpace="true"/>-        <!--TODO: trailing non-space after .else should be highlighted as an error -->-        <keyword attribute="ControlFlow" String="gmake_else_keywords" context="gmake_else" endRegion="gmake_if" beginRegion="gmake_if" firstNonSpace="true"/>-        <keyword attribute="ControlFlow" String="gmake_endif_keywords" context="#stay" endRegion="gmake_if"/>+        <keyword attribute="ControlFlow" String="gmake_if_keywords" context="strings_and_vars" beginRegion="gmake_if" firstNonSpace="true" weakDeliminator=":"/>+        <!--TODO: trailing non-space after else should be highlighted as an error -->+        <keyword attribute="ControlFlow" String="gmake_else_keywords" context="gmake_else" endRegion="gmake_if" beginRegion="gmake_if" firstNonSpace="true" weakDeliminator=":"/>+        <keyword attribute="ControlFlow" String="gmake_endif_keywords" context="#stay" endRegion="gmake_if" firstNonSpace="true" weakDeliminator=":"/> -        <RegExpr attribute="Variable" context="assign" String="(([+!?](?!=))?[^:#=\s+!?]*)++(?=\s*([+!?]|::?:?)?=)"/>-        <keyword attribute="Keyword"  context="#stay" String="keywords"/>+        <WordDetect attribute="Keyword" context="define" String="define" firstNonSpace="true" weakDeliminator=":"/>+        <WordDetect attribute="Keyword" context="override" String="override" firstNonSpace="true" weakDeliminator=":"/>+        <WordDetect attribute="Keyword" context="export" String="export" firstNonSpace="true" weakDeliminator=":"/>+        <WordDetect attribute="Keyword" context="export" String="unexport" firstNonSpace="true" weakDeliminator=":"/>+        <WordDetect attribute="Keyword" context="export" String="undefine" firstNonSpace="true" weakDeliminator=":"/>+        <keyword attribute="Keyword"  context="strings_and_vars" String="keywords" firstNonSpace="true" weakDeliminator=":"/>+         <keyword attribute="Keyword"  context="bmake_other_stmts" String="bmake_other_stmts" firstNonSpace="true"/>         <keyword attribute="SpecialTarget" context="bmake_special_target" String="bmake_special_targets" firstNonSpace="true"/>         <RegExpr attribute="SpecialTarget" context="prereq" String="\.PATH\.[^:]*:" firstNonSpace="true"/>         <keyword attribute="Keyword" context="bmake_include" String="bmake_include_stmt" firstNonSpace="true"/>         <keyword attribute="Keyword" context="bmake_message" String="bmake_message_stmt" firstNonSpace="true"/>         <keyword attribute="Keyword" context="bmake_for_loop" String="bmake_for_stmt" firstNonSpace="true" beginRegion="for"/>-        <keyword attribute="Keyword" context="#stay" String="bmake_endfor_stmt" firstNonSpace="true" endRegion="for"/>+        <keyword attribute="Keyword" context="strings_and_vars" String="bmake_endfor_stmt" firstNonSpace="true" endRegion="for"/> -        <RegExpr attribute="Section"  context="prereq" String="^\.[^.][^:]*:" column="0"/>-        <RegExpr attribute="Target"   context="prereq" String="^[^:]*:" column="0"/>+        <RegExpr attribute="Section" context="prereq" String="^\.[^.][^:]*:" column="0"/>+        <RegExpr attribute="Target"  context="target" String="^([^:\\&amp;]|\\([:\\#&amp;]|(?=[^:\\#&amp;])))*+(?=[^:]*+:|\\$)" column="0"/>++        <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>         <DetectIdentifier/>-        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>-        <DetectChar attribute="String" context="string'" char="'"/>+      </context>++      <context name="target" attribute="Target" lineEndContext="#pop">+        <StringDetect attribute="TargetSeparator" context="#pop!prereq" String="::"/>+        <DetectChar attribute="TargetSeparator" context="#pop!prereq" char=":"/>         <DetectChar attribute="Operator" context="dollar" char="$"/>-        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>-        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>-        <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>+        <LineContinue attribute="Operator" context="#pop"/>+        <StringDetect attribute="TargetSeparator" context="#pop!prereq" String="&amp;::"/>+        <StringDetect attribute="TargetSeparator" context="#pop!prereq" String="&amp;:"/>+        <StringDetect attribute="Target" String="\:"/>+        <DetectIdentifier attribute="Target"/>       </context>        <context name="strings_and_vars" attribute="Normal" lineEndContext="#pop">@@ -219,6 +250,7 @@                  else ifdef foo                  else ifeq (bar, foo)         -->+        <DetectIdentifier attribute="Normal"/>       </context>        <context name="bmake_include" attribute="Normal" lineEndContext="#pop">@@ -272,8 +304,13 @@         <DetectChar attribute="Operator" context="dollar" char="$"/>       </context> -      <context name="prereq" attribute="Prereq" lineEndContext="rule">+      <context name="prereq" attribute="Prereq" lineEndContext="rule" fallthroughContext="#pop!prereq2">         <DetectSpaces/>+        <keyword attribute="Keyword"  context="export" String="special_keywords" weakDeliminator=".@,+%-/^*?="/>+        <RegExpr attribute="Variable" context="assign" String="[a-zA-Z_]+(?=\s*([+!?]|::?:?)?=)|"/>+      </context>+      <context name="prereq2" attribute="Prereq" lineEndContext="rule">+        <DetectSpaces/>         <keyword attribute="SpecialPrereq" context="#stay" String="bmake_special_sources"/>         <DetectIdentifier/>         <LineContinue attribute="Operator" context="#stay"/>@@ -284,7 +321,7 @@         <DetectChar attribute="Operator" context="inline-rule" char=";"/>       </context> -      <context name="inline-rule" attribute="Normal" lineEndContext="#pop!rule" fallthroughContext="#pop!inline-rule-cmd" fallthrough="1">+      <context name="inline-rule" attribute="Normal" lineEndContext="#pop!rule" fallthroughContext="#pop!inline-rule-cmd">         <DetectSpaces/>         <LineContinue attribute="Operator" context="#stay"/>         <AnyChar attribute="Operator" context="silent" String="@-"/>@@ -303,21 +340,25 @@       </context>        <context name="rule" attribute="Normal" lineEndContext="#stay">-        <LineContinue attribute="Operator" context="#stay"/>+        <DetectChar char="&#9;" column="0"/>+        <DetectChar attribute="Comment" context="Comment" char="#"/>         <!-- pop if there is a leading non-tab,         and in particular, mark leading spaces as errors -->-        <RegExpr attribute="Error" context="#pop#pop#pop" String="^ +" firstNonSpace="1"/>-        <RegExpr context="#pop#pop#pop" String="^[^\t]" lookAhead="1" firstNonSpace="1"/>+        <RegExpr attribute="Error" context="#pop#pop#pop" String="^ ++(?!#)" column="0"/>+        <RegExpr context="#pop#pop#pop" String="^(?=\s*#)|^[^#\t]" lookAhead="1" column="0"/>         <DetectSpaces/>         <DetectIdentifier/>         <DetectChar attribute="String" context="string&quot;" char="&quot;"/>         <DetectChar attribute="String" context="string'" char="'"/>         <DetectChar attribute="Operator" context="dollar" char="$"/>+        <LineContinue attribute="Operator" context="rule_continuation"/>         <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>         <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>         <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>-        <DetectChar attribute="Comment" context="Comment" char="#"/>       </context>+      <context name="rule_continuation" attribute="Normal" lineEndContext="#stay" fallthroughContext="#pop">+        <DetectSpaces context="#pop"/>+      </context>        <context name="silent" attribute="Silent" lineEndContext="#pop">         <LineContinue attribute="Operator" context="#stay"/>@@ -354,6 +395,7 @@         <RegExpr attribute="Special" context="#pop#pop" String="@[-_\d\w]*@"/>         <Detect2Chars attribute="String" char="\" char1="#"/>         <DetectChar attribute="Comment" context="#pop#pop!Comment" char="#"/>+        <RegExpr attribute="String" String="[^$@\\#]+"/>       </context>        <context name="dollar" attribute="Operator" lineEndContext="#pop">@@ -362,11 +404,11 @@         <RegExpr attribute="Operator" context="#pop" String="."/>       </context> -      <context name="call(" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar(" fallthrough="1">+      <context name="call(" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar(">         <keyword attribute="Keyword" context="callFunc(" String="functions"/>       </context> -      <context name="call{" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar{" fallthrough="1">+      <context name="call{" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar{">         <keyword attribute="Keyword" context="callFunc{" String="functions"/>       </context> @@ -389,6 +431,35 @@         <AnyChar attribute="Error" context="#stay" String="=#"/>       </context> +      <context name="override" attribute="Normal" lineEndContext="#pop" fallthroughContext="#pop!export">+        <DetectSpaces/>+        <WordDetect attribute="Keyword" context="#pop!define" String="define"/>+        <WordDetect attribute="Keyword" context="#pop!export" String="undefine"/>+      </context>++      <context name="define" attribute="Normal" lineEndContext="define_body">+        <DetectSpaces/>+        <DetectChar attribute="Comment" context="Comment" char="#"/>+        <RegExpr attribute="Variable" context="define_op" String="&varname;"/>+      </context>+      <context name="define_op" attribute="Operator" lineEndContext="#pop!define_body">+        <DetectSpaces attribute="Normal"/>+        <DetectChar attribute="Comment" context="Comment" char="#"/>+      </context>+      <context name="define_body" attribute="String" lineEndContext="#stay">+        <DetectSpaces attribute="String"/>+        <WordDetect attribute="Keyword" context="#pop#pop" String="endef" firstNonSpace="true"/>+        <DetectIdentifier attribute="String"/>+        <LineContinue attribute="Operator"/>+        <DetectChar attribute="Operator" context="dollar" char="$"/>+        <RegExpr attribute="Special" String="@[-_\d\w]*@"/>+      </context>++      <context name="export" attribute="Variable" lineEndContext="#pop" fallthroughContext="#pop!assign">+        <DetectSpaces/>+        <DetectIdentifier/>+      </context>+       <context name="bmake_var_modifier_arg" attribute="VarModifier" lineEndContext="#pop">         <DetectChar attribute="Operator" context="dollar" char="$"/>         <Detect2Chars context="#stay" char="\" char1="}"/>@@ -398,7 +469,7 @@       </context>        <!-- TODO: once all modifiers are properly handled change fallthroughContext to "expect}" -->-      <context name="bmake_var_modifier" attribute="VarModifier" lineEndContext="#pop" fallthroughContext="#pop!bmake_var_modifier_arg" fallthrough="true">+      <context name="bmake_var_modifier" attribute="VarModifier" lineEndContext="#pop" fallthroughContext="#pop!bmake_var_modifier_arg">         <DetectChar attribute="Operator" context="dollar" char="$"/>                      <!--@@ -529,6 +600,7 @@       <itemData name="RealOperator" defStyleNum="dsKeyword" spellChecking="0"/>       <itemData name="SpecialTarget" defStyleNum="dsOthers" spellChecking="0" bold="1"/>       <itemData name="SpecialPrereq" defStyleNum="dsDataType" spellChecking="0" bold="1"/>+      <itemData name="TargetSeparator" defStyleNum="dsDecVal" spellChecking="0"/>     </itemDatas>   </highlighting>   <general>
xml/markdown.xml view
@@ -90,7 +90,7 @@ <!ENTITY checkbox "\[[ x]\](?=\s)"> ]> -<language name="Markdown" version="26" kateversion="5.79" section="Markup" extensions="*.md;*.mmd;*.markdown" mimetype="text/markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD">+<language name="Markdown" version="27" kateversion="5.79" section="Markup" extensions="*.md;*.mmd;*.markdown" mimetype="text/markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD">   <highlighting>     <contexts>       <!-- Start of the Markdown document: find metadata or code block -->@@ -526,8 +526,7 @@         <RegExpr context="find-html-block" String="&lt;/?&htmlname;(?:[\s&gt;]|/&gt;|$)" lookAhead="true"/>       </context>       <context name="find-html-block" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">-        <IncludeRules context="FindSpecialHTMLTags##HTML"/>-        <IncludeRules context="FindHTMLTags##HTML"/>+        <IncludeRules context="FindElements##HTML"/>       </context>        <!-- Links and email: <https://example.com>, <example@kde.org> -->
xml/php.xml view
@@ -77,7 +77,7 @@   <!ENTITY float "\b&LNUM;(\.(&LNUM;)?(&EXPONENT;)?|&EXPONENT;)|\.&LNUM;(&EXPONENT;)?"> ]> -<language name="PHP/PHP" indenter="cstyle" version="24" kateversion="5.53" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">+<language name="PHP/PHP" indenter="cstyle" version="25" kateversion="5.53" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">   <highlighting>     <!-- https://php.watch/versions -->     <!-- Based on 8.1 -->@@ -208,6 +208,11 @@      <!-- https://secure.php.net/manual/en/reserved.keywords.php -->     <!-- https://secure.php.net/manual/en/reserved.constants.php -->+    <!--+      Use this command line to extract page constants:++      wget -O- ${url} | sed -nE 's#.*<strong><code>([^< ]+) *</code></strong>.*#      <item>\1</item>#p'+    -->     <list name="constants">       <!-- PHP 5.6 (Compile-Time Constants) -->       <item>__CLASS__</item>@@ -692,8 +697,13 @@       <item>CRYPT_STD_DES</item>       <item>CRYPT_SHA256</item>       <item>CRYPT_SHA512</item>+      <item>CURLALTSVC_H1</item>+      <item>CURLALTSVC_H2</item>+      <item>CURLALTSVC_H3</item>+      <item>CURLALTSVC_READONLYFILE</item>       <item>CURLAUTH_ANY</item>       <item>CURLAUTH_ANYSAFE</item>+      <item>CURLAUTH_AWS_SIGV4</item>       <item>CURLAUTH_BASIC</item>       <item>CURLAUTH_BEARER</item>       <item>CURLAUTH_DIGEST</item>@@ -754,6 +764,7 @@       <item>CURLE_OPERATION_TIMEOUTED</item>       <item>CURLE_OUT_OF_MEMORY</item>       <item>CURLE_PARTIAL_FILE</item>+      <item>CURLE_PROXY</item>       <item>CURLE_READ_ERROR</item>       <item>CURLE_RECV_ERROR</item>       <item>CURLE_SEND_ERROR</item>@@ -777,6 +788,7 @@       <item>CURLFTPAUTH_DEFAULT</item>       <item>CURLFTPAUTH_SSL</item>       <item>CURLFTPAUTH_TLS</item>+      <item>CURLFTPMETHOD_DEFAULT</item>       <item>CURLFTPSSL_ALL</item>       <item>CURLFTPSSL_CONTROL</item>       <item>CURLFTPSSL_NONE</item>@@ -786,6 +798,8 @@       <item>CURLFTP_CREATE_DIR_RETRY</item>       <item>CURLHEADER_SEPARATE</item>       <item>CURLHEADER_UNIFIED</item>+      <item>CURLHSTS_ENABLE</item>+      <item>CURLHSTS_READONLYFILE</item>       <item>CURLINFO_APPCONNECT_TIME_T</item>       <item>CURLINFO_CONNECT_TIME</item>       <item>CURLINFO_CONNECT_TIME_T</item>@@ -794,6 +808,7 @@       <item>CURLINFO_CONTENT_LENGTH_UPLOAD</item>       <item>CURLINFO_CONTENT_LENGTH_UPLOAD_T</item>       <item>CURLINFO_CONTENT_TYPE</item>+      <item>CURLINFO_EFFECTIVE_METHOD</item>       <item>CURLINFO_EFFECTIVE_URL</item>       <item>CURLINFO_FILETIME</item>       <item>CURLINFO_FILETIME_T</item>@@ -811,13 +826,16 @@       <item>CURLINFO_PRIMARY_PORT</item>       <item>CURLINFO_PRIVATE</item>       <item>CURLINFO_PROTOCOL</item>+      <item>CURLINFO_PROXY_ERROR</item>       <item>CURLINFO_PROXY_SSL_VERIFYRESULT</item>       <item>CURLINFO_REDIRECT_COUNT</item>       <item>CURLINFO_REDIRECT_TIME</item>       <item>CURLINFO_REDIRECT_TIME_T</item>       <item>CURLINFO_REDIRECT_URL</item>+      <item>CURLINFO_REFERER</item>       <item>CURLINFO_REQUEST_SIZE</item>       <item>CURLINFO_RESPONSE_CODE</item>+      <item>CURLINFO_RETRY_AFTER</item>       <item>CURLINFO_SCHEME</item>       <item>CURLINFO_SIZE_DOWNLOAD</item>       <item>CURLINFO_SIZE_DOWNLOAD_T</item>@@ -835,6 +853,7 @@       <item>CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</item>       <item>CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</item>       <item>CURLMOPT_MAXCONNECTS</item>+      <item>CURLMOPT_MAX_CONCURRENT_STREAMS</item>       <item>CURLMOPT_MAX_HOST_CONNECTIONS</item>       <item>CURLMOPT_MAX_PIPELINE_LENGTH</item>       <item>CURLMOPT_MAX_TOTAL_CONNECTIONS</item>@@ -848,10 +867,14 @@       <item>CURLM_OK</item>       <item>CURLM_OUT_OF_MEMORY</item>       <item>CURLOPT_ABSTRACT_UNIX_SOCKET</item>+      <item>CURLOPT_ALTSVC</item>+      <item>CURLOPT_ALTSVC_CTRL</item>       <item>CURLOPT_AUTOREFERER</item>+      <item>CURLOPT_AWS_SIGV4</item>       <item>CURLOPT_BINARYTRANSFER</item>       <item>CURLOPT_BUFFERSIZE</item>       <item>CURLOPT_CAINFO</item>+      <item>CURLOPT_CAINFO_BLOB</item>       <item>CURLOPT_CAPATH</item>       <item>CURLOPT_CERTINFO</item>       <item>CURLOPT_CLOSEPOLICY</item>@@ -868,13 +891,16 @@       <item>CURLOPT_CUSTOMREQUEST</item>       <item>CURLOPT_DEFAULT_PROTOCOL</item>       <item>CURLOPT_DISALLOW_USERNAME_IN_URL</item>-      <item>CURLOPT_DOH_URL</item>       <item>CURLOPT_DNS_CACHE_TIMEOUT</item>       <item>CURLOPT_DNS_INTERFACE</item>       <item>CURLOPT_DNS_LOCAL_IP4</item>       <item>CURLOPT_DNS_LOCAL_IP6</item>       <item>CURLOPT_DNS_SHUFFLE_ADDRESSES</item>       <item>CURLOPT_DNS_USE_GLOBAL_CACHE</item>+      <item>CURLOPT_DOH_SSL_VERIFYHOST</item>+      <item>CURLOPT_DOH_SSL_VERIFYPEER</item>+      <item>CURLOPT_DOH_SSL_VERIFYSTATUS</item>+      <item>CURLOPT_DOH_URL</item>       <item>CURLOPT_EGDSOCKET</item>       <item>CURLOPT_ENCODING</item>       <item>CURLOPT_EXPECT_100_TIMEOUT_MS</item>@@ -899,6 +925,8 @@       <item>CURLOPT_HEADER</item>       <item>CURLOPT_HEADERFUNCTION</item>       <item>CURLOPT_HEADEROPT</item>+      <item>CURLOPT_HSTS</item>+      <item>CURLOPT_HSTS_CTRL</item>       <item>CURLOPT_HTTP09_ALLOWED</item>       <item>CURLOPT_HTTP200ALIASES</item>       <item>CURLOPT_HTTPAUTH</item>@@ -910,13 +938,18 @@       <item>CURLOPT_INFILESIZE</item>       <item>CURLOPT_INTERFACE</item>       <item>CURLOPT_IPRESOLVE</item>+      <item>CURLOPT_ISSUERCERT_BLOB</item>       <item>CURLOPT_KEEP_SENDING_ON_ERROR</item>       <item>CURLOPT_KEYPASSWD</item>       <item>CURLOPT_KRB4LEVEL</item>       <item>CURLOPT_LOGIN_OPTIONS</item>       <item>CURLOPT_LOW_SPEED_LIMIT</item>       <item>CURLOPT_LOW_SPEED_TIME</item>+      <item>CURLOPT_MAIL_RCPT_ALLLOWFAILS</item>+      <item>CURLOPT_MAXAGE_CONN</item>       <item>CURLOPT_MAXCONNECTS</item>+      <item>CURLOPT_MAXFILESIZE_LARGE</item>+      <item>CURLOPT_MAXLIFETIME_CONN</item>       <item>CURLOPT_MAXREDIRS</item>       <item>CURLOPT_MAX_RECV_SPEED_LARGE</item>       <item>CURLOPT_MAX_SEND_SPEED_LARGE</item>@@ -945,15 +978,20 @@       <item>CURLOPT_PROXYTYPE</item>       <item>CURLOPT_PROXYUSERPWD</item>       <item>CURLOPT_PROXY_CAINFO</item>+      <item>CURLOPT_PROXY_CAINFO_BLOB</item>       <item>CURLOPT_PROXY_CAPATH</item>       <item>CURLOPT_PROXY_CRLFILE</item>+      <item>CURLOPT_PROXY_ISSUERCERT</item>+      <item>CURLOPT_PROXY_ISSUERCERT_BLOB</item>       <item>CURLOPT_PROXY_KEYPASSWD</item>       <item>CURLOPT_PROXY_PINNEDPUBLICKEY</item>       <item>CURLOPT_PROXY_SERVICE_NAME</item>       <item>CURLOPT_PROXY_SSLCERT</item>       <item>CURLOPT_PROXY_SSLCERTTYPE</item>+      <item>CURLOPT_PROXY_SSLCERT_BLOB</item>       <item>CURLOPT_PROXY_SSLKEY</item>       <item>CURLOPT_PROXY_SSLKEYTYPE</item>+      <item>CURLOPT_PROXY_SSLKEY_BLOB</item>       <item>CURLOPT_PROXY_SSLVERSION</item>       <item>CURLOPT_PROXY_SSL_CIPHER_LIST</item>       <item>CURLOPT_PROXY_SSL_OPTIONS</item>@@ -975,6 +1013,7 @@       <item>CURLOPT_RESUME_FROM</item>       <item>CURLOPT_RETURNTRANSFER</item>       <item>CURLOPT_SAFE_UPLOAD</item>+      <item>CURLOPT_SASL_AUTHZID</item>       <item>CURLOPT_SASL_IR</item>       <item>CURLOPT_SERVICE_NAME</item>       <item>CURLOPT_SHARE</item>@@ -982,18 +1021,22 @@       <item>CURLOPT_SSH_AUTH_TYPES</item>       <item>CURLOPT_SSH_COMPRESSION</item>       <item>CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</item>+      <item>CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256</item>       <item>CURLOPT_SSH_PRIVATE_KEYFILE</item>       <item>CURLOPT_SSH_PUBLIC_KEYFILE</item>       <item>CURLOPT_SSLCERT</item>       <item>CURLOPT_SSLCERTPASSWD</item>       <item>CURLOPT_SSLCERTTYPE</item>+      <item>CURLOPT_SSLCERT_BLOB</item>       <item>CURLOPT_SSLENGINE</item>       <item>CURLOPT_SSLENGINE_DEFAULT</item>       <item>CURLOPT_SSLKEY</item>       <item>CURLOPT_SSLKEYPASSWD</item>       <item>CURLOPT_SSLKEYTYPE</item>+      <item>CURLOPT_SSLKEY_BLOB</item>       <item>CURLOPT_SSLVERSION</item>       <item>CURLOPT_SSL_CIPHER_LIST</item>+      <item>CURLOPT_SSL_EC_CURVES</item>       <item>CURLOPT_SSL_ENABLE_ALPN</item>       <item>CURLOPT_SSL_ENABLE_NPN</item>       <item>CURLOPT_SSL_FALSESTART</item>@@ -1019,7 +1062,9 @@       <item>CURLOPT_TRANSFERTEXT</item>       <item>CURLOPT_UNIX_SOCKET_PATH</item>       <item>CURLOPT_UNRESTRICTED_AUTH</item>+      <item>CURLOPT_UPKEEP_INTERVAL_MS</item>       <item>CURLOPT_UPLOAD</item>+      <item>CURLOPT_UPLOAD_BUFFERSIZE</item>       <item>CURLOPT_URL</item>       <item>CURLOPT_USERAGENT</item>       <item>CURLOPT_USERNAME</item>@@ -1027,26 +1072,8 @@       <item>CURLOPT_VERBOSE</item>       <item>CURLOPT_WRITEFUNCTION</item>       <item>CURLOPT_WRITEHEADER</item>+      <item>CURLOPT_XFERINFOFUNCTION</item>       <item>CURLOPT_XOAUTH2_BEARER</item>-      <item>CURLSSH_AUTH_GSSAPI</item>-      <item>CURL_HTTP_VERSION_2_0</item>-      <item>CURL_LOCK_DATA_CONNECT</item>-      <item>CURL_LOCK_DATA_PSL</item>-      <item>CURL_VERSION_ALTSVC</item>-      <item>CURL_VERSION_ASYNCHDNS</item>-      <item>CURL_VERSION_BROTLI</item>-      <item>CURL_VERSION_CONV</item>-      <item>CURL_VERSION_CURLDEBUG</item>-      <item>CURL_VERSION_DEBUG</item>-      <item>CURL_VERSION_GSSAPI</item>-      <item>CURL_VERSION_GSSNEGOTIATE</item>-      <item>CURL_VERSION_IDN</item>-      <item>CURL_VERSION_MULTI_SSL</item>-      <item>CURL_VERSION_NTLM</item>-      <item>CURL_VERSION_NTLM_WB</item>-      <item>CURL_VERSION_SPNEGO</item>-      <item>CURL_VERSION_SSPI</item>-      <item>CURL_VERSION_TLSAUTH_SRP</item>       <item>CURLPAUSE_ALL</item>       <item>CURLPAUSE_CONT</item>       <item>CURLPAUSE_RECV</item>@@ -1056,6 +1083,7 @@       <item>CURLPIPE_HTTP1</item>       <item>CURLPIPE_MULTIPLEX</item>       <item>CURLPIPE_NOTHING</item>+      <item>CURLPROTO_MQTT</item>       <item>CURLPROTO_SMB</item>       <item>CURLPROTO_SMBS</item>       <item>CURLPROXY_HTTP</item>@@ -1065,27 +1093,69 @@       <item>CURLPROXY_SOCKS4A</item>       <item>CURLPROXY_SOCKS5</item>       <item>CURLPROXY_SOCKS5_HOSTNAME</item>+      <item>CURLPX_BAD_ADDRESS_TYPE</item>+      <item>CURLPX_BAD_VERSION</item>+      <item>CURLPX_CLOSED</item>+      <item>CURLPX_GSSAPI</item>+      <item>CURLPX_GSSAPI_PERMSG</item>+      <item>CURLPX_GSSAPI_PROTECTION</item>+      <item>CURLPX_IDENTD</item>+      <item>CURLPX_IDENTD_DIFFER</item>+      <item>CURLPX_LONG_HOSTNAME</item>+      <item>CURLPX_LONG_PASSWD</item>+      <item>CURLPX_LONG_USER</item>+      <item>CURLPX_NO_AUTH</item>+      <item>CURLPX_OK</item>+      <item>CURLPX_RECV_ADDRESS</item>+      <item>CURLPX_RECV_AUTH</item>+      <item>CURLPX_RECV_CONNECT</item>+      <item>CURLPX_RECV_REQACK</item>+      <item>CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED</item>+      <item>CURLPX_REPLY_COMMAND_NOT_SUPPORTED</item>+      <item>CURLPX_REPLY_CONNECTION_REFUSED</item>+      <item>CURLPX_REPLY_GENERAL_SERVER_FAILURE</item>+      <item>CURLPX_REPLY_HOST_UNREACHABLE</item>+      <item>CURLPX_REPLY_NETWORK_UNREACHABLE</item>+      <item>CURLPX_REPLY_NOT_ALLOWED</item>+      <item>CURLPX_REPLY_TTL_EXPIRED</item>+      <item>CURLPX_REPLY_UNASSIGNED</item>+      <item>CURLPX_REQUEST_FAILED</item>+      <item>CURLPX_RESOLVE_HOST</item>+      <item>CURLPX_SEND_AUTH</item>+      <item>CURLPX_SEND_CONNECT</item>+      <item>CURLPX_SEND_REQUEST</item>+      <item>CURLPX_UNKNOWN_FAIL</item>+      <item>CURLPX_UNKNOWN_MODE</item>+      <item>CURLPX_USER_REJECTED</item>       <item>CURLSHOPT_SHARE</item>       <item>CURLSHOPT_UNSHARE</item>       <item>CURLSSH_AUTH_AGENT</item>       <item>CURLSSH_AUTH_ANY</item>       <item>CURLSSH_AUTH_DEFAULT</item>+      <item>CURLSSH_AUTH_GSSAPI</item>       <item>CURLSSH_AUTH_HOST</item>       <item>CURLSSH_AUTH_KEYBOARD</item>       <item>CURLSSH_AUTH_NONE</item>       <item>CURLSSH_AUTH_PASSWORD</item>       <item>CURLSSH_AUTH_PUBLICKEY</item>       <item>CURLSSLOPT_ALLOW_BEAST</item>+      <item>CURLSSLOPT_AUTO_CLIENT_CERT</item>+      <item>CURLSSLOPT_NATIVE_CA</item>+      <item>CURLSSLOPT_NO_PARTIALCHAIN</item>       <item>CURLSSLOPT_NO_REVOKE</item>+      <item>CURLSSLOPT_REVOKE_BEST_EFFORT</item>       <item>CURLVERSION_NOW</item>       <item>CURL_HTTP_VERSION_1_0</item>       <item>CURL_HTTP_VERSION_1_1</item>       <item>CURL_HTTP_VERSION_2</item>       <item>CURL_HTTP_VERSION_2TLS</item>+      <item>CURL_HTTP_VERSION_2_0</item>       <item>CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE</item>       <item>CURL_HTTP_VERSION_NONE</item>+      <item>CURL_LOCK_DATA_CONNECT</item>       <item>CURL_LOCK_DATA_COOKIE</item>       <item>CURL_LOCK_DATA_DNS</item>+      <item>CURL_LOCK_DATA_PSL</item>       <item>CURL_LOCK_DATA_SSL_SESSION</item>       <item>CURL_MAX_READ_SIZE</item>       <item>CURL_NETRC_IGNORED</item>@@ -1114,15 +1184,37 @@       <item>CURL_TIMECOND_IFMODSINCE</item>       <item>CURL_TIMECOND_IFUNMODSINCE</item>       <item>CURL_TIMECOND_LASTMOD</item>+      <item>CURL_TIMECOND_NONE</item>+      <item>CURL_VERSION_ALTSVC</item>+      <item>CURL_VERSION_ASYNCHDNS</item>+      <item>CURL_VERSION_BROTLI</item>+      <item>CURL_VERSION_CONV</item>+      <item>CURL_VERSION_CURLDEBUG</item>+      <item>CURL_VERSION_DEBUG</item>+      <item>CURL_VERSION_GSASL</item>+      <item>CURL_VERSION_GSSAPI</item>+      <item>CURL_VERSION_GSSNEGOTIATE</item>+      <item>CURL_VERSION_HSTS</item>       <item>CURL_VERSION_HTTP2</item>+      <item>CURL_VERSION_HTTP3</item>       <item>CURL_VERSION_HTTPS_PROXY</item>+      <item>CURL_VERSION_IDN</item>       <item>CURL_VERSION_IPV6</item>       <item>CURL_VERSION_KERBEROS4</item>       <item>CURL_VERSION_KERBEROS5</item>+      <item>CURL_VERSION_LARGEFILE</item>       <item>CURL_VERSION_LIBZ</item>+      <item>CURL_VERSION_MULTI_SSL</item>+      <item>CURL_VERSION_NTLM</item>+      <item>CURL_VERSION_NTLM_WB</item>       <item>CURL_VERSION_PSL</item>+      <item>CURL_VERSION_SPNEGO</item>       <item>CURL_VERSION_SSL</item>+      <item>CURL_VERSION_SSPI</item>+      <item>CURL_VERSION_TLSAUTH_SRP</item>+      <item>CURL_VERSION_UNICODE</item>       <item>CURL_VERSION_UNIX_SOCKETS</item>+      <item>CURL_VERSION_ZSTD</item>       <item>CURL_WRAPPERS_ENABLED</item>       <item>CURRENCY_SYMBOL</item>       <item>CYRUS_CALLBACK_NOLITERAL</item>@@ -1173,6 +1265,8 @@       <item>DBASE_TYPE_DBASE</item>       <item>DBASE_TYPE_FOXPRO</item>       <item>DBASE_VERSION</item>+      <item>DBA_LMDB_USE_SUB_DIR</item>+      <item>DBA_LMDB_NO_SUB_DIR</item>       <item>DBPLUS_ERR_CLOSE</item>       <item>DBPLUS_ERR_CORRUPT_TUPLE</item>       <item>DBPLUS_ERR_CRC</item>@@ -1238,8 +1332,10 @@       <item>DECIMAL_POINT</item>       <item>DELETED_EVENT</item>       <item>DIRECTORY_SEPARATOR</item>+      <item>DISP_E_BADINDEX</item>       <item>DISP_E_DIVBYZERO</item>       <item>DISP_E_OVERFLOW</item>+      <item>DISP_E_PARAMNOTFOUND</item>       <item>DNS_A</item>       <item>DNS_AAAA</item>       <item>DNS_ALL</item>@@ -1508,6 +1604,7 @@       <item>FILTER_FLAG_ENCODE_AMP</item>       <item>FILTER_FLAG_ENCODE_HIGH</item>       <item>FILTER_FLAG_ENCODE_LOW</item>+      <item>FILTER_FLAG_GLOBAL_RANGE</item>       <item>FILTER_FLAG_HOSTNAME</item>       <item>FILTER_FLAG_HOST_REQUIRED</item>       <item>FILTER_FLAG_IPV4</item>@@ -2158,6 +2255,8 @@       <item>LIBXML_XINCLUDE</item>       <item>LIBXSLT_DOTTED_VERSION</item>       <item>LIBXSLT_VERSION</item>+      <item>LOCALE_NEUTRAL</item>+      <item>LOCAL_CREDS_PERSISTENT</item>       <item>LOCK_EX</item>       <item>LOCK_NB</item>       <item>LOCK_SH</item>@@ -2372,6 +2471,7 @@       <item>MSG_OOB</item>       <item>MSG_PEEK</item>       <item>MSG_WAITALL</item>+      <item>MSG_ZEROCOPY</item>       <item>MSQL_ASSOC</item>       <item>MSQL_BOTH</item>       <item>MSQL_NUM</item>@@ -3343,12 +3443,14 @@       <item>POSIX_RLIMIT_DATA</item>       <item>POSIX_RLIMIT_FSIZE</item>       <item>POSIX_RLIMIT_INFINITY</item>+      <item>POSIX_RLIMIT_KQUEUES</item>       <item>POSIX_RLIMIT_LOCKS</item>       <item>POSIX_RLIMIT_MEMLOCK</item>       <item>POSIX_RLIMIT_MSGQUEUE</item>       <item>POSIX_RLIMIT_NICE</item>       <item>POSIX_RLIMIT_NOFILE</item>       <item>POSIX_RLIMIT_NPROC</item>+      <item>POSIX_RLIMIT_NPTS</item>       <item>POSIX_RLIMIT_RSS</item>       <item>POSIX_RLIMIT_RTPRIO</item>       <item>POSIX_RLIMIT_RTTIME</item>@@ -3655,6 +3757,7 @@       <item>SCANDIR_SORT_ASCENDING</item>       <item>SCANDIR_SORT_DESCENDING</item>       <item>SCANDIR_SORT_NONE</item>+      <item>SCM_CREDS2</item>       <item>SEARCHD_ERROR</item>       <item>SEARCHD_OK</item>       <item>SEARCHD_RETRY</item>@@ -3744,6 +3847,24 @@       <item>SI_TIMER</item>       <item>SI_TKILL</item>       <item>SI_USER</item>+      <item>SKF_AD_ALU_XOR_X</item>+      <item>SKF_AD_CPU</item>+      <item>SKF_AD_HATYPE</item>+      <item>SKF_AD_IFINDEX</item>+      <item>SKF_AD_MARK</item>+      <item>SKF_AD_MAX</item>+      <item>SKF_AD_NLATTR</item>+      <item>SKF_AD_NLATTR_NEST</item>+      <item>SKF_AD_OFF</item>+      <item>SKF_AD_PAY_OFFSET</item>+      <item>SKF_AD_PKTTYPE</item>+      <item>SKF_AD_PROTOCOL</item>+      <item>SKF_AD_QUEUE</item>+      <item>SKF_AD_RANDOM</item>+      <item>SKF_AD_RXHASH</item>+      <item>SKF_AD_VLAN_TAG</item>+      <item>SKF_AD_VLAN_TAG_PRESENT</item>+      <item>SKF_AD_VLAN_TPID</item>       <item>SNMP_BIT_STR</item>       <item>SNMP_COUNTER</item>       <item>SNMP_COUNTER64</item>@@ -3933,6 +4054,10 @@       <item>SODIUM_CRYPTO_BOX_SEALBYTES</item>       <item>SODIUM_CRYPTO_BOX_SECRETKEYBYTES</item>       <item>SODIUM_CRYPTO_BOX_SEEDBYTES</item>+      <item>SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES</item>+      <item>SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES</item>+      <item>SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES</item>+      <item>SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES</item>       <item>SODIUM_CRYPTO_GENERICHASH_BYTES</item>       <item>SODIUM_CRYPTO_GENERICHASH_BYTES_MAX</item>       <item>SODIUM_CRYPTO_GENERICHASH_BYTES_MIN</item>@@ -3966,6 +4091,8 @@       <item>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX</item>       <item>SODIUM_CRYPTO_PWHASH_STRPREFIX</item>       <item>SODIUM_CRYPTO_SCALARMULT_BYTES</item>+      <item>SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES</item>+      <item>SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES</item>       <item>SODIUM_CRYPTO_SCALARMULT_SCALARBYTES</item>       <item>SODIUM_CRYPTO_SECRETBOX_KEYBYTES</item>       <item>SODIUM_CRYPTO_SECRETBOX_MACBYTES</item>@@ -3979,6 +4106,8 @@       <item>SODIUM_CRYPTO_SIGN_SEEDBYTES</item>       <item>SODIUM_CRYPTO_STREAM_KEYBYTES</item>       <item>SODIUM_CRYPTO_STREAM_NONCEBYTES</item>+      <item>SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES</item>+      <item>SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES</item>       <item>SODIUM_LIBRARY_MAJOR_VERSION</item>       <item>SODIUM_LIBRARY_MINOR_VERSION</item>       <item>SODIUM_LIBRARY_VERSION</item>@@ -4004,13 +4133,19 @@       <item>SORT_NUMERIC</item>       <item>SORT_REGULAR</item>       <item>SORT_STRING</item>+      <item>SO_ACCEPTFILTER</item>+      <item>SO_BPF_EXTENSIONS</item>       <item>SO_BROADCAST</item>       <item>SO_DEBUG</item>       <item>SO_DONTROUTE</item>+      <item>SO_DONTTRUNC</item>       <item>SO_ERROR</item>       <item>SO_FREE</item>+      <item>SO_INCOMING_CPU</item>       <item>SO_KEEPALIVE</item>       <item>SO_LINGER</item>+      <item>SO_MARK</item>+      <item>SO_MEMINFO</item>       <item>SO_NOSERVER</item>       <item>SO_OOBINLINE</item>       <item>SO_RCVBUF</item>@@ -4018,10 +4153,14 @@       <item>SO_RCVTIMEO</item>       <item>SO_REUSEADDR</item>       <item>SO_REUSEPORT</item>+      <item>SO_RTABLE</item>+      <item>SO_SETFIB</item>       <item>SO_SNDBUF</item>       <item>SO_SNDLOWAT</item>       <item>SO_SNDTIMEO</item>       <item>SO_TYPE</item>+      <item>SO_WANTMORE</item>+      <item>SO_ZEROCOPY</item>       <item>SPH_ATTR_BOOL</item>       <item>SPH_ATTR_FLOAT</item>       <item>SPH_ATTR_INTEGER</item>@@ -4461,7 +4600,14 @@       <item>S_SESSION</item>       <item>S_SQL</item>       <item>S_VARS</item>+      <item>TCP_CONGESTION</item>+      <item>TCP_DEFER_ACCEPT</item>+      <item>TCP_KEEPALIVE</item>+      <item>TCP_KEEPCNT</item>+      <item>TCP_KEEPIDLE</item>+      <item>TCP_KEEPINTVL</item>       <item>TCP_NODELAY</item>+      <item>TCP_NOTSENT_LOWAT</item>       <item>THOUSANDS_SEP</item>       <item>THOUSEP</item>       <item>TIDY_NODETYPE_ASP</item>@@ -4972,6 +5118,7 @@       <item>VT_I1</item>       <item>VT_I2</item>       <item>VT_I4</item>+      <item>VT_I8</item>       <item>VT_INT</item>       <item>VT_NULL</item>       <item>VT_R4</item>@@ -4979,6 +5126,7 @@       <item>VT_UI1</item>       <item>VT_UI2</item>       <item>VT_UI4</item>+      <item>VT_UI8</item>       <item>VT_UINT</item>       <item>VT_UNKNOWN</item>       <item>VT_VARIANT</item>@@ -5905,6 +6053,7 @@       <item>curl_share_strerror</item>       <item>curl_strerror</item>       <item>curl_unescape</item>+      <item>curl_upkeep</item>       <item>curl_version</item>       <item>current</item>       <item>cyrus_authenticate</item>@@ -7139,6 +7288,7 @@       <item>imap_header</item>       <item>imap_headerinfo</item>       <item>imap_headers</item>+      <item>imap_is_open</item>       <item>imap_last_error</item>       <item>imap_list</item>       <item>imap_listmailbox</item>@@ -7229,6 +7379,7 @@       <item>ini_alter</item>       <item>ini_get</item>       <item>ini_get_all</item>+      <item>ini_parse_quantity</item>       <item>ini_restore</item>       <item>ini_set</item>       <item>inotify_add_watch</item>@@ -7425,6 +7576,7 @@       <item>libxml_clear_errors</item>       <item>libxml_disable_entity_loader</item>       <item>libxml_get_errors</item>+      <item>libxml_get_external_entity_loader</item>       <item>libxml_get_last_error</item>       <item>libxml_set_external_entity_loader</item>       <item>libxml_set_streams_context</item>@@ -7648,6 +7800,7 @@       <item>memcache_debug</item>       <item>memory_get_peak_usage</item>       <item>memory_get_usage</item>+      <item>memory_reset_peak_usage</item>       <item>metaphone</item>       <item>method_exists</item>       <item>mhash</item>@@ -7783,6 +7936,7 @@       <item>mysqli_error_list</item>       <item>mysqli_escape_string</item>       <item>mysqli_execute</item>+      <item>mysqli_execute_query</item>       <item>mysqli_fetch_all</item>       <item>mysqli_fetch_array</item>       <item>mysqli_fetch_assoc</item>@@ -8274,6 +8428,7 @@       <item>oci_set_edition</item>       <item>oci_set_module_name</item>       <item>oci_set_prefetch</item>+      <item>oci_set_prefetch_lob</item>       <item>oci_statement_type</item>       <item>oci_unregister_taf_callback</item>       <item>octdec</item>@@ -8285,6 +8440,9 @@       <item>odbc_columns</item>       <item>odbc_commit</item>       <item>odbc_connect</item>+      <item>odbc_connection_string_is_quoted</item>+      <item>odbc_connection_string_quote</item>+      <item>odbc_connection_string_should_quote</item>       <item>odbc_cursor</item>       <item>odbc_data_source</item>       <item>odbc_do</item>@@ -8354,6 +8512,7 @@       <item>opendir</item>       <item>openlog</item>       <item>openssl_cipher_iv_length</item>+      <item>openssl_cipher_key_length</item>       <item>openssl_csr_export</item>       <item>openssl_csr_export_to_file</item>       <item>openssl_csr_get_public_key</item>@@ -9254,6 +9413,7 @@       <item>sodium_crypto_stream_xchacha20</item>       <item>sodium_crypto_stream_xchacha20_keygen</item>       <item>sodium_crypto_stream_xchacha20_xor</item>+      <item>sodium_crypto_stream_xchacha20_xor_ic</item>       <item>sodium_crypto_stream_xor</item>       <item>sodium_hex2bin</item>       <item>sodium_increment</item>
xml/python.xml view
@@ -16,15 +16,15 @@ 		[Special cases: %prog and %default - see http://docs.python.org/library/optparse.html] 	--> 	<!ENTITY strsubstitution_py2 "&#37;(?:(?:\([a-zA-Z0-9_]+\))?[#0\- +]?(?:[1-9][0-9]*|\*)?(?:\.(?:[1-9][0-9]*|\*))?[hlL]?[crsdiouxXeEfFgG&#37;]|prog|default)">-	<!-- http://docs.python.org/2/library/string.html#format-string-syntax:+	<!-- http://docs.python.org/3/library/string.html#format-string-syntax: 	     replacement_field ::=  "{" [field_name] ["!" conversion] [":" format_spec] "}" 	     field_name        ::=  arg_name ("." attribute_name | "[" element_index "]")* 	     arg_name          ::=  [identifier | integer] 	     attribute_name    ::=  identifier 	     element_index     ::=  integer | index_string 	     index_string      ::=  <any source character except "]"> +-	     conversion        ::=  "r" | "s"-	     format_spec       ::=  [[fill]align][sign][#][0][width][,][.precision][type]+	     conversion        ::=  "r" | "s" | "a"+	     format_spec       ::=  [[fill]align][sign][z][#][0][width][_,][.precision][type] 	     fill              ::=  <any character> 	     align             ::=  "<" | ">" | "=" | "^" 	     sign              ::=  "+" | "-" | " "@@ -32,7 +32,8 @@ 	     precision         ::=  integer 	     type              ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" 	-->-	<!ENTITY strsubstitution_py3 "\{(?:(?:[a-zA-Z0-9_]+|[0-9]+)(?:\.[a-zA-Z0-9_]+|\[[^ \]]+\])*)?(?:![rs])?(?::(?:[^}]?[&lt;&gt;=^])?[ +-]?#?0?[0-9]*(?:\.[0-9]+)?[bcdeEfFgGnosxX&#37;]?)?\}">+	<!ENTITY format_spec "(?:![rsa])?(?::(?:[^}]?[&lt;&gt;=^])?[ +-]?z?#?0?[0-9]*[_,]?(?:\.[0-9]+)?[bcdeEfFgGnosxX&#37;]?)?">+	<!ENTITY strsubstitution_py3 "\{(?:(?:[a-zA-Z0-9_]+|[0-9]+)(?:\.[a-zA-Z0-9_]+|\[[^ \]]+\])*)?&format_spec;?\}">  	<!ENTITY rawString "(?:ru|u?r|)(?:'(?:[^']++|\\')*+'|&quot;(?:[^&quot;]++|\\&quot;)*+&quot;)"> 	<!ENTITY formatString "(?:r?f|fr?)(?:'(?:[^'{]++|\\'|\{\{|\{[^}]++\})*+'|&quot;(?:[^&quot;]++|\\&quot;|\{\{|\{[^}]*+\})*+&quot;)">@@ -52,7 +53,7 @@ <!-- v2.07 add support for %prog and co, see bug 142832 --> <!-- v2.08 add missing overloaders, new Python 3 statements, builtins, and keywords --> <!-- v2.29 recognize escape sequenzes correctly -->-<language name="Python" version="26" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;*.pyi;SConstruct;SConscript;*.FCMacro" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license="">+<language name="Python" version="27" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;*.pyi;SConstruct;SConscript;*.FCMacro" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license=""> 	<highlighting> 		<list name="import"> 			<item>import</item>@@ -313,6 +314,8 @@ 			<item>__enter__</item> 			<item>__exit__</item> 			<item>__match_args__</item>+			<item>__buffer__</item>+			<item>__release_buffer__</item> 			<item>__bytes__</item> 			<item>__format__</item> 			<item>__next__</item>@@ -410,23 +413,23 @@ 			<context name="Normal" attribute="Normal Text" lineEndContext="#stay"> 				<DetectSpaces attribute="Normal Text"/> -				<keyword attribute="Import" String="import" context="#stay"/>-				<keyword attribute="Definition Keyword" String="defs" context="#stay"/>-				<keyword attribute="Operator Keyword" String="operators" context="#stay"/>+				<DetectChar attribute="Normal Text" char="(" context="Tuple" beginRegion="Tuple"/>+				<DetectChar attribute="Normal Text" char="[" context="List" beginRegion="List"/>+				<DetectChar attribute="Normal Text" char="{" context="Dictionary" beginRegion="Dictionary"/>++				<DetectChar attribute="Comment" char="#" context="Hash comment"/>++				<keyword attribute="Special Variable" String="specialvars" context="#stay"/> 				<keyword attribute="Flow Control Keyword" String="flow" context="#stay"/>+				<keyword attribute="Operator Keyword" String="operators" context="#stay"/>+				<keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>+				<keyword attribute="Definition Keyword" String="defs" context="#stay"/> 				<keyword attribute="Flow Control Keyword" String="flow_yield" context="yield"/> 				<keyword attribute="Flow Control Keyword" String="patternmatching" context="Pattern Matching" lookAhead="1" firstNonSpace="1"/>-				<keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>-				<keyword attribute="Special Variable" String="specialvars" context="#stay"/>-				<keyword attribute="Extensions" String="bindings" context="#stay"/>+				<keyword attribute="Import" String="import" context="#stay"/> 				<keyword attribute="Exceptions" String="exceptions" context="#stay"/> 				<keyword attribute="Overloaders" String="overloaders" context="#stay"/>--				<DetectChar attribute="Normal Text" char="{" context="Dictionary" beginRegion="Dictionary"/>-				<DetectChar attribute="Normal Text" char="[" context="List" beginRegion="List"/>-				<DetectChar attribute="Normal Text" char="(" context="Tuple" beginRegion="Tuple"/>--				<DetectChar attribute="Comment" char="#" context="Hash comment"/>+				<keyword attribute="Extensions" String="bindings" context="#stay"/>  				<IncludeRules context="Number" /> 				<IncludeRules context="CommentVariants" />@@ -491,7 +494,7 @@ 				<LineContinue attribute="Normal Text" context="#pop!CheckForStringNext"/> 			</context> -			<context name="CheckForStringNext" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+			<context name="CheckForStringNext" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 				<DetectSpaces/> 				<LineContinue attribute="Normal Text" context="#stay"/> 				<IncludeRules context="StringVariants"/>@@ -509,16 +512,16 @@ 				<RegExpr attribute="String" String="u?'"                  insensitive="true" context="#pop!Single A-string"/> 				<RegExpr attribute="String" String="u?&quot;"             insensitive="true" context="#pop!Single Q-string"/> -				<RegExpr attribute="Raw String" String="u?r'''"                insensitive="true" context="#pop!Raw Triple A-string" beginRegion="Triple A-region"/>-				<RegExpr attribute="Raw String" String="u?r&quot;&quot;&quot;" insensitive="true" context="#pop!Raw Triple Q-string" beginRegion="Triple Q-region"/>-				<RegExpr attribute="Raw String" String="u?r'"                  insensitive="true" context="#pop!Raw A-string"/>-				<RegExpr attribute="Raw String" String="u?r&quot;"             insensitive="true" context="#pop!Raw Q-string"/>- 				<StringDetect attribute="F-String" String="f'''"                insensitive="true" context="#pop!Triple A-F-String" beginRegion="Triple A-region"/> 				<StringDetect attribute="F-String" String="f&quot;&quot;&quot;" insensitive="true" context="#pop!Triple Q-F-String" beginRegion="Triple Q-region"/> 				<StringDetect attribute="F-String" String="f'"                  insensitive="true" context="#pop!Single A-F-String"/> 				<StringDetect attribute="F-String" String="f&quot;"             insensitive="true" context="#pop!Single Q-F-String"/> +				<RegExpr attribute="Raw String" String="u?r'''"                insensitive="true" context="#pop!Raw Triple A-string" beginRegion="Triple A-region"/>+				<RegExpr attribute="Raw String" String="u?r&quot;&quot;&quot;" insensitive="true" context="#pop!Raw Triple Q-string" beginRegion="Triple Q-region"/>+				<RegExpr attribute="Raw String" String="u?r'"                  insensitive="true" context="#pop!Raw A-string"/>+				<RegExpr attribute="Raw String" String="u?r&quot;"             insensitive="true" context="#pop!Raw Q-string"/>+ 				<RegExpr attribute="Raw F-String" String="(?:fr|rf)'''"                insensitive="true" context="#pop!Raw Triple A-F-String" beginRegion="Triple A-region"/> 				<RegExpr attribute="Raw F-String" String="(?:fr|rf)&quot;&quot;&quot;" insensitive="true" context="#pop!Raw Triple Q-F-String" beginRegion="Triple Q-region"/> 				<RegExpr attribute="Raw F-String" String="(?:fr|rf)'"                  insensitive="true" context="#pop!Raw A-F-String"/>@@ -653,8 +656,7 @@ 			</context> 			<context name="String Interpolation" attribute="String Substitution" lineEndContext="#stay"> 				<DetectChar attribute="Error" char="\" context="#pop"/>-				<!-- format specifiers: [[fill]align][sign][#][0][minimumwidth][.precision][type] -->-				<RegExpr attribute="String Substitution" String="(?:![rsa])?(?::(?:[^}]?[&lt;&gt;=^])?[ +-]?#?0?[0-9]*(?:\.[0-9]+)?[bcdeEfFgGnosxX%]?)?\}" context="#pop"/>+				<RegExpr attribute="String Substitution" String="&format_spec;\}" context="#pop"/> 				<IncludeRules context="Normal"/> <!-- TODO: create expression context instead --> 			</context> 
xml/qml.xml view
@@ -4,7 +4,7 @@   <!ENTITY identifier "[a-zA-Z_$][\w$]*"> ]> <!-- Author: Milian Wolff <mail@milianw.de> -->-<language name="QML" version="11" kateversion="5.53" section="Scripts" extensions="*.qml;*.qmltypes"+<language name="QML" version="13" kateversion="5.53" section="Scripts" extensions="*.qml;*.qmltypes"           mimetype="text/x-qml;application/x-qml" indenter="cstyle"           author="Milian Wolff (mail@milianw.de)" license="MIT">   <highlighting>@@ -125,15 +125,20 @@         <DetectChar attribute="String" context="String" char="&quot;" />         <DetectChar attribute="Normal Text" context="Object" char="{" beginRegion="Brace" />         <!-- Normal##JavaScript -->+        <IncludeRules context="FindSomeSymbols##JavaScript" />+        <AnyChar context="#stay" String="[(" />+        <AnyChar context="NoRegExp##JavaScript" String="])" />         <IncludeRules context="FindNumbers##JavaScript" />         <IncludeRules context="FindKeywords##JavaScript" />         <IncludeRules context="FindStrings##JavaScript" />         <RegExpr attribute="Objects" context="FindMemberObjectMath##JavaScript" String="\bMath(?=\s*\.)" />         <RegExpr attribute="Objects" context="#stay" String="\b[A-Z][\w$]*(?=\s*\.)" />+        <IncludeRules context="FindMembers##JavaScript" />         <IncludeRules context="FindObjectMembersAndFunctions##JavaScript" />         <IncludeRules context="JSBase##JavaScript" />       </context>       <context attribute="ImportValue" lineEndContext="#pop" name="Import">+        <IncludeRules context="FindComments##JavaScript" />       </context>       <context attribute="Normal Text" lineEndContext="#pop" name="Property">         <WordDetect attribute="Property Type" context="#stay" String="alias" />@@ -141,6 +146,7 @@         <DetectSpaces />         <DetectIdentifier />         <DetectChar char=":" context="#pop" />+        <IncludeRules context="FindComments##JavaScript" />       </context>       <context attribute="Normal Text" lineEndContext="#pop" name="Signal">         <DetectSpaces />@@ -160,7 +166,7 @@       </context>       <context attribute="Normal Text" lineEndContext="#stay" name="Object">         <!--DetectIdentifier-->-        <RegExpr attribute="Property Type" String="&identifier;\s*(?=:)" />+        <RegExpr attribute="Property Type" String="&identifier;\s*(?=(\/\*.*?\*\/)?:)" />         <!-- Avoid highlighting Property Type before ":" in conditional expressions. -->         <RegExpr attribute="Symbol" context="ConditionalExpression" String="\?(?=[^\}]*&identifier;\s*\:)" />         <DetectChar attribute="Normal Text" char="}" endRegion="Brace" context="#pop" />
xml/r.xml view
@@ -8,7 +8,7 @@ 	R      : http://www.r-project.org/ 	RKWard : http://rkward.kde.org/ 	-->-<language version="13" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2">+<language version="14" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2"> <highlighting>  	<list name="controls">@@ -85,6 +85,10 @@ 			<AnyChar attribute="Error" context="#stay" String="*/&lt;&gt;=|&amp;:^@$~"/> 		</context> +		<context attribute="Numeric Suffix" lineEndContext="#pop" name="NumericSuffix" fallthrough="true" fallthroughContext="#pop">+			<AnyChar attribute="Numeric Suffix" context="#pop" String="Li"/>+		</context>+ 		<context attribute="Normal Text" lineEndContext="#stay" name="FindComments"> 			<Detect2Chars attribute="Headline" context="Headline" char="#" char1="#"/> 			<DetectChar attribute="Comment" context="Comment" char="#"/>@@ -108,7 +112,7 @@ 			<keyword attribute="Control Structure" context="#stay" String="controls"/> 			<keyword attribute="Reserved Words" context="#stay" String="words"/> 			<Float attribute="Float" context="#stay"/>-			<Int attribute="Int" context="#stay"/>+			<Int attribute="Int" context="NumericSuffix"/> 			<RegExpr attribute="Keyword" context="#stay" String="[a-zA-Z_]+[a-zA-Z_\.0-9]*(?=[\s]*[(])|\.[a-zA-Z_\.]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/> 			<DetectChar attribute="Symbol" context="parenthesis" char="("/> @@ -156,6 +160,7 @@ 		<itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/> 		<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> 		<itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>+		<itemData name="Numeric Suffix" defStyleNum="dsDataType" spellChecking="false"/> 	</itemDatas> </highlighting> 
xml/sass.xml view
@@ -6,7 +6,7 @@   <!ENTITY nmchar  "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])"> ]> -<language name="SASS" version="7" 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.53" section="Markup" extensions="*.sass" indenter="cstyle" mimetype="text/css" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT" priority="5">      <highlighting>         <list name="properties">@@ -112,7 +112,7 @@              <!-- same as SCSS -->             <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|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x|fr)\b)" />+                <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' -->
xml/scss.xml view
@@ -34,7 +34,7 @@  --> -<language name="SCSS" version="14" kateversion="5.53" section="Markup" extensions="*.scss" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">+<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">@@ -643,7 +643,7 @@             </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|cm|mm|Q|in|pc|pt|px|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|x|fr)\b)" />+                <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' -->
xml/typescript.xml view
@@ -13,6 +13,12 @@ 	<!ENTITY functionSuffix "(?=\s*(?:&lt;(?:\{(?:[^\{\}]|\{[^\{\}]*\})*\}|\((?:[^\(\)]|\([^\(\)]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\]|'(?:\\.|[^'])*'|&quot;(?:\\.|[^&quot;])*&quot;|`(?:\\.|[^`])*`|[^&lt;&gt;]|&lt;.*&gt;)*&gt;)?\()">  	<!ENTITY codeContent    "&quot;(?:[^&quot;]|\\.)*&quot;|'(?:[^']|\\.)*'|`(?:[^`]|\\.)`|/\*.*\*/|/(?:[^/\\\[]|\\.|\[(?:[^\]\\]|\\.)+\])+/">++  <!-- https://tc39.es/ecma262/#sec-literals-numeric-literals -->+  <!ENTITY DecimalIntegerLiteral "(0|[1-9][0-9]*+(_[0-9]++)*+)">+  <!ENTITY DecimalDigits "([0-9]++(_[0-9]++)*+)">+  <!ENTITY ExponentPart "([eE][+-]?&DecimalDigits;)">+  <!ENTITY float "\b&DecimalIntegerLiteral;(\.&DecimalDigits;?&ExponentPart;?|&ExponentPart;)|\.&DecimalDigits;&ExponentPart;?"> ]>  <!--@@ -61,7 +67,7 @@ -->  <language name="TypeScript"-          version="16"+          version="17"           kateversion="5.53"           section="Scripts"           extensions="*.ts;*.mts;*.cts"@@ -242,10 +248,26 @@ 		</context>  		<context name="Normal Pt1" attribute="Normal Text" lineEndContext="#stay">+			<IncludeRules context="JSBaseSomeSymboles##JavaScript" />+			<DetectChar context="Types" attribute="Symbol" char=":" />++			<!-- Symbols & Operators -->+			<!-- NOTE: - The brackets {}()[] are highlighted as Normal Text.+			           - Bracket highlighting rules must be explicitly included here+			             for the "Animate Bracket Highlighting" feature to work properly. -->+			<DetectChar context="Object" attribute="Normal Text" char="{" beginRegion="Brace" />+			<DetectChar context="#stay" attribute="Normal Text" char="[" beginRegion="List" />+			<DetectChar context="NoRegExp" attribute="Normal Text" char="]" endRegion="List" />+			<DetectChar context="#stay" attribute="Normal Text" char="(" />+			<DetectChar context="NoRegExp" attribute="Normal Text" char=")" />+ 			<StringDetect context="#stay" attribute="Symbol" String="..." /> 			<IncludeRules context="FindNumbers" />+			<DetectChar context="MemberObject" attribute="Symbol" char="." /> 			<IncludeRules context="FindStrings" /> +			<IncludeRules context="FindPrivateOperator##JavaScript" />+ 			<!-- Abstract --> 			<RegExpr context="#stay" attribute="Reserved" String="\babstract(?=\s+(?:class|interface)\b)" /> 			<!-- New -->@@ -271,7 +293,6 @@ 			<IncludeRules context="BuiltInConstants" /> 			<!-- Objects --> 			<RegExpr context="MemberObject" attribute="Objects" String="&identifier;(?=&objectPoint;)" />-			<DetectChar context="MemberObject" attribute="Symbol" char="." />  			<RegExpr context="Types" attribute="Module" String="\bas(?=\s)" /> 			<!-- Import -->@@ -289,16 +310,6 @@ 			<!-- Tagged Template Literals --> 			<RegExpr context="#stay" attribute="Function Name" String="&identifier;(?=\s*`)" /> -			<!-- Symbols & Operators -->-			<!-- NOTE: - The brackets {}()[] are highlighted as Normal Text.-			           - Bracket highlighting rules must be explicitly included here-			             for the "Animate Bracket Highlighting" feature to work properly. -->-			<DetectChar context="Object" attribute="Normal Text" char="{" beginRegion="Brace" />-			<DetectChar context="#stay" attribute="Normal Text" char="[" beginRegion="List" />-			<DetectChar context="NoRegExp" attribute="Normal Text" char="]" endRegion="List" />-			<DetectChar context="#stay" attribute="Normal Text" char="(" />-			<DetectChar context="NoRegExp" attribute="Normal Text" char=")" />- 			<Detect2Chars context="#stay" attribute="Symbol" char="?" char1="?" /> <!-- Null operator --> 			<!-- Conditional Expressions: 			       CASE 1:  '?' ... <identifier> ':'@@ -308,7 +319,6 @@ 			<RegExpr context="ConditionalExpression" attribute="Symbol" String="\?(?=\s*(?:(?:[^/&quot;'`\s\?:\.;,\=\}\]\)]|&codeContent;)(?:[^/&quot;'`]|&codeContent;)*)?&identifier;\s*(?:/\*.*\*/\s*)*:|(?:&amp;&amp;|\|\||\s*(?:/\*.*\*/\s*)*&identifier;)?&endLine;)" minimal="true" />  			<!-- Type Parameter: Highlight types after ":" and between "<" and ">" -->-			<DetectChar context="Types" attribute="Symbol" char=":" /> 			<RegExpr context="TypesAngleBracket" attribute="Symbol" String="&lt;(?=(?:&identifier;|[\[\{\(&lt;]).*&gt;)" />  			<IncludeRules context="JSBase##JavaScript" />@@ -375,12 +385,22 @@  		<!-- Numbers --> 		<context name="FindNumbers" attribute="Normal Text" lineEndContext="#stay">-			<RegExpr context="NoRegExp" attribute="Hexadecimal" String="\b0[xX][\da-fA-F][\da-fA-F_]*&numSuffix;" />-			<RegExpr context="NoRegExp" attribute="Binary" String="\b0[bB][01][01_]*&numSuffix;" />-			<RegExpr context="NoRegExp" attribute="Float" String="(?:\b\d[\d_]*\.?|(?:\b\d[\d_]*)?\.\d[\d_]*)[eE][\+\-]?\d[\d_]*&numSuffix;|(?:\.\d[\d_]*|\b\d[\d_]*\.(?:\d[\d_]*)?)&numSuffix;" />-			<RegExpr context="NoRegExp" attribute="Octal" String="\b0[oO]?[0-7][0-7_]*&numSuffix;" />-			<RegExpr context="NoRegExp" attribute="Decimal" String="\b\d[\d_]*&numSuffix;" />+			<RegExpr attribute="Float" context="NoRegExp" String="&float;" />+			<AnyChar context="Integer" String="0123456789" lookAhead="1"/> 		</context>+		<!-- same as JS, but with Hexadecimal instead of Hex -->+		<context name="Integer" attribute="Normal Text" lineEndContext="#stay">+			<RegExpr attribute="Hexadecimal" context="#pop!NumericSufix" String="\b0[xX][0-9a-fA-F]++(_[0-9a-fA-F]++)*+"/>+			<!-- 07 is octal, 08 is decimal -->+			<RegExpr attribute="Octal" context="#pop!NumericSufix" String="\b0([oO][0-7]++(_[0-7]++)*+|0*+[1-7][0-7]*+(_[0-7]++)*+(?!_?[89]))" />+			<RegExpr attribute="Binary" context="#pop!NumericSufix" String="\b0[bB][01]++(_[01]++)*+" />+			<!-- 0000_8 is invalid -->+			<RegExpr attribute="Decimal" context="#pop!NumericSufix" String="\b0*+([1-9][0-9]*+(_[0-9]++)*+)?"/>+		</context>+		<context attribute="Normal Text" lineEndContext="#pop" name="NumericSufix" fallthrough="true" fallthroughContext="#pop!NoRegExp">+			<DetectChar attribute="Normal Text" context="#pop!NoRegExp" char="n" />+			<IncludeRules context="NumericSufixError##JavaScript" />+		</context>  		<!-- Function Name --> 		<context name="Function" attribute="Normal Text" lineEndContext="#pop">@@ -575,7 +595,7 @@ 			<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="variable_property" /> 			<keyword context="#pop!NoRegExp" attribute="Constant" String="dom_constant" /> -			<RegExpr context="#stay" attribute="Normal Text" String="#(?=&identifier;)" /> <!-- Private-Named Instance Fields -->+			<IncludeRules context="FindPrivateOperator##JavaScript" /> 			<RegExpr context="#stay" attribute="Object Member" String="&identifier;(?=&objectPoint;)" /> 			<RegExpr context="#pop!NoRegExp" attribute="Object Member" String="&identifier;" /> 			<IncludeRules context="NoRegExp" />@@ -748,4 +768,4 @@ </general>  </language>-<!-- kate: replace-tabs off; tab-width 3; indent-width 3; remove-trailing-spaces mod; dynamic-word-wrap off; -->+<!-- kate: replace-tabs off; tab-width 3; indent-width 3; remove-trailing-spaces mod; -->
xml/zsh.xml view
@@ -77,7 +77,7 @@         <!ENTITY int "(?:[0-9]++[_0-9]*+)">         <!ENTITY exp "(?:[eE][-+]?&int;)"> ]>-<language name="Zsh" version="31" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">+<language name="Zsh" version="32" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">    <highlighting>     <list name="keywords">@@ -844,7 +844,11 @@         <Detect2Chars attribute="Redirection" context="#pop"  char="&lt;" char1="&lt;"/><!-- always met -->       </context> -      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder" fallthroughContext="Command">+      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder" fallthroughContext="CommandArg">+        <AnyChar context="ZshOneLine" String="&amp;|;`" lookAhead="1"/>+        <IncludeRules context="CommandArgs"/>+      </context>+      <context attribute="Normal Text" lineEndContext="#pop" name="ZshOneLine" fallthroughContext="Command">         <IncludeRules context="Start"/>       </context> @@ -853,7 +857,7 @@       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQ" dynamic="1" fallthroughContext="HereDocSubstitutions">-        <RegExpr attribute="Redirection" context="#pop#pop" String="^%1$" dynamic="1" column="0"/>+        <IncludeRules context="HereDocQ" />       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQ" dynamic="1" fallthroughContext="HereDocText">@@ -861,27 +865,32 @@       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQ" dynamic="1" fallthroughContext="HereDocSubstitutions">-        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%1$" dynamic="1" column="0"/>+        <IncludeRules context="HereDocIQ" />       </context> +      <context attribute="Here Doc" lineEndContext="#stay" name="HereDocCmd">+        <!-- Only if the redirect is before the command, but as this is too complicated,+             check if the redirect is at the beginning of the line. -->+        <StringDetect attribute="Redirection" context="ZshOneLine" String="%1" dynamic="true" firstNonSpace="1"/>+        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true"/>+      </context>+       <context attribute="Here Doc" lineEndContext="#stay" name="HereDocQCmd" dynamic="1" fallthroughContext="HereDocText">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="1"/>+        <IncludeRules context="HereDocCmd"/>         <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="1" column="0"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocNQCmd" dynamic="1" fallthroughContext="HereDocSubstitutions">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="1"/>-        <RegExpr attribute="Redirection" context="#pop#pop" String="^%2$" dynamic="1" column="0"/>+        <IncludeRules context="HereDocQCmd"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocIQCmd" dynamic="1" fallthroughContext="HereDocText">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="1"/>+        <IncludeRules context="HereDocCmd"/>         <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="1" column="0"/>       </context>        <context attribute="Here Doc" lineEndContext="#stay" name="HereDocINQCmd" dynamic="1" fallthroughContext="HereDocSubstitutions">-        <StringDetect attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="1"/>-        <RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2$" dynamic="1" column="0"/>+        <IncludeRules context="HereDocIQCmd"/>       </context>        <context attribute="Here Doc" lineEndContext="#pop" name="HereDocText">