skylighting-core 0.7.3 → 0.7.4
raw patch · 54 files changed
+5282/−2237 lines, 54 filesdep ~criterion
Dependency ranges changed: criterion
Files
- changelog.md +13/−0
- skylighting-core.cabal +2/−2
- src/Skylighting/Format/HTML.hs +2/−3
- src/Skylighting/Tokenizer.hs +5/−1
- test/expected/abc.haskell.native +16/−4
- test/test-skylighting.hs +10/−13
- xml/actionscript.xml +16/−14
- xml/awk.xml +137/−85
- xml/bash.xml +21/−6
- xml/c.xml +18/−14
- xml/clojure.xml +9/−7
- xml/cmake.xml +118/−3
- xml/coffee.xml +86/−14
- xml/cs.xml +16/−14
- xml/css.xml +1726/−1047
- xml/dockerfile.xml +1/−1
- xml/email.xml +7/−1
- xml/fortran.xml +7/−3
- xml/gcc.xml +40/−11
- xml/haskell.xml +6/−4
- xml/ini.xml +1/−1
- xml/isocpp.xml +492/−182
- xml/java.xml +18/−11
- xml/javadoc.xml +10/−7
- xml/javascript.xml +41/−18
- xml/jsp.xml +20/−27
- xml/kotlin.xml +11/−7
- xml/latex.xml +1/−2
- xml/lua.xml +10/−3
- xml/mediawiki.xml +1/−2
- xml/modelines.xml +9/−6
- xml/modula-2.xml +1189/−185
- xml/objectivec.xml +16/−14
- xml/objectivecpp.xml +16/−14
- xml/opencl.xml +18/−14
- xml/perl.xml +58/−13
- xml/powershell.xml +2/−2
- xml/prolog.xml +7/−7
- xml/python.xml +14/−12
- xml/r.xml +4/−4
- xml/rest.xml +3/−4
- xml/rhtml.xml +48/−43
- xml/ruby.xml +39/−35
- xml/rust.xml +43/−35
- xml/scala.xml +16/−14
- xml/sql-mysql.xml +46/−42
- xml/sql-postgresql.xml +414/−172
- xml/sql.xml +52/−56
- xml/tcl.xml +3/−3
- xml/vhdl.xml +5/−7
- xml/xml.xml +1/−2
- xml/xul.xml +1/−2
- xml/yaml.xml +414/−41
- xml/zsh.xml +3/−3
changelog.md view
@@ -1,5 +1,18 @@ # Revision history for skylighting-core +## 0.7.4 -- 2018-10-08++ * HTML output: use title instead of data-line-number.+ data- attributes are not valid HTML 4, and we would like this to+ work with HTML 4 (e.g. in epub v2). See jgm/pandoc#4920.+ * Print FALLTHROUGH in --trace output.+ * Updated syntax definitions for actionscript, awk, bash, c, clojure, cmake,+ coffee, cs, css, dockerfile, email, fortran, gcc, haskell, ini, isocpp,+ java, javadoc, javascript, jsp, kotlin, latex, lua, mediawiki, modelines,+ modula-2, objectivec, objectivecpp, opencl, perl, powershell, prolog,+ python, r, rest, rhtml, ruby, rust, scala, sql-mysql, sql-postgresql, sql,+ tcl, vhdl, xml, xul, yaml, zsh.+ ## 0.7.3 -- 2018-08-27 * Add 'default.xml' to syntax descriptions.
skylighting-core.cabal view
@@ -1,5 +1,5 @@ name: skylighting-core-version: 0.7.3+version: 0.7.4 synopsis: syntax highlighting library description: Skylighting is a syntax highlighting library. It derives its tokenizers from XML syntax@@ -180,7 +180,7 @@ text, containers, directory,- criterion >= 1.0 && < 1.5+ criterion >= 1.0 && < 1.6 Ghc-Options: -rtsopts -Wall -fno-warn-unused-do-bind Default-Language: Haskell2010
src/Skylighting/Format/HTML.hs view
@@ -93,8 +93,7 @@ lineNum = toValue prefixedLineNo lineRef = toValue ('#':prefixedLineNo) prefixedLineNo = Text.unpack (lineIdPrefix opts) <> show (lineNo lno)- dataAttrib = H.dataAttribute (fromString "line-number")- (toValue (show (lineNo lno)))+ dataAttrib = A.title (toValue (show (lineNo lno))) tokenToHtml :: FormatOptions -> Token -> Html tokenToHtml _ (NormalTok, txt) = toHtml txt@@ -155,7 +154,7 @@ "pre.numberSource a.sourceLine" , " { position: relative; left: -4em; }" , "pre.numberSource a.sourceLine::before"- , " { content: attr(data-line-number);"+ , " { content: attr(title);" , " position: relative; left: -1em; text-align: right; vertical-align: baseline;" , " border: none; pointer-events: all; display: inline-block;" , " -webkit-touch-callout: none; -webkit-user-select: none;"
src/Skylighting/Tokenizer.hs view
@@ -254,7 +254,11 @@ cs -> cs doContextSwitches fallthroughContext getToken- else (\x -> Just (cAttribute context, x)) <$> normalChunk+ else do+ t <- normalChunk+ let mbtok = Just (cAttribute context, t)+ info $ "FALLTHROUGH " ++ show mbtok+ return mbtok takeChars :: Int -> TokenizerM Text takeChars 0 = mzero
test/expected/abc.haskell.native view
@@ -101,13 +101,25 @@ ] , [ ( NormalTok , "main " ) , ( FunctionTok , "=" )- , ( NormalTok , " mapM_ (\\w " )+ , ( NormalTok , " " )+ , ( FunctionTok , "mapM_" )+ , ( NormalTok , " (\\w " ) , ( OtherTok , "->" )- , ( NormalTok , " print (w, not " )+ , ( NormalTok , " " )+ , ( FunctionTok , "print" )+ , ( NormalTok , " (w, " )+ , ( FunctionTok , "not" )+ , ( NormalTok , " " ) , ( FunctionTok , "." )- , ( NormalTok , " null " )+ , ( NormalTok , " " )+ , ( FunctionTok , "null" )+ , ( NormalTok , " " ) , ( FunctionTok , "$" )- , ( NormalTok , " abc blocks (map toUpper w)))" )+ , ( NormalTok , " abc blocks (" )+ , ( FunctionTok , "map" )+ , ( NormalTok , " " )+ , ( FunctionTok , "toUpper" )+ , ( NormalTok , " w)))" ) ] , [ ( NormalTok , " [" ) , ( StringTok , "\"\"" )
test/test-skylighting.hs view
@@ -131,19 +131,16 @@ ] @=? tokenize defConfig perl "my $foo = q/bar/;\nmy $baz = 'quux';\n" , testCase "cpp floats" $ Right- [ [ ( FloatTok , "0.1f" ) ]- , [ ( FloatTok , "1.0f" ) ]- , [ ( FloatTok , "-0.1f" ) ]- , [ ( FloatTok , "-1.0F" ) ]- , [ ( FloatTok , "-1.0L" ) ]- , [ ( FloatTok , "1e3" ) ]- , [ ( FloatTok , "-15e+3" ) ]- , [ ( FloatTok , "0.f" ) ]- , [ ( FloatTok , "1.F" ) ]- , [ ( DecValTok , "1" )- , ( NormalTok ,".E" )- , ( DecValTok , "3" )- ]+ [ [ (FloatTok,"0.1") , (BuiltInTok,"f")]+ , [ (FloatTok,"1.0") , (BuiltInTok,"f")]+ , [ (NormalTok,"-") , (FloatTok,"0.1") , (BuiltInTok,"f")]+ , [ (NormalTok,"-") , (FloatTok,"1.0") , (BuiltInTok,"F")]+ , [ (NormalTok,"-") , (FloatTok,"1.0") , (BuiltInTok,"L")]+ , [ (FloatTok,"1e3")]+ , [ (NormalTok,"-") , (FloatTok,"15e+3")]+ , [ (FloatTok,"0.") , (BuiltInTok,"f")]+ , [ (FloatTok,"1.") , (BuiltInTok,"F")]+ , [ (FloatTok,"1.E3")] ] @=? tokenize defConfig cpp "0.1f\n1.0f\n-0.1f\n-1.0F\n-1.0L\n1e3\n-15e+3\n0.f\n1.F\n1.E3" ]
xml/actionscript.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="ActionScript 2.0" version="2" kateversion="5.0" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)">+<language name="ActionScript 2.0" version="3" kateversion="5.0" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)"> <highlighting> <list name="properties">@@ -253,21 +253,10 @@ <keyword attribute="Keyword" context="#stay" String="keywords"/> <keyword attribute="Constants" context="#stay" String="const"/> <keyword attribute="Data Type" context="#stay" String="types"/>- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/> <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>@@ -282,6 +271,19 @@ <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" /> <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" /> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String"> <LineContinue attribute="String" context="#stay"/>
xml/awk.xml view
@@ -1,94 +1,117 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="AWK" version="2" kateversion="5.0" section="Scripts"+<language name="AWK" version="3" kateversion="5.0" section="Scripts" extensions="*.awk" mimetype="text/x-awk" indenter="cstyle" license="LGPL"> <!-- patched by igli#kate@irc:chat.freenode.net --> <highlighting>- <list name="keywords">+ <list name="controlflow"> <item>if</item> <item>else</item> <item>while</item> <item>do</item> <item>for</item>- <item>in</item>- <item>continue</item> <item>break</item>+ <item>continue</item>+ <item>return</item>+ <item>switch</item>+ <item>case</item>+ <item>default</item>+ <item>exit</item>+ </list>+ <list name="keywords">+ <item>in</item>+ <item>delete</item> <item>print</item> <item>printf</item> <item>getline</item> <item>function</item>- <item>return</item> <item>next</item> <item>nextfile</item>- <item>exit</item>- <item>switch</item>- <item>case</item>- <item>default</item> <item>@include</item> <item>@load</item> </list> <list name="builtins"> <item>ARGC</item>+ <item>ARGIND</item> <item>ARGV</item>+ <item>BINMODE</item> <item>CONVFMT</item> <item>ENVIRON</item> <item>ERRNO</item>+ <item>FIELDWIDTHS</item> <item>FILENAME</item> <item>FNR</item> <item>FPAT</item> <item>FS</item> <item>FUNCTAB</item> <item>IGNORECASE</item>+ <item>LINT</item> <item>NF</item> <item>NR</item> <item>OFMT</item> <item>OFS</item> <item>ORS</item>+ <item>PREC</item> <item>PROCINFO</item>+ <item>ROUNDMODE</item> <item>RS</item>+ <item>RT</item> <item>RSTART</item> <item>RLENGTH</item> <item>SUBSEP</item> <item>SYMTAB</item>+ <item>TEXTDOMAIN</item> </list> <list name="functions">+ <!-- I/O -->+ <item>close</item>+ <item>fflush</item>+ <item>system</item>+ <!-- Arithmetic -->+ <item>atan2</item>+ <item>cos</item>+ <item>exp</item>+ <item>int</item>+ <item>log</item>+ <item>rand</item>+ <item>sin</item>+ <item>sqrt</item>+ <item>srand</item>+ <!-- String --> <item>asort</item> <item>asorti</item>- <item>gsub</item> <item>gensub</item>+ <item>gsub</item> <item>index</item>- <item>isarray</item> <item>length</item>- <item>lshift</item> <item>match</item>- <item>mktime</item> <item>patsplit</item>- <item>rshift</item> <item>split</item> <item>sprintf</item>- <item>sround</item>- <item>strftime</item> <item>strtonum</item> <item>sub</item> <item>substr</item>- <item>systime</item> <item>tolower</item> <item>toupper</item>- <item>typeof</item>+ <!-- Time -->+ <item>mktime</item>+ <item>strftime</item>+ <item>systime</item>+ <!-- Bit Manipulationse -->+ <item>and</item>+ <item>compl</item>+ <item>lshift</item>+ <item>or</item>+ <item>rshift</item> <item>xor</item>- <item>atan2</item>- <item>cos</item>- <item>exp</item>- <item>int</item>- <item>log</item>- <item>rand</item>- <item>sin</item>- <item>sqrt</item>- <item>srand</item>- <item>close</item>- <item>fflush</item>- <item>system</item>+ <!-- Type -->+ <item>isarray</item>+ <item>typeof</item>+ <!-- Internationalization -->+ <item>bindtextdomain</item>+ <item>dcgettext</item>+ <item>dcngettext</item> </list> <list name="special"> <item>BEGIN</item>@@ -96,122 +119,149 @@ <item>END</item> <item>ENDFILE</item> </list>+ <list name="charclass">+ <item>alpha</item>+ <item>alnum</item>+ <item>blank</item>+ <item>cntrl</item>+ <item>digit</item>+ <item>graph</item>+ <item>lower</item>+ <item>print</item>+ <item>punct</item>+ <item>space</item>+ <item>upper</item>+ <item>xdigit</item>+ </list> <contexts> <!-- START CONTEXTS --> <context name="Pattern" attribute="Normal" lineEndContext="#stay">- <DetectChar char="{" context="Block" attribute="Keyword" beginRegion="block" />+ <DetectSpaces />+ <DetectChar char="{" attribute="Symbol" context="Block" beginRegion="block" /> <DetectChar char="}" attribute="Error" context="#stay"/>- <DetectChar char="/" firstNonSpace="true" lookAhead="true" context="MatchPattern"/>+ <DetectChar char="/" attribute="Regex Op" firstNonSpace="true" context="Regex"/> <IncludeRules context="base" /> <keyword String="special" attribute="Special" context="#stay"/> </context> <context name="Block" attribute="Normal" lineEndContext="#stay">- <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="block" />- <DetectChar char="{" context="Block" attribute="Keyword" beginRegion="block" />+ <DetectSpaces />+ <DetectChar char="}" attribute="Symbol" context="#pop" endRegion="block" />+ <DetectChar char="{" attribute="Symbol" context="Block" beginRegion="block" /> <IncludeRules context="base" /> <keyword String="special" attribute="Error" context="#stay"/> </context> <context name="base" attribute="Normal" lineEndContext="#stay">- <DetectSpaces />- <DetectChar char="#" context="Comment" attribute="Comment"/>- <DetectChar char="~" context="Match" attribute="Operator"/>- <DetectChar char=""" context="String" attribute="String"/>- <AnyChar String="!%&*+,-./:;<=>?^|" attribute="Operator" context="#stay"/>+ <DetectChar char=")" attribute="Symbol" context="#stay"/>+ <DetectChar char="(" attribute="Symbol" context="Match"/>+ <AnyChar String="=~" attribute="Operator" context="Match"/>+ <DetectChar char="," attribute="Separator Symbol" context="ArgSep"/>+ <DetectChar char=""" attribute="String" context="String"/>+ <DetectChar char="#" attribute="Comment" context="Comment"/>+ <AnyChar String="@!%&*+-/:<>?^|" attribute="Operator" context="#stay"/>+ <keyword String="controlflow" attribute="ControlFlow" context="#stay"/> <keyword String="keywords" attribute="Keyword" context="#stay"/> <keyword String="builtins" attribute="Builtin" context="#stay"/> <keyword String="functions" attribute="Function" context="#stay"/> <Float attribute="Float" context="#stay"/> <Int attribute="Decimal" context="#stay"/> <RegExpr String="\$[A-Za-z0-9_]+" attribute="Field" context="#stay"/>+ <DetectChar char=";" attribute="Separator Symbol" context="#stay"/> </context> +<context name="ArgSep" attribute="Normal" lineEndContext="#stay"+ fallthrough="true" fallthroughContext="#pop">+ <IncludeRules context="Match" />+</context>+ <context name="String" attribute="String" lineEndContext="#stay"> <DetectChar char=""" attribute="String" context="#pop"/>- <HlCStringChar attribute="Escape" context="#stay"/>- <DetectChar char="\" context="Escape" attribute="Operator"/>+ <DetectChar char="\" context="Escape" attribute="Escape"/> </context> <context name="Comment" attribute="Comment" lineEndContext="#pop"> <IncludeRules context="##Alerts"/> </context> -<context name="Escape" attribute="Normal" lineEndContext="#pop">- <RegExpr String="." attribute="String" context="#pop"/>+<context name="Escape" attribute="Error" lineEndContext="#pop">+ <RegExpr String="[\\abfnrtv]|x[0-9a-fA-F]{1,2}|[0-7]{1,3}" attribute="Escape" context="#pop"/>+ <RegExpr String="." attribute="Error" context="#pop"/> </context> <context name="Match" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> <DetectSpaces />- <Detect2Chars char="/" char1="^" attribute="Regex Op" context="Regex"/>- <DetectChar char="/" attribute="Regex Op" context="Regex"/>+ <DetectChar char="/" attribute="Regex Op" context="#pop!Regex"/> </context>-<context name="Regex" attribute="Regex" lineEndContext="#stay">++<context name="Regex" attribute="Regex" lineEndContext="#pop"> <IncludeRules context="regex"/>- <DetectChar char="/" context="#pop#pop" attribute="Regex Op"/>+ <DetectChar char="/" context="#pop" attribute="Regex Op"/> </context>+ <context name="regex" attribute="Normal" lineEndContext="#stay">- <HlCStringChar attribute="Escape" context="#stay"/>- <DetectChar char="\" context="Regex Escape" attribute="Regex Op"/> <Detect2Chars char="[" char1="^" context="RegexChar" attribute="Regex Op"/> <DetectChar char="[" context="RegexChar" attribute="Regex Op"/>- <AnyChar String="$.+?*()|" context="#stay" attribute="Regex Op"/>+ <AnyChar String="^$.+?*()|" context="#stay" attribute="Regex Op"/>+ <DetectChar char="\" context="Regex Escape" attribute="Regex Op"/> </context>+ <context name="Regex Escape" attribute="Normal" lineEndContext="#pop">+ <RegExpr String="[<>sSwW`'[\]{}^$.+?*()|/\\abfnrtv]|x[0-9a-fA-F]{1,2}|[0-7]{1,3}" attribute="Escape" context="#pop"/> <RegExpr String="." attribute="Regex" context="#pop"/> </context> <context name="RegexChar" attribute="Regex" lineEndContext="#pop" fallthrough="true" fallthroughContext="InChar">- <Detect2Chars char="-" char1="]" context="InChar" attribute="Regex"/> <AnyChar String="-]" context="InChar" attribute="Regex"/> </context>-<context name="InChar" attribute="Regex" lineEndContext="#stay">- <HlCStringChar attribute="String" context="#stay"/>++<context name="InChar" attribute="Regex" lineEndContext="#pop#pop">+ <Detect2Chars char="-" char1="]" context="InCharEnd" attribute="Regex" lookAhead="true"/>+ <DetectChar char="-" context="#stay" attribute="Regex Op"/> <DetectChar char="\" context="Regex Escape" attribute="Regex Op"/>- <Detect2Chars char="-" char1="]" context="Regex Escape" lookAhead="true"/>+ <DetectChar char="[" context="CharClassSelect" attribute="Regex" lookAhead="true"/> <DetectChar char="]" context="#pop#pop" attribute="Regex Op"/>- <DetectChar char="-" context="#stay" attribute="Regex Op"/>- <RegExpr String="\[:(?=[_\w][_\d\w]*:\])" context="CharClass" attribute="Regex Op"/> </context>-<context name="CharClass" attribute="Custom" lineEndContext="#pop">- <RegExpr String="(alpha|alnum|blank|cntrl|digit|graph|lower|punct|space|upper|xdigit)(?=:\])"- attribute="CharClass" context="#stay"/>- <Detect2Chars char=":" char1="]" attribute="Regex Op" context="#pop"/>-</context> -<context name="MatchPattern" attribute="Normal" lineEndContext="#pop"- fallthrough="true" fallthroughContext="#pop">- <Detect2Chars char="/" char1="^" attribute="Regex Op" context="RegexPattern"/>- <DetectChar char="/" attribute="Regex Op" context="RegexPattern"/>+<context name="InCharEnd" attribute="Regex Op" lineEndContext="#stay">+ <DetectChar char="-" context="#stay" attribute="Regex"/>+ <DetectChar char="]" context="#pop#pop#pop" attribute="Regex Op"/> </context>-<context name="RegexPattern" attribute="Regex" lineEndContext="#stay">- <IncludeRules context="regex"/>- <DetectChar char="/" context="CheckRange" attribute="Regex Op"/>++<context name="CharClassSelect" attribute="Custom" lineEndContext="#pop#pop#pop#pop">+ <Detect2Chars char="[" char1=":" context="#pop!CharClass" attribute="CharClass"/>+ <Detect2Chars char="[" char1="." context="#pop!CollatingSymbols" attribute="CharClass"/>+ <Detect2Chars char="[" char1="=" context="#pop!EquivalenceClass" attribute="CharClass"/>+ <DetectChar char="[" context="#pop" attribute="Regex"/> </context>-<context name="CheckRange" attribute="Normal" lineEndContext="#pop#pop#pop"- fallthrough="true" fallthroughContext="#pop#pop#pop">- <RegExpr String="\s*,\s*(?=/)" context="RangePattern" attribute="Operator"/>++<context name="CharClass" attribute="Custom" lineEndContext="#pop#pop#pop#pop">+ <keyword String="charclass" attribute="CharClass" context="#stay"/>+ <Detect2Chars char=":" char1="]" attribute="CharClass" context="#pop"/>+ <DetectChar char="]" attribute="Error" context="#pop"/> </context>-<context name="RangePattern" attribute="Normal" lineEndContext="#pop#pop#pop#pop"- fallthrough="true" fallthroughContext="#pop#pop#pop#pop">- <Detect2Chars char="/" char1="^" attribute="Regex Op" context="Pattern2"/>- <DetectChar char="/" attribute="Regex Op" context="Pattern2"/>++<context name="CollatingSymbols" attribute="Custom" lineEndContext="#pop#pop#pop#pop">+ <Detect2Chars char="." char1="]" attribute="CharClass" context="#pop"/>+ <DetectChar char="]" attribute="Error" context="#pop"/> </context>-<context name="Pattern2" attribute="Regex" lineEndContext="#stay">- <IncludeRules context="regex"/>- <DetectChar char="/" context="#pop#pop#pop#pop#pop" attribute="Regex Op"/>++<context name="EquivalenceClass" attribute="Custom" lineEndContext="#pop#pop#pop#pop">+ <Detect2Chars char="=" char1="]" attribute="CharClass" context="#pop"/>+ <DetectChar char="]" attribute="Error" context="#pop"/> </context> <!-- END OF CONTEXTS --> </contexts> <itemDatas> <itemData name="Normal" defStyleNum="dsNormal"/>- <itemData name="Keyword" defStyleNum="dsKeyword"/>- <itemData name="Builtin" defStyleNum="dsBuiltIn"/>- <itemData name="Function" defStyleNum="dsFunction"/>+ <itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Builtin" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/> <itemData name="Decimal" defStyleNum="dsDecVal"/> <itemData name="Float" defStyleNum="dsFloat"/> <itemData name="String" defStyleNum="dsString"/>@@ -221,16 +271,18 @@ <itemData name="Error" defStyleNum="dsError"/> <itemData name="Special" defStyleNum="dsControlFlow" bold="0"/> <itemData name="Operator" defStyleNum="dsOperator"/>- <itemData name="Regex" defStyleNum="dsSpecialString"/>+ <itemData name="Symbol" defStyleNum="dsNormal"/>+ <itemData name="Separator Symbol" defStyleNum="dsNormal"/>+ <itemData name="Regex" defStyleNum="dsSpecialString" spellChecking="false"/> <itemData name="Regex Op" defStyleNum="dsOthers"/>- <itemData name="CharClass" defStyleNum="dsExtension"/>- <itemData name="Custom" defStyleNum="dsOthers" />+ <itemData name="CharClass" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Custom" defStyleNum="dsOthers" spellChecking="false"/> </itemDatas> </highlighting> <general> <comments> <comment name="singleLine" start="#"/> </comments>- <keywords casesensitive="1" />+ <keywords casesensitive="1" weakDeliminator="@"/> </general> </language>
xml/bash.xml view
@@ -8,7 +8,7 @@ <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following --> <!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- valid character in a file name --> ]>-<language name="Bash" version="8" kateversion="5.0" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.nix;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">+<language name="Bash" version="9" kateversion="5.0" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.nix;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> <!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl) Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)@@ -615,14 +615,27 @@ <!-- FindOthers contains various rules to mark different shell input --> <context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">- <RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&<>* ]" />+ <IncludeRules context="Escapes" /> <RegExpr attribute="Keyword" context="#stay" String="\\$" />- <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />+ <!-- Only highlighting closed braces. The "BraceExpansion" context corrects+ the closure of braces and allows recursive braces (bug #387915). -->+ <RegExpr attribute="Escape" context="BraceExpansion" String="\{(?=(\\[ \{\}]|[^\s\{\}]|\{(\\[ ]|\S)*\})+\})" /> <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" /> <RegExpr attribute="Path" context="#stay" String="~\w*" /> <RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'"]|$))" /> <!-- TODO: shell globs beside * and ? (in Path's) --> </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="Escapes">+ <RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&<>* ]" />+ </context>+ <context attribute="Escape" lineEndContext="#pop" name="BraceExpansion">+ <DetectSpaces context="#pop" lookAhead="true" />+ <DetectChar attribute="Escape" context="#pop" char="}" />+ <DetectChar attribute="Escape" context="BraceExpansion" char="{" />+ <RegExpr attribute="Error" context="#stay" String="[^\s\{\}\\](?=\s|$)" />+ <IncludeRules context="Escapes" />+ <IncludeRules context="FindSubstitutions" />+ </context> <!-- FindStrings looks for single and double quoted strings, also with $-prefix --> <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">@@ -800,7 +813,7 @@ <context attribute="Error" lineEndContext="#stay" name="VarBrace"> <DetectChar attribute="Variable" context="#pop" char="}" /> <DetectChar attribute="Variable" context="Subscript" char="[" />- <RegExpr attribute="Variable" context="VarAlt" String="(:?[-=?+]|##?|%%?)" />+ <RegExpr attribute="Variable" context="VarAlt" String="(:?[-=?+@]|##?|%%?|\^\^?|,,?)" /> <RegExpr attribute="Variable" context="VarSubst" String="//?" /> <DetectChar attribute="Variable" context="VarSub" char=":" /> </context>@@ -827,16 +840,18 @@ <!-- VarSub is to substrings of variables --> <context attribute="Error" lineEndContext="#stay" name="VarSub">+ <DetectSpaces attribute="Variable" context="#stay" /> <DetectChar attribute="Variable" context="VarSub2" char=":" /> <DetectChar attribute="Variable" context="#pop#pop" char="}" /> <RegExpr attribute="Variable" context="#stay" String="&varname;" />- <RegExpr attribute="Variable" context="#stay" String="[0-9]+(?=[:}])" />+ <RegExpr attribute="Variable" context="#stay" String="([\-\+]\s*)?[0-9]+\s*(?=[:}])" /> <IncludeRules context="FindSubstitutions" /> </context> <context attribute="Error" lineEndContext="#stay" name="VarSub2">+ <DetectSpaces attribute="Variable" context="#stay" /> <DetectChar attribute="Variable" context="#pop#pop#pop" char="}" /> <RegExpr attribute="Variable" context="#stay" String="&varname;" />- <RegExpr attribute="Variable" context="#stay" String="[0-9](?=[:}])" />+ <RegExpr attribute="Variable" context="#stay" String="([\-\+]\s*)?[0-9]+\s*(?=[:}])" /> <IncludeRules context="FindSubstitutions" /> </context>
xml/c.xml view
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> <language name="C" section="Sources"- version="4" kateversion="5.0"+ version="5" kateversion="5.0" indenter="cstyle" extensions="*.c;*.C;*.h" mimetype="text/x-csrc;text/x-c++src;text/x-chdr"@@ -119,28 +119,32 @@ <DetectIdentifier /> <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/> <RegExpr attribute="Binary" context="#stay" String="0b[01]+[ul]{0,3}" insensitive="true" />- <Int attribute="Decimal" context="#stay" >- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar attribute="String" context="String" char="""/> <IncludeRules context="##Doxygen" /> <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/> <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>+ </context>++ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>++ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String">
xml/clojure.xml view
@@ -22,7 +22,7 @@ * Boston, MA 02110-1301, USA. * ********************************************************************** -->-<language version="9" kateversion="5.0" name="Clojure" section="Sources" extensions="*.clj;*.cljs;*.cljc" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPLv2+">+<language version="10" kateversion="5.0" name="Clojure" section="Sources" extensions="*.clj;*.cljs;*.cljc" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPLv2+"> <highlighting> <list name="definitions"> <item>def</item>@@ -736,13 +736,15 @@ <RegExpr attribute="BaseN" context="#stay" String="0[xX][0-9A-Fa-f]+"/> <RegExpr attribute="BaseN" context="#stay" String="([12]?[0-9]|3[0-6])[rR][0-9a-zA-Z]+"/> <RegExpr attribute="Error" context="#stay" String="(3[7-9]|[0-9]*[4-9][0-9]+)[rR][0-9a-zA-Z]+"/>- <Float attribute="Float" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="M" insensitive="false"/>- </Float>- <Int attribute="Decimal" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="N" insensitive="false"/>- </Int>+ <Float attribute="Float" context="Float Suffixes"/>+ <Int attribute="Decimal" context="Int Suffixes"/> <DetectChar attribute="Brackets1" context="Level1" char="("/>+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Float" context="#pop" String="M" insensitive="false"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="N" insensitive="false"/> </context> <context name="Comment" attribute="Comment" lineEndContext="#pop"> <RegExpr String="(FIXME|TODO):?" attribute="Alert" context="#stay"/>
xml/cmake.xml view
@@ -31,7 +31,7 @@ <language name="CMake"- version="6"+ version="8" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;*.cmake.in"@@ -89,6 +89,7 @@ <item>unset</item> <item>variable_watch</item> <item>while</item>+ <item>add_compile_definitions</item> <item>add_compile_options</item> <item>add_custom_command</item> <item>add_custom_target</item>@@ -269,6 +270,7 @@ <list name="file_nargs"> <item>APPEND</item> <item>CONDITION</item>+ <item>CONFIGURE_DEPENDS</item> <item>CONTENT</item> <item>COPY</item> <item>DESTINATION</item>@@ -336,6 +338,8 @@ <item>TIMESTAMP</item> <item>TLS_CAINFO</item> <item>TLS_VERIFY</item>+ <item>TOUCH</item>+ <item>TOUCH_NOCREATE</item> <item>TO_CMAKE_PATH</item> <item>TO_NATIVE_PATH</item> <item>UPLOAD</item>@@ -541,19 +545,30 @@ </list> <list name="list_nargs"> <item>APPEND</item>+ <item>AT</item> <item>EXCLUDE</item> <item>FILTER</item> <item>FIND</item>+ <item>FOR</item>+ <item>GENEX_STRIP</item> <item>GET</item> <item>INCLUDE</item> <item>INSERT</item>+ <item>JOIN</item> <item>LENGTH</item>+ <item>OUTPUT_VARIABLE</item>+ <item>PREPEND</item> <item>REGEX</item> <item>REMOVE_AT</item> <item>REMOVE_DUPLICATES</item> <item>REMOVE_ITEM</item>+ <item>REPLACE</item> <item>REVERSE</item> <item>SORT</item>+ <item>STRIP</item>+ <item>SUBLIST</item>+ <item>TOLOWER</item>+ <item>TRANSFORM</item> </list> <list name="mark_as_advanced_nargs"> <item>CLEAR</item>@@ -618,6 +633,7 @@ <item>GENEX_STRIP</item> <item>GREATER</item> <item>GREATER_EQUAL</item>+ <item>JOIN</item> <item>LENGTH</item> <item>LESS</item> <item>LESS_EQUAL</item>@@ -822,6 +838,7 @@ <item>INCLUDES</item> <item>LIBRARY</item> <item>MESSAGE_NEVER</item>+ <item>NAMELINK_COMPONENT</item> <item>NAMELINK_ONLY</item> <item>NAMELINK_SKIP</item> <item>NAMESPACE</item>@@ -865,11 +882,14 @@ </list> <list name="project_nargs"> <item>DESCRIPTION</item>+ <item>HOMEPAGE_URL</item> <item>LANGUAGES</item> <item>VERSION</item> </list> <list name="project_sargs">+ <item>ASM</item> <item>C</item>+ <item>CUDA</item> <item>CXX</item> <item>Fortran</item> <item>NONE</item>@@ -957,6 +977,7 @@ <item>cxx_std_11</item> <item>cxx_std_14</item> <item>cxx_std_17</item>+ <item>cxx_std_20</item> <item>cxx_std_98</item> <item>cxx_strong_enums</item> <item>cxx_template_template_parameters</item>@@ -1213,6 +1234,7 @@ <item>CMAKE_DEPENDS_IN_PROJECT_ONLY</item> <item>CMAKE_DIRECTORY_LABELS</item> <item>CMAKE_DL_LIBS</item>+ <item>CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION</item> <item>CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES</item> <item>CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT</item> <item>CMAKE_ECLIPSE_MAKE_ARGUMENTS</item>@@ -1247,6 +1269,7 @@ <item>CMAKE_FIND_ROOT_PATH_MODE_LIBRARY</item> <item>CMAKE_FIND_ROOT_PATH_MODE_PACKAGE</item> <item>CMAKE_FIND_ROOT_PATH_MODE_PROGRAM</item>+ <item>CMAKE_FOLDER</item> <item>CMAKE_FRAMEWORK_PATH</item> <item>CMAKE_Fortran_FORMAT</item> <item>CMAKE_Fortran_MODDIR_DEFAULT</item>@@ -1379,7 +1402,13 @@ <item>CMAKE_PREFIX_PATH</item> <item>CMAKE_PROGRAM_PATH</item> <item>CMAKE_PROJECT_DESCRIPTION</item>+ <item>CMAKE_PROJECT_HOMEPAGE_URL</item> <item>CMAKE_PROJECT_NAME</item>+ <item>CMAKE_PROJECT_VERSION</item>+ <item>CMAKE_PROJECT_VERSION_MAJOR</item>+ <item>CMAKE_PROJECT_VERSION_MINOR</item>+ <item>CMAKE_PROJECT_VERSION_PATCH</item>+ <item>CMAKE_PROJECT_VERSION_TWEAK</item> <item>CMAKE_RANLIB</item> <item>CMAKE_REQUIRED_DEFINITIONS</item> <item>CMAKE_REQUIRED_FLAGS</item>@@ -1411,6 +1440,7 @@ <item>CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE</item> <item>CMAKE_SUPPRESS_DEVELOPER_ERRORS</item> <item>CMAKE_SUPPRESS_DEVELOPER_WARNINGS</item>+ <item>CMAKE_SUPPRESS_REGENERATION</item> <item>CMAKE_SWIG_FLAGS</item> <item>CMAKE_SWIG_OUTDIR</item> <item>CMAKE_SYSROOT</item>@@ -1453,6 +1483,13 @@ <item>CMAKE_VS_PLATFORM_TOOLSET</item> <item>CMAKE_VS_PLATFORM_TOOLSET_CUDA</item> <item>CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE</item>+ <item>CMAKE_VS_SDK_EXCLUDE_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_INCLUDE_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_LIBRARY_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_REFERENCE_DIRECTORIES</item>+ <item>CMAKE_VS_SDK_SOURCE_DIRECTORIES</item> <item>CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION</item> <item>CMAKE_WARN_DEPRECATED</item> <item>CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION</item>@@ -1593,14 +1630,33 @@ <item>CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP</item> <item>CPACK_NSIS_PACKAGE_NAME</item> <item>CPACK_NSIS_URL_INFO_ABOUT</item>+ <item>CPACK_NUGET_COMPONENT_INSTALL</item>+ <item>CPACK_NUGET_PACKAGE_AUTHORS</item>+ <item>CPACK_NUGET_PACKAGE_COPYRIGHT</item>+ <item>CPACK_NUGET_PACKAGE_DEBUG</item>+ <item>CPACK_NUGET_PACKAGE_DEPENDENCIES</item>+ <item>CPACK_NUGET_PACKAGE_DESCRIPTION</item>+ <item>CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY</item>+ <item>CPACK_NUGET_PACKAGE_HOMEPAGE_URL</item>+ <item>CPACK_NUGET_PACKAGE_ICONURL</item>+ <item>CPACK_NUGET_PACKAGE_LICENSEURL</item>+ <item>CPACK_NUGET_PACKAGE_NAME</item>+ <item>CPACK_NUGET_PACKAGE_OWNERS</item>+ <item>CPACK_NUGET_PACKAGE_RELEASE_NOTES</item>+ <item>CPACK_NUGET_PACKAGE_TAGS</item>+ <item>CPACK_NUGET_PACKAGE_TITLE</item>+ <item>CPACK_NUGET_PACKAGE_VERSION</item> <item>CPACK_OSX_PACKAGE_VERSION</item> <item>CPACK_OUTPUT_CONFIG_FILE</item> <item>CPACK_PACKAGE_CHECKSUM</item>+ <item>CPACK_PACKAGE_CONTACT</item>+ <item>CPACK_PACKAGE_DESCRIPTION</item> <item>CPACK_PACKAGE_DESCRIPTION_FILE</item> <item>CPACK_PACKAGE_DESCRIPTION_SUMMARY</item> <item>CPACK_PACKAGE_DIRECTORY</item> <item>CPACK_PACKAGE_EXECUTABLES</item> <item>CPACK_PACKAGE_FILE_NAME</item>+ <item>CPACK_PACKAGE_HOMEPAGE_URL</item> <item>CPACK_PACKAGE_ICON</item> <item>CPACK_PACKAGE_INSTALL_DIRECTORY</item> <item>CPACK_PACKAGE_INSTALL_REGISTRY_KEY</item>@@ -1823,6 +1879,7 @@ <item>MSVC80</item> <item>MSVC90</item> <item>MSVC_IDE</item>+ <item>MSVC_TOOLSET_VERSION</item> <item>MSVC_VERSION</item> <item>PACKAGE_FIND_NAME</item> <item>PACKAGE_FIND_VERSION</item>@@ -1835,8 +1892,12 @@ <item>PACKAGE_VERSION_COMPATIBLE</item> <item>PACKAGE_VERSION_EXACT</item> <item>PACKAGE_VERSION_UNSUITABLE</item>+ <item>PKG_CONFIG_EXECUTABLE</item>+ <item>PKG_CONFIG_USE_CMAKE_PREFIX_PATH</item>+ <item>PKG_CONFIG_VERSION_STRING</item> <item>PROJECT_BINARY_DIR</item> <item>PROJECT_DESCRIPTION</item>+ <item>PROJECT_HOMEPAGE_URL</item> <item>PROJECT_NAME</item> <item>PROJECT_SOURCE_DIR</item> <item>PROJECT_VERSION</item>@@ -1919,6 +1980,7 @@ <item>RULE_LAUNCH_LINK</item> <item>SOURCE_DIR</item> <item>SUBDIRECTORIES</item>+ <item>TESTS</item> <item>TEST_INCLUDE_FILE</item> <item>TEST_INCLUDE_FILES</item> <item>VARIABLES</item>@@ -1961,6 +2023,7 @@ <item>BUILD_WITH_INSTALL_RPATH</item> <item>BUNDLE</item> <item>BUNDLE_EXTENSION</item>+ <item>COMMON_LANGUAGE_RUNTIME</item> <item>COMPATIBLE_INTERFACE_BOOL</item> <item>COMPATIBLE_INTERFACE_NUMBER_MAX</item> <item>COMPATIBLE_INTERFACE_NUMBER_MIN</item>@@ -1986,10 +2049,12 @@ <item>C_STANDARD_REQUIRED</item> <item>DEFINE_SYMBOL</item> <item>DEPLOYMENT_REMOTE_DIRECTORY</item>+ <item>DOTNET_TARGET_FRAMEWORK_VERSION</item> <item>ENABLE_EXPORTS</item> <item>EXCLUDE_FROM_ALL</item> <item>EXCLUDE_FROM_DEFAULT_BUILD</item> <item>EXPORT_NAME</item>+ <item>EXPORT_PROPERTIES</item> <item>EchoString</item> <item>FOLDER</item> <item>FRAMEWORK</item>@@ -2001,6 +2066,7 @@ <item>HAS_CXX</item> <item>IMPLICIT_DEPENDS_INCLUDE_TRANSFORM</item> <item>IMPORTED</item>+ <item>IMPORTED_COMMON_LANGUAGE_RUNTIME</item> <item>IMPORTED_CONFIGURATIONS</item> <item>IMPORTED_GLOBAL</item> <item>IMPORTED_IMPLIB</item>@@ -2079,6 +2145,7 @@ <item>VERSION</item> <item>VISIBILITY_INLINES_HIDDEN</item> <item>VS_CONFIGURATION_TYPE</item>+ <item>VS_DEBUGGER_COMMAND</item> <item>VS_DEBUGGER_WORKING_DIRECTORY</item> <item>VS_DESKTOP_EXTENSIONS_VERSION</item> <item>VS_DOTNET_REFERENCES</item>@@ -2141,6 +2208,7 @@ <item>VS_SHADER_ENTRYPOINT</item> <item>VS_SHADER_FLAGS</item> <item>VS_SHADER_MODEL</item>+ <item>VS_SHADER_OBJECT_FILE_NAME</item> <item>VS_SHADER_OUTPUT_HEADER_FILE</item> <item>VS_SHADER_TYPE</item> <item>VS_SHADER_VARIABLE_NAME</item>@@ -2166,6 +2234,7 @@ <item>MEASUREMENT</item> <item>PASS_REGULAR_EXPRESSION</item> <item>PROCESSORS</item>+ <item>PROCESSOR_AFFINITY</item> <item>REQUIRED_FILES</item> <item>RESOURCE_LOCK</item> <item>RUN_SERIAL</item>@@ -2208,9 +2277,11 @@ <item>C_COMPILER_ID</item> <item>C_COMPILER_VERSION</item> <item>EQUAL</item>+ <item>GENEX_EVAL</item> <item>IF</item> <item>INSTALL_INTERFACE</item> <item>INSTALL_PREFIX</item>+ <item>IN_LIST</item> <item>JOIN</item> <item>LINK_ONLY</item> <item>LOWER_CASE</item>@@ -2223,13 +2294,16 @@ <item>STREQUAL</item> <item>TARGET_BUNDLE_CONTENT_DIR</item> <item>TARGET_BUNDLE_DIR</item>+ <item>TARGET_EXISTS</item> <item>TARGET_FILE</item> <item>TARGET_FILE_DIR</item> <item>TARGET_FILE_NAME</item>+ <item>TARGET_GENEX_EVAL</item> <item>TARGET_LINKER_FILE</item> <item>TARGET_LINKER_FILE_DIR</item> <item>TARGET_LINKER_FILE_NAME</item> <item>TARGET_NAME</item>+ <item>TARGET_NAME_IF_EXISTS</item> <item>TARGET_OBJECTS</item> <item>TARGET_PDB_FILE</item> <item>TARGET_PDB_FILE_DIR</item>@@ -2297,6 +2371,7 @@ <WordDetect String="unset" insensitive="true" attribute="Command" context="unset_ctx" /> <WordDetect String="variable_watch" insensitive="true" attribute="Command" context="variable_watch_ctx" /> <WordDetect String="while" insensitive="true" attribute="Command" context="while_ctx" />+ <WordDetect String="add_compile_definitions" insensitive="true" attribute="Command" context="add_compile_definitions_ctx" /> <WordDetect String="add_compile_options" insensitive="true" attribute="Command" context="add_compile_options_ctx" /> <WordDetect String="add_custom_command" insensitive="true" attribute="Command" context="add_custom_command_ctx" /> <WordDetect String="add_custom_target" insensitive="true" attribute="Command" context="add_custom_target_ctx" />@@ -2354,9 +2429,10 @@ <WordDetect String="ctest_update" insensitive="true" attribute="Command" context="ctest_update_ctx" /> <WordDetect String="ctest_upload" insensitive="true" attribute="Command" context="ctest_upload_ctx" /> <RegExpr attribute="Region Marker" context="RST Documentation" String="^#\[(=*)\[\.rst:" column="0" />- <RegExpr attribute="Comment" context="Bracketed Comment" String="^#\[(=*)\[" column="0" />+ <RegExpr attribute="Comment" context="Bracketed Comment" String="#\[(=*)\[" /> <DetectChar attribute="Comment" context="Comment" char="#" /> <DetectIdentifier attribute="User Function/Macro" context="User Function" />+ <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> <!-- Include keywords matching for language autocompleter work --> <keyword attribute="Command" context="#stay" String="commands" /> </context>@@ -2768,6 +2844,13 @@ <keyword attribute="Named Args" context="#stay" String="while_nargs" /> <IncludeRules context="User Function Args" /> </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_definitions_ctx">+ <DetectChar attribute="Normal Text" context="add_compile_definitions_ctx_op" char="(" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_definitions_ctx_op">+ <IncludeRules context="EndCmdPop2" />+ <IncludeRules context="User Function Args" />+ </context> <context attribute="Normal Text" lineEndContext="#stay" name="add_compile_options_ctx"> <DetectChar attribute="Normal Text" context="add_compile_options_ctx_op" char="(" /> </context>@@ -3319,7 +3402,10 @@ <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_VERSION_MINOR\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_VERSION_PATCH\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_VERSION_TWEAK\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_ROOT\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;__TRYRUN_OUTPUT\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_CONSIDERED_CONFIGS\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_CONSIDERED_VERSIONS\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_FIND_COMPONENTS\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_FIND_QUIETLY\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\b&id_re;_FIND_REQUIRED\b" />@@ -3446,6 +3532,22 @@ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SOURCE\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SUGGESTS\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NSIS_&id_re;_INSTALL_DIRECTORY\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_AUTHORS\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_COPYRIGHT\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_DEPENDENCIES\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_DEPENDENCIES_&id_re;_VERSION\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_DESCRIPTION\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_DESCRIPTION_SUMMARY\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_HOMEPAGE_URL\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_ICONURL\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_LICENSEURL\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_NAME\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_OWNERS\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_RELEASE_NOTES\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_TAGS\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_TITLE\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_VERSION\b" />+ <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_PACKAGE_DEPENDENCIES_&id_re;_VERSION\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_DIR_PERMISSIONS\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_FILE_PERMISSIONS\b" /> <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_GROUP\b" />@@ -3488,6 +3590,7 @@ <context attribute="Normal Text" lineEndContext="#stay" name="Detect Variable Substitutions"> <RegExpr attribute="Environment Variable Substitution" context="#stay" String="\$ENV\{\s*[\w-]+\s*\}" /> <Detect2Chars attribute="Variable Substitution" context="VarSubst" char="$" char1="{" />+ <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&id_re;@" lookAhead="true" /> </context> <context attribute="Variable Substitution" lineEndContext="#pop" name="VarSubst">@@ -3497,12 +3600,23 @@ <IncludeRules context="Detect Variable Substitutions" /> </context> + <context attribute="@Variable Substitution" lineEndContext="#pop" name="@VarSubst">+ <DetectChar attribute="@Variable Substitution" context="VarSubst@" char="@" />+ </context>++ <context attribute="@Variable Substitution" lineEndContext="#pop#pop" name="VarSubst@">+ <IncludeRules context="Detect Builtin Variables" />+ <DetectIdentifier />+ <DetectChar attribute="@Variable Substitution" context="#pop#pop" char="@" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="User Function Args"> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="(" /> <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" /> <RegExpr attribute="Escapes" context="#stay" String="\\["$n\\]" /> <DetectChar attribute="Strings" context="String" char=""" /> <RegExpr attribute="Strings" context="Bracketed String" String="\[(=*)\[" />+ <RegExpr attribute="Comment" context="Bracketed Comment" String="#\[(=*)\[" /> <DetectChar attribute="Comment" context="Comment" char="#" /> <IncludeRules context="Detect Builtin Variables" /> <IncludeRules context="Detect Variable Substitutions" />@@ -3533,7 +3647,7 @@ </context> <context attribute="Comment" lineEndContext="#stay" name="Bracketed Comment" dynamic="true">- <RegExpr attribute="Comment" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" />+ <RegExpr attribute="Comment" context="#pop" String=".*\]%1\]" dynamic="true" /> <IncludeRules context="##Alerts" /> <IncludeRules context="##Modelines" /> </context>@@ -3578,6 +3692,7 @@ <itemData name="Escapes" defStyleNum="dsChar" spellChecking="false" /> <itemData name="Builtin Variable" defStyleNum="dsDecVal" color="#c09050" selColor="#c09050" spellChecking="false" /> <itemData name="Variable Substitution" defStyleNum="dsDecVal" spellChecking="false" />+ <itemData name="@Variable Substitution" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Internal Name" defStyleNum="dsDecVal" color="#303030" selColor="#303030" spellChecking="false" /> <itemData name="Environment Variable Substitution" defStyleNum="dsFloat" spellChecking="false" /> <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" />
xml/coffee.xml view
@@ -2,11 +2,11 @@ <!DOCTYPE language SYSTEM "language.dtd"> <language name="CoffeeScript"- version="3"+ version="8" kateversion="3.4" section="Scripts"- extensions="Cakefile;*.coffee;*.coco"- mimetype="text/x-coffeescript;application/x-coffeescript"+ extensions="Cakefile;*.coffee;*.coco;*.cson"+ mimetype="text/x-coffeescript;application/x-coffeescript;application/vnd.coffeescript" indenter="python" casesensitive="1" author="Max Shawabkeh (max99x@gmail.com)"@@ -166,6 +166,7 @@ <DetectChar attribute="String" context="String" char="'"/> <DetectChar attribute="String" context="Rich String" char="""/> <!-- Embedded JavaScript. -->+ <StringDetect attribute="Javascript" context="Javascript Triple Backticks" String="```" beginRegion="Javascript TB"/> <DetectChar attribute="Javascript" context="Javascript" char="`" beginRegion="Javascript"/> <!-- Comments. --> <StringDetect attribute="Comment" context="Multiline Comment" String="###" beginRegion="Comment"/>@@ -173,6 +174,8 @@ <!-- Regular expressions. --> <StringDetect attribute="Regex" context="Multiline Regex" String="///" beginRegion="Multiline Regex"/> <RegExpr attribute="Regex" context="#stay" String="/([^/\\\r\n]|\\.)*/[mig]{0,3}"/>+ <!-- Member objects. -->+ <DetectChar attribute="Symbol" context="Member Object" char="."/> <!-- Operators and other non-alphanumeric symbols. --> <AnyChar attribute="Symbol" context="#stay" String="():!%&+,-/.*<=>?[]|~^;{}"/> </context>@@ -187,44 +190,107 @@ <DetectSpaces/> <RegExpr attribute="Class" context="#pop" String="[@$:.\w\[\]]+"/> </context>+ <!-- Member objects. -->+ <context name="Member Object" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Identifier" context="#pop" String="\s*[_$a-z][$\w]*" insensitive="true"/>+ </context> <!-- Comments. --> <context name="Comment" attribute="Comment" lineEndContext="#pop">- <IncludeRules context="##Alerts_indent"/>+ <IncludeRules context="##Alerts"/> </context> <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="1"> <StringDetect attribute="Comment" context="#pop" String="###" endRegion="Comment"/>- <IncludeRules context="##Alerts_indent"/>+ <IncludeRules context="##Alerts"/> </context> <!-- Single-line strings. --> <context name="String" attribute="String" lineEndContext="#stay">- <HlCStringChar attribute="String" context="#stay"/>+ <IncludeRules context="Escape"/> <DetectChar attribute="String" context="#pop" char="'"/> </context> <context name="Rich String" attribute="String" lineEndContext="#stay">- <HlCStringChar attribute="String" context="#stay"/>+ <IncludeRules context="Escape"/> <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/> <DetectChar attribute="String" context="#pop" char="""/> </context> <!-- Multi-line strings. --> <context name="Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">- <HlCStringChar attribute="String" context="#stay"/>+ <IncludeRules context="Escape"/> <StringDetect attribute="String" context="#pop" String="'''" endRegion="Heredoc"/> </context> <context name="Rich Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">- <HlCStringChar attribute="String" context="#stay"/>+ <IncludeRules context="Escape"/> <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/> <StringDetect attribute="String" context="#pop" String=""""" endRegion="Rich Heredoc"/> </context>+ <!-- Escaped characters. -->+ <context name="Escape" attribute="String" lineEndContext="#stay">+ <!-- Hexadecimal, unicode & reserved character escape sequences. -->+ <RegExpr attribute="Escape" context="#stay" String="\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}|[\\0bfnrtv"'])"/>+ <!-- Invalid escapes. Octal escape sequences are not allowed. -->+ <RegExpr attribute="Error" context="#stay" String="\\[ux1-7]"/>+ <!-- Make any character literal. -->+ <RegExpr attribute="Literal Character Escape" context="#stay" String="\\."/>+ <LineContinue attribute="Escape" context="#stay"/>+ </context> <!-- Expressions embedded in strings. --> <context name="Embedding" attribute="Normal" lineEndContext="#stay"> <DetectChar attribute="Embedding" context="#pop" char="}"/> </context>- <!-- Embedded Javascript. -->- <context name="Javascript" attribute="Javascript" lineEndContext="#stay" noIndentationBasedFolding="1">++ <!-- Embedded Javascript (one backtick). -->+ <context name="Javascript" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> <DetectChar attribute="Javascript" context="#pop" char="`" endRegion="Javascript"/>- <!-- NOTE: This hides errors where a backtick is embedded in a JS string. -->+ <!-- NOTE: This hides errors where a backtick is embedded in a JS string or a comment. -->+ <IncludeRules context="Overwrite Javascript"/> <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> </context>+ <!-- Allow template strings in JavaScript embedded code (with one backtick). -->+ <context name="Overwrite Javascript" attribute="Javascript" lineEndContext="#stay" noIndentationBasedFolding="1">+ <!-- JavaScript Template. -->+ <Detect2Chars attribute="JavaScript Template" context="Javascript Template" char="\" char1="`"/>+ <RegExpr attribute="Error" context="#stay" String="String\.raw(?=`)"/>+ <StringDetect attribute="JavaScript Template" context="Javascript RawTemplate" String="String.raw\`"/>+ <!-- Contexts of javascript.xml. -->+ <DetectChar attribute="JavaScript Symbol" context="JavaScript Object" char="{" beginRegion="Brace" />+ </context>+ <context name="JavaScript Object" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1">+ <DetectChar context="#pop" char="`" lookAhead="true"/>+ <DetectChar attribute="JavaScript Symbol" context="#pop" char="}" endRegion="Brace"/>+ <IncludeRules context="Overwrite Javascript"/>+ <IncludeRules context="Object##JavaScript"/>+ </context>+ <context name="Javascript Template" attribute="JavaScript Template" lineEndContext="#stay" noIndentationBasedFolding="1">+ <RegExpr attribute="Escape" context="#stay" String="\\\\\\`"/>+ <Detect2Chars attribute="JavaScript Template" context="#pop" char="\" char1="`"/> <!-- End template. -->+ <DetectChar context="#pop" char="`" lookAhead="true"/>+ <Detect2Chars attribute="JavaScript Substitution" context="Javascript Substitution" char="$" char1="{"/>+ <IncludeRules context="Template##JavaScript"/>+ <RegExpr attribute="Error" context="#stay" String="([^\\\s](?=`)|\S(?=\s+`))"/>+ </context>+ <context name="Javascript RawTemplate" attribute="JavaScript Template" lineEndContext="#stay">+ <Detect2Chars attribute="JavaScript Template" context="#stay" char="\" char1="\"/>+ <Detect2Chars attribute="JavaScript Template" context="#pop" char="\" char1="`"/>+ <DetectChar context="#pop" char="`" lookAhead="true"/>+ <RegExpr attribute="Error" context="#stay" String="([^\\\s](?=`)|\S(?=\s+`))"/>+ </context>+ <context name="Javascript Substitution" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1">+ <DetectChar attribute="Javascript" context="#pop" char="`" lookAhead="true"/>+ <DetectChar context="#pop" attribute="JavaScript Substitution" char="}"/>+ <IncludeRules context="Overwrite Javascript"/>+ <IncludeRules context="Substitution##JavaScript"/>+ </context>+ <!-- Embedded Javascript (triple backticks). -->+ <context name="Javascript Triple Backticks" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1">+ <StringDetect attribute="Javascript" context="#pop" String="```" endRegion="Javascript TB"/>+ <DetectChar attribute="JavaScript Symbol" context="JavaScript-TB Object" char="{" beginRegion="Brace"/>+ <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>+ </context>+ <context name="JavaScript-TB Object" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1">+ <StringDetect attribute="Javascript" context="#pop" String="```" lookAhead="true"/>+ <DetectChar attribute="JavaScript Symbol" context="#pop" char="}" endRegion="Brace"/>+ <DetectChar attribute="JavaScript Symbol" context="JavaScript-TB Object" char="{" beginRegion="Brace"/>+ <IncludeRules context="Object##JavaScript"/>+ </context> </contexts> <!-- Style mappings. --> <itemDatas>@@ -250,17 +316,23 @@ <!-- Context-sensitive globals - not styled by default. --> <itemData name="Browser Globals" defStyleNum="dsNormal" spellChecking="false"/> <itemData name="Node.js Globals" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Escape" defStyleNum="dsSpecialChar" spellChecking="false" />+ <itemData name="Literal Character Escape" defStyleNum="dsChar" spellChecking="false" />+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>++ <itemData name="JavaScript Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="JavaScript Template" defStyleNum="dsVerbatimString"/>+ <itemData name="JavaScript Substitution" defStyleNum="dsSpecialChar" spellChecking="false"/> </itemDatas> </highlighting> <!-- Global settings. --> <general>- <indentation mode="python"/> <folding indentationsensitive="1"/> <comments> <comment name="singleLine" start="#"/> <comment name="multiLine" start="###" end="###" region="Comment"/> </comments>- <keywords casesensitive="1" additionalDeliminator="#'"/>+ <keywords casesensitive="1" additionalDeliminator="#'`"/> <emptyLines> <emptyLine regexpr="(?:\s+|\s*#.*)"/> </emptyLines>
xml/cs.xml view
@@ -1,5 +1,5 @@ <!DOCTYPE language SYSTEM "language.dtd">-<language name="C#" version="3" kateversion="5.0" section="Sources" extensions="*.cs" mimetype="text/x-csharp-src;text/x-csharp-hde">+<language name="C#" version="5" kateversion="5.0" section="Sources" extensions="*.cs" mimetype="text/x-csharp-src;text/x-csharp-hde" indenter="cstyle" style="C++"> <highlighting> <list name="keywords"> <item>abstract</item>@@ -94,21 +94,10 @@ <context attribute="Normal Text" lineEndContext="#stay" name="Normal"> <keyword attribute="Keyword" context="#stay" String="keywords"/> <keyword attribute="Data Type" context="#stay" String="types" />- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay" >- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar attribute="String" context="String" char="""/> <IncludeRules context="##Doxygen" />@@ -126,6 +115,19 @@ <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" /> <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" /> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String"> <LineContinue attribute="String" context="#pop"/>
xml/css.xml view
@@ -1,1053 +1,1732 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [- <!-- http://www.w3.org/TR/CSS21/syndata.html#tokenization -->- <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">- <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">-]>--<!----Kate CSS syntax highlighting definition--Changelog:--- Version 4, by Guo Yunhe guoyunhebrave@gmail.com-- Remake for complex CSS syntax, avoid errors--- Version 2.13, by Guo Yunhe-- Add all W3C Work Draft properties--- Version 2.06, by Mte90:-- CSS3 tag--- Version 2.03, by Milian Wolff:-- Make it spelling aware--- Version 2.08, Joseph Wenninger:-- CSS3 media queries---->--<language name="CSS" version="6" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">-- <highlighting>- <list name="properties">- <!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties -->- <item>azimuth</item>- <item>align-content</item>- <item>align-items</item>- <item>align-self</item>- <item>alignment-baseline</item>- <item>all</item>- <item>animation-name</item>- <item>animation-duration</item>- <item>animation-iteration-count</item>- <item>animation-direction</item>- <item>animation-delay</item>- <item>animation-play-state</item>- <item>animation-fill-mode</item>- <item>animation-timing-function</item>- <item>backface-visibility</item>- <item>background</item>- <item>background-attachment</item>- <item>background-blend-mode</item>- <item>background-break</item>- <item>background-clip</item>- <item>background-color</item>- <item>background-image</item>- <item>background-origin</item>- <item>background-position</item>- <item>background-repeat</item>- <item>background-size</item>- <item>baseline-shift</item>- <item>bookmark-label</item>- <item>bookmark-level</item>- <item>bookmark-level</item>- <item>border</item>- <item>border-bottom</item>- <item>border-bottom-color</item>- <item>border-bottom-image</item>- <item>border-bottom-style</item>- <item>border-bottom-width</item>- <item>border-bottom-left-image</item>- <item>border-bottom-left-radius</item>- <item>border-bottom-right-image</item>- <item>border-bottom-right-radius</item>- <item>border-boundary</item>- <item>border-collapse</item>- <item>border-color</item>- <item>border-corner-image</item>- <item>border-image</item>- <item>border-image-outset</item>- <item>border-image-repeat</item>- <item>border-image-slice</item>- <item>border-image-source</item>- <item>border-image-width</item>- <item>border-left</item>- <item>border-left-color</item>- <item>border-left-image</item>- <item>border-left-style</item>- <item>border-left-width</item>- <item>border-radius</item>- <item>border-right</item>- <item>border-right-color</item>- <item>border-right-image</item>- <item>border-right-style</item>- <item>border-right-width</item>- <item>border-spacing</item>- <item>border-style</item>- <item>border-top</item>- <item>border-top-color</item>- <item>border-top-image</item>- <item>border-top-style</item>- <item>border-top-width</item>- <item>border-top-left-image</item>- <item>border-top-left-radius</item>- <item>border-top-right-image</item>- <item>border-top-right-radius</item>- <item>border-width</item>- <item>bottom</item>- <item>box-align</item>- <item>box-decoration-break</item>- <item>box-direction</item>- <item>box-flex</item>- <item>box-shadow</item>- <item>box-sizing</item>- <item>box-snap</item>- <item>box-suppress</item>- <item>break-after</item>- <item>break-before</item>- <item>break-inside</item>- <item>caret-color</item>- <item>caption-side</item>- <item>chains</item>- <item>clear</item>- <item>clip</item>- <item>clip-path</item>- <item>clip-rule</item>- <item>color</item>- <item>color-interpolation-filters</item>- <item>column-count</item>- <item>column-fill</item>- <item>column-gap</item>- <item>column-rule</item>- <item>column-rule-color</item>- <item>column-rule-style</item>- <item>column-rule-width</item>- <item>column-span</item>- <item>column-width</item>- <item>columns</item>- <item>content</item>- <item>counter-increment</item>- <item>counter-reset</item>- <item>counter-set</item>- <item>cue</item>- <item>cue-after</item>- <item>cue-before</item>- <item>cursor</item>- <item>direction</item>- <item>display</item>- <item>dominant-baseline</item>- <item>elevation</item>- <item>empty-cells</item>- <item>filter</item>- <item>flex</item>- <item>flex-basis</item>- <item>flex-direction</item>- <item>flex-flow</item>- <item>flex-grow</item>- <item>flex-shrink</item>- <item>flex-wrap</item>- <item>float</item>- <item>flood-color</item>- <item>flood-opacity</item>- <item>flow</item>- <item>flow-from</item>- <item>flow-into</item>- <item>font</item>- <item>font-family</item>- <item>font-size</item>- <item>font-size-adjust</item>- <item>font-stretch</item>- <item>font-style</item>- <item>font-variant</item>- <item>font-weight</item>- <item>font-stretch</item>- <item>font-feature-settings</item>- <item>font-kerning</item>- <item>font-language-override</item>- <item>font-synthesis</item>- <item>font-variant-alternates</item>- <item>font-variant-caps</item>- <item>font-variant-east-asian</item>- <item>font-variant-ligatures</item>- <item>font-variant-numeric</item>- <item>font-variant-position</item>- <item>footnote-display</item>- <item>footnote-policy</item>- <item>glyph-orientation-vertical</item>- <item>grid</item>- <item>grid-area</item>- <item>grid-auto-columns</item>- <item>grid-auto-flow</item>- <item>grid-auto-rows</item>- <item>grid-column</item>- <item>grid-column-end</item>- <item>grid-column-gap</item>- <item>grid-column-start</item>- <item>grid-gap</item>- <item>grid-row</item>- <item>grid-row-end</item>- <item>grid-row-gap</item>- <item>grid-row-start</item>- <item>grid-template</item>- <item>grid-template-areas</item>- <item>grid-template-columns</item>- <item>grid-template-rows</item>- <item>hanging-punctuation</item>- <item>height</item>- <item>hyphens</item>- <item>image-orientation</item>- <item>image-rendering</item>- <item>image-resolution</item>- <item>initial-letter</item>- <item>initial-letter-align</item>- <item>initial-letter-wrap</item>- <item>isolation</item>- <item>justify-content</item>- <item>justify-items</item>- <item>justify-self</item>- <item>left</item>- <item>letter-spacing</item>- <item>lighting-color</item>- <item>linear-gradient</item>- <item>line-grid</item>- <item>line-height</item>- <item>line-snap</item>- <item>list-style</item>- <item>list-style-image</item>- <item>list-style-keyword</item>- <item>list-style-position</item>- <item>list-style-type</item>- <item>margin</item>- <item>margin-bottom</item>- <item>margin-left</item>- <item>margin-right</item>- <item>margin-top</item>- <item>marker-offset</item>- <item>marker-side</item>- <item>marquee-direction</item>- <item>marquee-loop</item>- <item>marquee-speed</item>- <item>marquee-style</item>- <item>mask</item>- <item>mask-border</item>- <item>mask-border-mode</item>- <item>mask-border-outset</item>- <item>mask-border-repeat</item>- <item>mask-border-slice</item>- <item>mask-border-source</item>- <item>mask-border-width</item>- <item>mask-clip</item>- <item>mask-composite</item>- <item>mask-image</item>- <item>mask-mode</item>- <item>mask-origin</item>- <item>mask-position</item>- <item>mask-repeat</item>- <item>mask-size</item>- <item>mask-type</item>- <item>max-height</item>- <item>max-lines</item>- <item>max-width</item>- <item>min-height</item>- <item>min-width</item>- <item>mix-blend-mode</item>- <item>nav-down</item>- <item>nav-left</item>- <item>nav-right</item>- <item>nav-up</item>- <item>object-fit</item>- <item>object-position</item>- <item>offset-after</item>- <item>offset-before</item>- <item>offset-end</item>- <item>offset-start</item>- <item>opacity</item>- <item>order</item>- <item>orphans</item>- <item>outline</item>- <item>outline-color</item>- <item>outline-offset</item>- <item>outline-style</item>- <item>outline-width</item>- <item>overflow</item>- <item>overflow-style</item>- <item>overflow-wrap</item>- <item>overflow-x</item>- <item>overflow-y</item>- <item>padding</item>- <item>padding-bottom</item>- <item>padding-left</item>- <item>padding-right</item>- <item>padding-top</item>- <item>page</item>- <item>page-break-after</item>- <item>page-break-before</item>- <item>page-break-inside</item>- <item>pause</item>- <item>pause-after</item>- <item>pause-before</item>- <item>perspective</item>- <item>perspective-origin</item>- <item>pitch</item>- <item>pitch-range</item>- <item>play-during</item>- <item>pointer-events</item>- <item>polar-anchor</item>- <item>polar-angle</item>- <item>polar-distance</item>- <item>polar-origin</item>- <item>position</item>- <item>presentation-level</item>- <item>quotes</item>- <item>resize</item>- <item>rest</item>- <item>rest-after</item>- <item>rest-before</item>- <item>richness</item>- <item>right</item>- <item>rotation</item>- <item>rotation-point</item>- <item>ruby-align</item>- <item>ruby-merge</item>- <item>ruby-position</item>- <item>running</item>- <item>scroll-behavior</item>- <item>scroll-snap-align</item>- <item>scroll-snap-margin</item>- <item>scroll-snap-margin-block</item>- <item>scroll-snap-margin-block-end</item>- <item>scroll-snap-margin-block-start</item>- <item>scroll-snap-margin-bottom</item>- <item>scroll-snap-margin-inline</item>- <item>scroll-snap-margin-inline-end</item>- <item>scroll-snap-margin-inline-start</item>- <item>scroll-snap-margin-left</item>- <item>scroll-snap-margin-right</item>- <item>scroll-snap-margin-top</item>- <item>scroll-snap-padding</item>- <item>scroll-snap-padding-block</item>- <item>scroll-snap-padding-block-end</item>- <item>scroll-snap-padding-block-start</item>- <item>scroll-snap-padding-bottom</item>- <item>scroll-snap-padding-inline</item>- <item>scroll-snap-padding-inline-end</item>- <item>scroll-snap-padding-inline-start</item>- <item>scroll-snap-padding-left</item>- <item>scroll-snap-padding-right</item>- <item>scroll-snap-padding-top</item>- <item>scroll-snap-stop</item>- <item>scroll-snap-type</item>- <item>shape-image-threshold</item>- <item>shape-inside</item>- <item>shape-margin</item>- <item>shape-outside</item>- <item>size</item>- <item>speak</item>- <item>speak-as</item>- <item>speak-header</item>- <item>speak-numeral</item>- <item>speak-punctuation</item>- <item>speech-rate</item>- <item>stress</item>- <item>string-set</item>- <item>tab-size</item>- <item>table-layout</item>- <item>text-align</item>- <item>text-align-last</item>- <item>text-combine-upright</item>- <item>text-decoration</item>- <item>text-decoration-color</item>- <item>text-decoration-line</item>- <item>text-decoration-skip</item>- <item>text-decoration-style</item>- <item>text-emphasis</item>- <item>text-emphasis-color</item>- <item>text-emphasis-position</item>- <item>text-emphasis-style</item>- <item>text-indent</item>- <item>text-justify</item>- <item>text-orientation</item>- <item>text-overflow</item>- <item>text-shadow</item>- <item>text-transform</item>- <item>text-underline-position</item>- <item>text-wrap</item>- <item>top</item>- <item>transform</item>- <item>transform-origin</item>- <item>transform-style</item>- <item>transition</item>- <item>transition-delay</item>- <item>transition-property</item>- <item>transition-duration</item>- <item>transition-timing-function</item>- <item>unicode-bidi</item>- <item>vertical-align</item>- <item>visibility</item>- <item>voice-balance</item>- <item>voice-duration</item>- <item>voice-family</item>- <item>voice-pitch</item>- <item>voice-range</item>- <item>voice-rate</item>- <item>voice-stress</item>- <item>voice-volume</item>- <item>volume</item>- <item>white-space</item>- <item>widows</item>- <item>width</item>- <item>will-change</item>- <item>word-break</item>- <item>word-spacing</item>- <item>word-wrap</item>- <item>wrap-flow</item>- <item>wrap-through</item>- <item>writing-mode</item>- <item>z-index</item>-- <!-- Gecko rendering engine CSS property extensions -->- <item>-moz-animation-name</item>- <item>-moz-animation-duration</item>- <item>-moz-animation-iteration</item>- <item>-moz-animation-direction</item>- <item>-moz-animation-delay</item>- <item>-moz-animation-play-state</item>- <item>-moz-animation-fill-mode</item>- <item>-moz-background-size</item>- <item>-moz-border-image</item>- <item>-moz-border-bottom-colors</item>- <item>-moz-border-left-colors</item>- <item>-moz-border-radius</item>- <item>-moz-border-radius-topleft</item>- <item>-moz-border-radius-topright</item>- <item>-moz-border-radius-bottomleft</item>- <item>-moz-border-radius-bottomright</item>- <item>-moz-border-right-colors</item>- <item>-moz-border-top-colors</item>- <item>-moz-box</item>- <item>-moz-box-flex</item>- <item>-moz-box-shadow</item>- <item>-moz-box-sizing</item>- <item>-moz-column-count</item>- <item>-moz-column-gap</item>- <item>-moz-hyphens</item>- <item>-moz-linear-gradient</item>- <item>-moz-opacity</item>- <item>-moz-outline-style</item>- <item>-moz-perspective</item>- <item>-moz-radial-gradient</item>- <item>-moz-resize</item>- <item>-moz-transform</item>- <item>-moz-transform-origin</item>- <item>-moz-transform-style</item>- <item>-moz-transition</item>- <item>-moz-transition-property</item>- <item>-moz-transition-duration</item>-- <!-- Opera rendering engine CSS property extensions -->- <item>-o-background-size</item>- <item>-o-linear-gradient</item>- <item>-o-text-overflow</item>- <item>-o-transition</item>- <item>-o-transform-origin</item>-- <!-- konq specific -->- <item>konq_bgpos_x</item>- <item>konq_bgpos_y</item>- <item>-khtml-background-size</item>- <item>-khtml-border-top-left-radius</item>- <item>-khtml-border-top-right-radius</item>- <item>-khtml-border-bottom-left-radius</item>- <item>-khtml-border-bottom-right-radius</item>- <item>-khtml-border-radius</item>- <item>-khtml-box-shadow</item>- <item>-khtml-opacity</item>-- <!-- Webkit rendering engine CSS property extensions -->- <item>-webkit-appearance</item>- <item>-webkit-animation-name</item>- <item>-webkit-animation-duration</item>- <item>-webkit-animation-iteration</item>- <item>-webkit-animation-direction</item>- <item>-webkit-animation-delay</item>- <item>-webkit-animation-play-state</item>- <item>-webkit-animation-fill-mode</item>- <item>-webkit-background-size</item>- <item>-webkit-border-image</item>- <item>-webkit-border-bottom-colors</item>- <item>-webkit-border-left-colors</item>- <item>-webkit-border-radius</item>- <item>-webkit-border-right-colors</item>- <item>-webkit-border-top-colors</item>- <item>-webkit-border-top-left-radius</item>- <item>-webkit-border-top-right-radius</item>- <item>-webkit-border-bottom-left-radius</item>- <item>-webkit-border-bottom-right-radius</item>- <item>-webkit-border-radius-bottomleft</item>- <item>-webkit-border-radius-bottomright</item>- <item>-webkit-box-flex</item>- <item>-webkit-box-reflect</item>- <item>-webkit-box-shadow</item>- <item>-webkit-box-sizing</item>- <item>-webkit-column-count</item>- <item>-webkit-column-gap</item>- <item>-webkit-hyphens</item>- <item>-webkit-linear-gradient</item>- <item>-webkit-gradient</item>- <item>-webkit-perspective</item>- <item>-webkit-text-fill-color</item>- <item>-webkit-text-stroke-color</item>- <item>-webkit-text-stroke-width</item>- <item>-webkit-text-size-adjust</item>- <item>-webkit-transform</item>- <item>-webkit-transform-origin</item>- <item>-webkit-transform-style</item>- <item>-webkit-transition</item>- <item>-webkit-transition-property</item>- <item>-webkit-transition-duration</item>-- <!-- Trident (a.k.a., MSHTML) CSS property extensions -->- <item>zoom</item>- <item>-ms-animation-name</item>- <item>-ms-animation-duration</item>- <item>-ms-animation-iteration</item>- <item>-ms-animation-direction</item>- <item>-ms-animation-delay</item>- <item>-ms-animation-play-state</item>- <item>-ms-animation-fill-mode</item>- <item>-ms-box-sizing</item>- <item>-ms-filter</item>- <item>-ms-interpolation-mode</item>- <item>-ms-linear-gradient</item>- <item>-ms-text-size-adjust</item>- <item>-ms-transform</item>- <item>-ms-transition</item>-- <!-- font properties in @font-face -->- <item>font-family</item>- <item>font-size</item>- <item>font-stretch</item>- <item>font-style</item>- <item>font-variant</item>- <item>font-weight</item>- <item>unicode-range</item>- <item>units-per-em</item>- <item>src</item>- <item>panose-1</item>- <item>stemv</item>- <item>stemh</item>- <item>slope</item>- <item>cap-height</item>- <item>x-height</item>- <item>ascent</item>- <item>descent</item>- <item>widths</item>- <item>bbox</item>- <item>definition-src</item>- <item>baseline</item>- <item>centerline</item>- <item>mathline</item>- <item>topline</item>- </list>-- <list name="values">- <item>inherit</item>- <item>none</item>- <item>hidden</item>- <item>dotted</item>- <item>dashed</item>- <item>solid</item>- <item>double</item>- <item>groove</item>- <item>ridge</item>- <item>inset</item>- <item>outset</item>- <item>xx-small</item>- <item>x-small</item>- <item>small</item>- <item>medium</item>- <item>large</item>- <item>x-large</item>- <item>xx-large</item>- <item>smaller</item>- <item>larger</item>- <item>italic</item>- <item>oblique</item>- <item>small-caps</item>- <item>normal</item>- <item>bold</item>- <item>bolder</item>- <item>lighter</item>- <item>light</item>- <item>100</item>- <item>200</item>- <item>300</item>- <item>400</item>- <item>500</item>- <item>600</item>- <item>700</item>- <item>800</item>- <item>900</item>- <item>transparent</item>- <item>repeat</item>- <item>repeat-x</item>- <item>repeat-y</item>- <item>no-repeat</item>- <item>baseline</item>- <item>sub</item>- <item>super</item>- <item>top</item>- <item>text-top</item>- <item>middle</item>- <item>bottom</item>- <item>text-bottom</item>- <item>left</item>- <item>right</item>- <item>center</item>- <item>justify</item>- <item>konq-center</item>- <item>disc</item>- <item>circle</item>- <item>square</item>- <item>box</item>- <item>decimal</item>- <item>decimal-leading-zero</item>- <item>lower-roman</item>- <item>upper-roman</item>- <item>lower-greek</item>- <item>lower-alpha</item>- <item>lower-latin</item>- <item>upper-alpha</item>- <item>upper-latin</item>- <item>hebrew</item>- <item>armenian</item>- <item>georgian</item>- <item>cjk-ideographic</item>- <item>hiragana</item>- <item>katakana</item>- <item>hiragana-iroha</item>- <item>katakana-iroha</item>- <item>inline</item>- <item>inline-block</item>- <item>block</item>- <item>list-item</item>- <item>run-in</item>- <item>compact</item>- <item>marker</item>- <item>table</item>- <item>inline-table</item>- <item>table-row-group</item>- <item>table-header-group</item>- <item>table-footer-group</item>- <item>table-row</item>- <item>table-column-group</item>- <item>table-column</item>- <item>table-cell</item>- <item>table-caption</item>- <item>auto</item>- <item>crosshair</item>- <item>default</item>- <item>pointer</item>- <item>move</item>- <item>e-resize</item>- <item>ne-resize</item>- <item>nw-resize</item>- <item>n-resize</item>- <item>se-resize</item>- <item>sw-resize</item>- <item>s-resize</item>- <item>w-resize</item>- <item>text</item>- <item>wait</item>- <item>help</item>- <item>above</item>- <item>absolute</item>- <item>always</item>- <item>avoid</item>- <item>below</item>- <item>bidi-override</item>- <item>blink</item>- <item>both</item>- <item>capitalize</item>- <item>caption</item>- <item>clip</item>- <item>close-quote</item>- <item>collapse</item>- <item>condensed</item>- <item>crop</item>- <item>cross</item>- <item>ellipsis</item>- <item>ellipsis-word</item>- <item>embed</item>- <item>expanded</item>- <item>extra-condensed</item>- <item>extra-expanded</item>- <item>fixed</item>- <item>hand</item>- <item>hide</item>- <item>higher</item>- <item>icon</item>- <item>inside</item>- <item>invert</item>- <item>landscape</item>- <item>level</item>- <item>line-through</item>- <item>loud</item>- <item>lower</item>- <item>lowercase</item>- <item>ltr</item>- <item>menu</item>- <item>message-box</item>- <item>mix</item>- <item>narrower</item>- <item>no-close-quote</item>- <item>no-open-quote</item>- <item>nowrap</item>- <item>open-quote</item>- <item>outside</item>- <item>overline</item>- <item>portrait</item>- <item>pre</item>- <item>pre-line</item>- <item>pre-wrap</item>- <item>relative</item>- <item>rtl</item>- <item>scroll</item>- <item>semi-condensed</item>- <item>semi-expanded</item>- <item>separate</item>- <item>show</item>- <item>small-caption</item>- <item>static</item>- <item>static-position</item>- <item>status-bar</item>- <item>thick</item>- <item>thin</item>- <item>ultra-condensed</item>- <item>ultra-expanded</item>- <item>underline</item>- <item>uppercase</item>- <item>visible</item>- <item>wider</item>- <item>break</item>- <item>serif</item>- <item>sans-serif</item>- <item>cursive</item>- <item>fantasy</item>- <item>monospace</item>- <item>border-box</item>- <item>content-box</item>- <item>-epub-hyphens</item>- </list>-- <list name="colors">- <item>aqua</item>- <item>black</item>- <item>blue</item>- <item>cyan</item>- <item>fuchsia</item>- <item>gray</item>- <item>green</item>- <item>lime</item>- <item>maroon</item>- <item>navy</item>- <item>olive</item>- <item>purple</item>- <item>red</item>- <item>silver</item>- <item>teal</item>- <item>white</item>- <item>yellow</item>- <item>ActiveBorder</item>- <item>ActiveCaption</item>- <item>AppWorkspace</item>- <item>Background</item>- <item>ButtonFace</item>- <item>ButtonHighlight</item>- <item>ButtonShadow</item>- <item>ButtonText</item>- <item>CaptionText</item>- <item>GrayText</item>- <item>Highlight</item>- <item>HighlightText</item>- <item>InactiveBorder</item>- <item>InactiveCaption</item>- <item>InactiveCaptionText</item>- <item>InfoBackground</item>- <item>InfoText</item>- <item>Menu</item>- <item>MenuText</item>- <item>Scrollbar</item>- <item>ThreeDDarkShadow</item>- <item>ThreeDFace</item>- <item>ThreeDHighlight</item>- <item>ThreeDLightShadow</item>- <item>ThreeDShadow</item>- <item>Window</item>- <item>WindowFrame</item>- <item>WindowText</item>- </list>-- <list name="functions">- <item>url</item>- <item>attr</item>- <item>rect</item>- <item>rgb</item>- <item>rgba</item>- <item>hsl</item>- <item>hsla</item>- <item>counter</item>- <item>counters</item>-- <!-- in @font-face -->- <item>local</item>- <item>format</item>-- <!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions -->- <item>expression</item>-- </list>-- <list name="mediatypes">- <item>all</item>- <item>aural</item>- <item>braille</item>- <item>embossed</item>- <item>handheld</item>- <item>print</item>- <item>projection</item>- <item>screen</item>- <item>speech</item>- <item>tty</item>- <item>tv</item>- </list>-- <list name="media_features">- <item>width</item>- <item>min-width</item>- <item>max-width</item>- <item>height</item>- <item>min-height</item>- <item>max-height</item>- <item>device-width</item>- <item>min-device-width</item>- <item>max-device-width</item>- <item>device-height</item>- <item>min-device-height</item>- <item>max-device-height</item>- <item>orientation</item>- <item>aspect-ratio</item>- <item>min-aspect-ratio</item>- <item>max-aspect-ratio</item>- <item>device-aspect-ratio</item>- <item>min-device-aspect-ratio</item>- <item>max-device-aspect-ratio</item>- <item>color</item>- <item>min-color</item>- <item>max-color</item>- <item>color-index</item>- <item>min-color-index</item>- <item>max-color-index</item>- <item>monochrome</item>- <item>min-monochrome</item>- <item>max-monochrome</item>- <item>resolution</item>- <item>min-resolution</item>- <item>max-resolution</item>- <item>scan</item>- <item>grid</item>- </list>-- <list name="pseudoclasses">- <item>hover</item>- <item>link</item>- <item>visited</item>- <item>active</item>- <item>focus</item>- <item>first-child</item>- <item>last-child</item>- <item>only-child</item>- <item>first-of-type</item>- <item>last-of-type</item>- <item>only-of-type</item>- <item>first-letter</item>- <item>first-line</item>- <item>before</item>- <item>after</item>- <item>selection</item>- <item>root</item>- <item>empty</item>- <item>target</item>- <item>enabled</item>- <item>disabled</item>- <item>checked</item>- <item>indeterminate</item>- <item>nth-child</item>- <item>nth-last-child</item>- <item>nth-of-type</item>- <item>nth-last-of-type</item>- <item>not</item>- </list>-- <contexts>- <context name="Base" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="FindComments" />- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <RegExpr attribute="At Rule" context="AtRule" String="@[a-zA-Z0-1-]+\b" />- <IncludeRules context="FindSelectors" />- </context>-- <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->- <context name="FindSelectors" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />- <RegExpr attribute="Selector Id" context="#stay" String="#(-)?(&nmstart;)(&nmchar;)*" />- <RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />- <RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_-]+\)" />- <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />- </context>-- <!-- find functions // rgba(255,255,255,0.75) -->- <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Function" context="Function" String="[a-z\-]+\(" lookAhead="true" />- </context>-- <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->- <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Annotation" context="#stay" String="!important\b" />- <keyword attribute="Value" context="#stay" String="values" />- <keyword attribute="Value" context="#stay" String="colors" />- <RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" />- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b" />- <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />- <RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />- </context>-- <!-- find strings // "some words" 'some words' -->- <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="String" context="StringDQ" char=""" />- <DetectChar attribute="String" context="StringSQ" char="'" />- </context>-- <!-- find comments // /* comment */ -->- <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">- <RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/" beginRegion="UserDefined" />- <RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/" endRegion="UserDefined" />- <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />- </context>-- <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <keyword attribute="Value" context="#stay" String="mediatypes" />- <keyword attribute="Property" context="#stay" String="media_features" />- <AnyChar attribute="Normal Text" context="#pop" String=";{" lookAhead="true" />- <IncludeRules context="FindValues" />- </context>-- <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">- <DetectChar attribute="Selector Attribute" context="#pop" char="]" />- <IncludeRules context="FindStrings" />- </context>-- <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop"- fallthrough="true" fallthroughContext="#pop">- <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" />- </context>-- <context name="Comment" attribute="Comment" lineEndContext="#stay">- <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" />- <IncludeRules context="##Alerts" />- </context>-- <context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />- <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />- <RegExpr attribute="Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" lookAhead="true" />- <IncludeRules context="Base" />- </context>-- <context name="Rule" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />- <keyword attribute="Property" context="#stay" String="properties" />- <RegExpr attribute="Unknown Property" context="#stay" String="-?[A-Za-z_-]+(?=\s*:)" />- <RegExpr attribute="Error" context="#stay" String="\S" />- </context>-- <context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindFunctions" />- <IncludeRules context="FindValues" />- <!-- Jump out conditions -->- <DetectChar attribute="Normal Text" context="#pop#pop" char=";" />- <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />- </context>-- <context name="Function" attribute="Normal Text" lineEndContext="#stay">- <DetectChar attribute="Normal Text" context="FunctionParameters" char="(" />- <keyword attribute="Function" context="#stay" String="functions" />- </context>-- <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">- <IncludeRules context="FindComments" />- <IncludeRules context="FindStrings" />- <IncludeRules context="FindValues" />- <!-- Jump out conditions -->- <DetectChar attribute="Normal Text" context="#pop#pop" char=")" />- </context>-- <!-- string contexts -->- <context name="StringDQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char=""" />- <IncludeRules context="InsideString" />- </context>-- <context name="StringSQ" attribute="String" lineEndContext="#stay">- <DetectChar attribute="String" context="#pop" char="'" />- <IncludeRules context="InsideString" />- </context>-- <context name="InsideString" attribute="String" lineEndContext="#stay">- <RegExpr attribute="String" context="#stay" String="\\["']" />- <DetectIdentifier/>- </context>-- </contexts>-- <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>- <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>- <itemData name="String" defStyleNum="dsString"/>- <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>- <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>- <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>- <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>- <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>- <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>- <itemData name="Comment" defStyleNum="dsComment" />- <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>- <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>- </itemDatas>- </highlighting>-- <general>- <keywords casesensitive="0" weakDeliminator="-%"/>+ <!-- https://www.w3.org/TR/CSS22/syndata.html#tokenization -->+ <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+ <!ENTITY nmchar "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">+]>++<!--++Kate CSS syntax highlighting definition++Changelog:++- Version 8, by Jonathan Poelen+- fix some Operator and Selector Tag highlighting++- Version 7, by Jonathan Poelen+- fix tag followed by a pseudo-class in a nested rule (@media, ...)+- fix constraint in a rule+- fix Kate auto-completion for properties and rules+- New highlighting categories: Keyword, Operator, Separator Symbol, SpecialChar, Variable, Value Keyword, Color, Number, Unit, Selector Tag++- Version 4, by Guo Yunhe guoyunhebrave@gmail.com+- Remake for complex CSS syntax, avoid errors++- Version 2.13, by Guo Yunhe+- Add all W3C Work Draft properties++- Version 2.06, by Mte90:+- CSS3 tag++- Version 2.03, by Milian Wolff:+- Make it spelling aware++- Version 2.08, Joseph Wenninger:+- CSS3 media queries++-->++<language name="CSS" version="8" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">++ <highlighting>+ <list name="properties">+ <!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties -->+ <item>align-content</item>+ <item>align-items</item>+ <item>alignment-baseline</item>+ <item>align-self</item>+ <item>all</item>+ <item>animation</item>+ <item>animation-delay</item>+ <item>animation-direction</item>+ <item>animation-duration</item>+ <item>animation-fill-mode</item>+ <item>animation-iteration-count</item>+ <item>animation-name</item>+ <item>animation-play-state</item>+ <item>animation-timing-function</item>+ <item>appearance</item>+ <item>azimuth</item>+ <item>backface-visibility</item>+ <item>background</item>+ <item>background-attachment</item>+ <item>background-blend-mode</item>+ <item>background-clip</item>+ <item>background-color</item>+ <item>background-image</item>+ <item>background-image-transform</item>+ <item>background-origin</item>+ <item>background-position</item>+ <item>background-repeat</item>+ <item>background-size</item>+ <item>baseline-shift</item>+ <item>block-size</item>+ <item>block-step</item>+ <item>block-step-align</item>+ <item>block-step-insert</item>+ <item>block-step-round</item>+ <item>block-step-size</item>+ <item>bookmark-label</item>+ <item>bookmark-level</item>+ <item>bookmark-state</item>+ <item>border</item>+ <item>border-block</item>+ <item>border-block-color</item>+ <item>border-block-end</item>+ <item>border-block-end-color</item>+ <item>border-block-end-style</item>+ <item>border-block-end-width</item>+ <item>border-block-start</item>+ <item>border-block-start-color</item>+ <item>border-block-start-style</item>+ <item>border-block-start-width</item>+ <item>border-block-style</item>+ <item>border-block-width</item>+ <item>border-bottom</item>+ <item>border-bottom-color</item>+ <item>border-bottom-left-radius</item>+ <item>border-bottom-right-radius</item>+ <item>border-bottom-style</item>+ <item>border-bottom-width</item>+ <item>border-boundary</item>+ <item>border-collapse</item>+ <item>border-color</item>+ <item>border-image</item>+ <item>border-image-outset</item>+ <item>border-image-repeat</item>+ <item>border-image-slice</item>+ <item>border-image-source</item>+ <item>border-image-transform</item>+ <item>border-image-width</item>+ <item>border-inline</item>+ <item>border-inline-color</item>+ <item>border-inline-end</item>+ <item>border-inline-end-color</item>+ <item>border-inline-end-style</item>+ <item>border-inline-end-width</item>+ <item>border-inline-start</item>+ <item>border-inline-start-color</item>+ <item>border-inline-start-style</item>+ <item>border-inline-start-width</item>+ <item>border-inline-style</item>+ <item>border-inline-width</item>+ <item>border-left</item>+ <item>border-left-color</item>+ <item>border-left-style</item>+ <item>border-left-width</item>+ <item>border-radius</item>+ <item>border-right</item>+ <item>border-right-color</item>+ <item>border-right-style</item>+ <item>border-right-width</item>+ <item>border-spacing</item>+ <item>border-style</item>+ <item>border-top</item>+ <item>border-top-color</item>+ <item>border-top-left-radius</item>+ <item>border-top-right-radius</item>+ <item>border-top-style</item>+ <item>border-top-width</item>+ <item>border-width</item>+ <item>bottom</item>+ <item>box-decoration-break</item>+ <item>box-shadow</item>+ <item>box-sizing</item>+ <item>box-snap</item>+ <item>break-after</item>+ <item>break-before</item>+ <item>break-inside</item>+ <item>caption-side</item>+ <item>caret</item>+ <item>caret-color</item>+ <item>caret-shape</item>+ <item>clear</item>+ <item>clip</item>+ <item>clip-path</item>+ <item>clip-rule</item>+ <item>color</item>+ <item>color-adjust</item>+ <item>color-interpolation-filters</item>+ <item>columns</item>+ <item>column-count</item>+ <item>column-fill</item>+ <item>column-gap</item>+ <item>column-rule</item>+ <item>column-rule-color</item>+ <item>column-rule-style</item>+ <item>column-rule-width</item>+ <item>column-span</item>+ <item>column-width</item>+ <item>contain</item>+ <item>content</item>+ <item>continue</item>+ <item>counter-increment</item>+ <item>counter-reset</item>+ <item>counter-set</item>+ <item>cue</item>+ <item>cue-after</item>+ <item>cue-before</item>+ <item>cursor</item>+ <item>direction</item>+ <item>display</item>+ <item>dominant-baseline</item>+ <item>elevation</item>+ <item>empty-cells</item>+ <item>fill</item>+ <item>fill-break</item>+ <item>fill-color</item>+ <item>fill-image</item>+ <item>fill-opacity</item>+ <item>fill-origin</item>+ <item>fill-position</item>+ <item>fill-repeat</item>+ <item>fill-rule</item>+ <item>fill-size</item>+ <item>filter</item>+ <item>flex</item>+ <item>flex-basis</item>+ <item>flex-direction</item>+ <item>flex-flow</item>+ <item>flex-grow</item>+ <item>flex-shrink</item>+ <item>flex-wrap</item>+ <item>float</item>+ <item>float-defer</item>+ <item>float-offset</item>+ <item>float-reference</item>+ <item>flood-color</item>+ <item>flood-opacity</item>+ <item>flow-from</item>+ <item>flow-into</item>+ <item>font</item>+ <item>font-family</item>+ <item>font-feature-settings</item>+ <item>font-kerning</item>+ <item>font-language-override</item>+ <item>font-max-size</item>+ <item>font-min-size</item>+ <item>font-optical-sizing</item>+ <item>font-palette</item>+ <item>font-size</item>+ <item>font-size-adjust</item>+ <item>font-stretch</item>+ <item>font-style</item>+ <item>font-synthesis</item>+ <item>font-variant</item>+ <item>font-variant-alternates</item>+ <item>font-variant-caps</item>+ <item>font-variant-east-asian</item>+ <item>font-variant-emoji</item>+ <item>font-variant-ligatures</item>+ <item>font-variant-numeric</item>+ <item>font-variant-position</item>+ <item>font-variation-settings</item>+ <item>font-weight</item>+ <item>footnote-display</item>+ <item>footnote-policy</item>+ <item>gap</item>+ <item>glyph-orientation-vertical</item>+ <item>grid</item>+ <item>grid-area</item>+ <item>grid-auto-columns</item>+ <item>grid-auto-flow</item>+ <item>grid-auto-rows</item>+ <item>grid-column</item>+ <item>grid-column-end</item>+ <item>grid-column-gap</item>+ <item>grid-column-start</item>+ <item>grid-gap</item>+ <item>grid-row</item>+ <item>grid-row-end</item>+ <item>grid-row-gap</item>+ <item>grid-row-start</item>+ <item>grid-template</item>+ <item>grid-template-areas</item>+ <item>grid-template-columns</item>+ <item>grid-template-rows</item>+ <item>hanging-punctuation</item>+ <item>height</item>+ <item>hyphenate-character</item>+ <item>hyphenate-limit-chars</item>+ <item>hyphenate-limit-last</item>+ <item>hyphenate-limit-lines</item>+ <item>hyphenate-limit-zone</item>+ <item>hyphens</item>+ <item>image-orientation</item>+ <item>image-rendering</item>+ <item>image-resolution</item>+ <item>initial-letter</item>+ <item>initial-letter-align</item>+ <item>initial-letter-wrap</item>+ <item>inline-size</item>+ <item>inset</item>+ <item>inset-block</item>+ <item>inset-block-end</item>+ <item>inset-block-start</item>+ <item>inset-inline</item>+ <item>inset-inline-end</item>+ <item>inset-inline-start</item>+ <item>isolation</item>+ <item>justify-content</item>+ <item>justify-items</item>+ <item>justify-self</item>+ <item>left</item>+ <item>letter-spacing</item>+ <item>lighting-color</item>+ <item>line-break</item>+ <item>line-grid</item>+ <item>line-height</item>+ <item>line-height-step</item>+ <item>line-snap</item>+ <item>list-style</item>+ <item>list-style-image</item>+ <item>list-style-position</item>+ <item>list-style-type</item>+ <item>margin</item>+ <item>margin-block</item>+ <item>margin-block-end</item>+ <item>margin-block-start</item>+ <item>margin-bottom</item>+ <item>margin-inline</item>+ <item>margin-inline-end</item>+ <item>margin-inline-start</item>+ <item>margin-left</item>+ <item>margin-right</item>+ <item>margin-top</item>+ <item>marker</item>+ <item>marker-end</item>+ <item>marker-knockout-left</item>+ <item>marker-knockout-right</item>+ <item>marker-mid</item>+ <item>marker-pattern</item>+ <item>marker-segment</item>+ <item>marker-side</item>+ <item>marker-start</item>+ <item>marquee-direction</item>+ <item>marquee-loop</item>+ <item>marquee-speed</item>+ <item>marquee-style</item>+ <item>mask</item>+ <item>mask-border</item>+ <item>mask-border-mode</item>+ <item>mask-border-outset</item>+ <item>mask-border-repeat</item>+ <item>mask-border-slice</item>+ <item>mask-border-source</item>+ <item>mask-border-width</item>+ <item>mask-clip</item>+ <item>mask-composite</item>+ <item>mask-image</item>+ <item>mask-mode</item>+ <item>mask-origin</item>+ <item>mask-position</item>+ <item>mask-repeat</item>+ <item>mask-size</item>+ <item>mask-type</item>+ <item>max-block-size</item>+ <item>max-height</item>+ <item>max-inline-size</item>+ <item>max-lines</item>+ <item>max-width</item>+ <item>min-block-size</item>+ <item>min-height</item>+ <item>min-inline-size</item>+ <item>min-width</item>+ <item>mix-blend-mode</item>+ <item>nav-up</item>+ <item>nav-down</item>+ <item>nav-left</item>+ <item>nav-right</item>+ <item>object-fit</item>+ <item>object-position</item>+ <item>offset</item>+ <item>offset-after</item>+ <item>offset-anchor</item>+ <item>offset-before</item>+ <item>offset-distance</item>+ <item>offset-end</item>+ <item>offset-path</item>+ <item>offset-position</item>+ <item>offset-rotate</item>+ <item>offset-start</item>+ <item>opacity</item>+ <item>order</item>+ <item>orphans</item>+ <item>outline</item>+ <item>outline-color</item>+ <item>outline-offset</item>+ <item>outline-style</item>+ <item>outline-width</item>+ <item>overflow</item>+ <item>overflow-style</item>+ <item>overflow-wrap</item>+ <item>overflow-x</item>+ <item>overflow-y</item>+ <item>padding</item>+ <item>padding-block</item>+ <item>padding-block-end</item>+ <item>padding-block-start</item>+ <item>padding-bottom</item>+ <item>padding-inline</item>+ <item>padding-inline-end</item>+ <item>padding-inline-start</item>+ <item>padding-left</item>+ <item>padding-right</item>+ <item>padding-top</item>+ <item>page</item>+ <item>page-break-after</item>+ <item>page-break-before</item>+ <item>page-break-inside</item>+ <item>pause</item>+ <item>pause-after</item>+ <item>pause-before</item>+ <item>perspective</item>+ <item>perspective-origin</item>+ <item>pitch</item>+ <item>pitch-range</item>+ <item>place-content</item>+ <item>place-items</item>+ <item>place-self</item>+ <item>play-during</item>+ <item>pointer-events</item>+ <item>position</item>+ <item>quotes</item>+ <item>region-fragment</item>+ <item>resize</item>+ <item>richness</item>+ <item>right</item>+ <item>rotation</item>+ <item>rotation-point</item>+ <item>row-gap</item>+ <item>ruby-align</item>+ <item>ruby-merge</item>+ <item>ruby-position</item>+ <item>running</item>+ <item>scrollbar-gutter</item>+ <item>shape-image-threshold</item>+ <item>shape-inside</item>+ <item>shape-margin</item>+ <item>shape-outside</item>+ <item>size</item>+ <item>speak</item>+ <item>speak-header</item>+ <item>speak-numeral</item>+ <item>speak-punctuation</item>+ <item>speech-rate</item>+ <item>stress</item>+ <item>string-set</item>+ <item>table-layout</item>+ <item>tab-size</item>+ <item>text-align-all</item>+ <item>text-align</item>+ <item>text-align-last</item>+ <item>text-combine-upright</item>+ <item>text-decoration-color</item>+ <item>text-decoration</item>+ <item>text-decoration-line</item>+ <item>text-decoration-skip</item>+ <item>text-decoration-skip-ink</item>+ <item>text-decoration-style</item>+ <item>text-decoration-width</item>+ <item>text-emphasis</item>+ <item>text-emphasis-color</item>+ <item>text-emphasis-position</item>+ <item>text-emphasis-skip</item>+ <item>text-emphasis-style</item>+ <item>text-indent</item>+ <item>text-justify</item>+ <item>text-orientation</item>+ <item>text-overflow</item>+ <item>text-shadow</item>+ <item>text-space-collapse</item>+ <item>text-space-trim</item>+ <item>text-spacing</item>+ <item>text-transform</item>+ <item>text-underline-offset</item>+ <item>text-underline-position</item>+ <item>text-wrap</item>+ <item>top</item>+ <item>transform</item>+ <item>transform-box</item>+ <item>transform-origin</item>+ <item>transform-style</item>+ <item>transition</item>+ <item>transition-delay</item>+ <item>transition-duration</item>+ <item>transition-property</item>+ <item>transition-timing-function</item>+ <item>unicode-bidi</item>+ <item>user-select</item>+ <item>vertical-align</item>+ <item>visibility</item>+ <item>voice-family</item>+ <item>volume</item>+ <item>white-space</item>+ <item>widows</item>+ <item>width</item>+ <item>will-change</item>+ <item>word-break</item>+ <item>word-spacing</item>+ <item>word-wrap</item>+ <item>wrap-after</item>+ <item>wrap-before</item>+ <item>wrap-flow</item>+ <item>wrap-inside</item>+ <item>wrap-through</item>+ <item>writing-mode</item>+ <item>z-index</item>++ <!-- Gecko rendering engine CSS property extensions -->+ <item>-moz-animation</item>+ <item>-moz-animation-delay</item>+ <item>-moz-animation-direction</item>+ <item>-moz-animation-duration</item>+ <item>-moz-animation-fill-mode</item>+ <item>-moz-animation-iteration-count</item>+ <item>-moz-animation-name</item>+ <item>-moz-animation-play-state</item>+ <item>-moz-animation-timing-function</item>+ <item>-moz-appearance</item>+ <item>-moz-background-clip</item>+ <item>-moz-background-origin</item>+ <item>-moz-background-size</item>+ <item>-moz-border-image</item>+ <item>-moz-border-radius</item>+ <item>-moz-border-radius-bottomleft</item>+ <item>-moz-border-radius-bottomright</item>+ <item>-moz-border-radius-topleft</item>+ <item>-moz-border-radius-topright</item>+ <item>-moz-box-align</item>+ <item>-moz-box-direction</item>+ <item>-moz-box-flex</item>+ <item>-moz-box-flex-group</item>+ <item>-moz-box-ordinal-group</item>+ <item>-moz-box-orient</item>+ <item>-moz-box-pack</item>+ <item>-moz-box-shadow</item>+ <item>-moz-box-sizing</item>+ <item>-moz-box</item>+ <item>-moz-column-count</item>+ <item>-moz-column-fill</item>+ <item>-moz-column-gap</item>+ <item>-moz-column-rule</item>+ <item>-moz-column-rule-color</item>+ <item>-moz-column-rule-style</item>+ <item>-moz-column-rule-width</item>+ <item>-moz-columns</item>+ <item>-moz-column-width</item>+ <item>-moz-hyphens</item>+ <item>-moz-opacity</item>+ <item>-moz-outline-style</item>+ <item>-moz-perspective</item>+ <item>-moz-resize</item>+ <item>-moz-text-align-last</item>+ <item>-moz-text-decoration-color</item>+ <item>-moz-text-decoration-line</item>+ <item>-moz-text-decoration-style</item>+ <item>-moz-transform</item>+ <item>-moz-transform-origin</item>+ <item>-moz-transform-style</item>+ <item>-moz-transition</item>+ <item>-moz-transition-delay</item>+ <item>-moz-transition-duration</item>+ <item>-moz-transition-property</item>+ <item>-moz-transition-timing-function</item>+ <item>-moz-user-select</item>++ <!-- Opera rendering engine CSS property extensions -->+ <item>-o-background-size</item>+ <item>-o-linear-gradient</item>+ <item>-o-text-overflow</item>+ <item>-o-transition</item>+ <item>-o-transform-origin</item>++ <!-- konq specific -->+ <item>konq_bgpos_x</item>+ <item>konq_bgpos_y</item>+ <item>-khtml-background-size</item>+ <item>-khtml-border-top-left-radius</item>+ <item>-khtml-border-top-right-radius</item>+ <item>-khtml-border-bottom-left-radius</item>+ <item>-khtml-border-bottom-right-radius</item>+ <item>-khtml-border-radius</item>+ <item>-khtml-box-shadow</item>+ <item>-khtml-opacity</item>++ <!-- Webkit rendering engine CSS property extensions -->+ <item>-webkit-appearance</item>+ <item>-webkit-animation</item>+ <item>-webkit-animation-name</item>+ <item>-webkit-animation-duration</item>+ <item>-webkit-animation-iteration</item>+ <item>-webkit-animation-direction</item>+ <item>-webkit-animation-delay</item>+ <item>-webkit-animation-play-state</item>+ <item>-webkit-animation-fill-mode</item>+ <item>-webkit-background-size</item>+ <item>-webkit-backface-visibility</item>+ <item>-webkit-border-image</item>+ <item>-webkit-border-bottom-colors</item>+ <item>-webkit-border-left-colors</item>+ <item>-webkit-border-radius</item>+ <item>-webkit-border-right-colors</item>+ <item>-webkit-border-top-colors</item>+ <item>-webkit-border-top-left-radius</item>+ <item>-webkit-border-top-right-radius</item>+ <item>-webkit-border-bottom-left-radius</item>+ <item>-webkit-border-bottom-right-radius</item>+ <item>-webkit-border-radius-bottomleft</item>+ <item>-webkit-border-radius-bottomright</item>+ <item>-webkit-box-align</item>+ <item>-webkit-box-direction</item>+ <item>-webkit-box-flex</item>+ <item>-webkit-box-ordinal-group</item>+ <item>-webkit-box-orient</item>+ <item>-webkit-box-pack</item>+ <item>-webkit-box-reflect</item>+ <item>-webkit-box-shadow</item>+ <item>-webkit-box-sizing</item>+ <item>-webkit-column-count</item>+ <item>-webkit-column-gap</item>+ <item>-webkit-hyphens</item>+ <item>-webkit-linear-gradient</item>+ <item>-webkit-gradient</item>+ <item>-webkit-overflow-scrolling</item>+ <item>-webkit-perspective</item>+ <item>-webkit-text-decoration</item>+ <item>-webkit-text-decoration-skip</item>+ <item>-webkit-text-fill-color</item>+ <item>-webkit-text-stroke-color</item>+ <item>-webkit-text-stroke-width</item>+ <item>-webkit-text-size-adjust</item>+ <item>-webkit-tap-highlight-color</item>+ <item>-webkit-transform</item>+ <item>-webkit-transform-origin</item>+ <item>-webkit-transform-style</item>+ <item>-webkit-transition</item>+ <item>-webkit-transition-property</item>+ <item>-webkit-transition-delay</item>+ <item>-webkit-transition-duration</item>+ <item>-webkit-user-select</item>++ <!-- Trident (a.k.a., MSHTML) CSS property extensions -->+ <item>zoom</item>+ <item>-ms-animation-name</item>+ <item>-ms-animation-duration</item>+ <item>-ms-animation-iteration</item>+ <item>-ms-animation-direction</item>+ <item>-ms-animation-delay</item>+ <item>-ms-animation-play-state</item>+ <item>-ms-animation-fill-mode</item>+ <item>-ms-box-sizing</item>+ <item>-ms-filter</item>+ <item>-ms-flex</item>+ <item>-ms-flex-align</item>+ <item>-ms-flex-direction</item>+ <item>-ms-flex-flow</item>+ <item>-ms-flex-item-align</item>+ <item>-ms-flex-line-pack</item>+ <item>-ms-flex-negative</item>+ <item>-ms-flex-order</item>+ <item>-ms-flex-pack</item>+ <item>-ms-flex-positive</item>+ <item>-ms-flex-position</item>+ <item>-ms-flex-preferred-size</item>+ <item>-ms-flex-wrap</item>+ <item>-ms-interpolation-mode</item>+ <item>-ms-linear-gradient</item>+ <item>-ms-overflow-style</item>+ <item>-ms-text-size-adjust</item>+ <item>-ms-transform</item>+ <item>-ms-transition</item>+ <item>-ms-user-select</item>+ </list>++ <list name="value keywords">+ <item>inherit</item>+ <item>unset</item>+ <item>auto</item>+ <!-- <item>revert</item> -->+ </list>++ <list name="values">+ <item>none</item>+ <item>hidden</item>+ <item>dotted</item>+ <item>dashed</item>+ <item>solid</item>+ <item>double</item>+ <item>groove</item>+ <item>ridge</item>+ <item>inset</item>+ <item>outset</item>+ <item>xx-small</item>+ <item>x-small</item>+ <item>small</item>+ <item>medium</item>+ <item>large</item>+ <item>x-large</item>+ <item>xx-large</item>+ <item>smaller</item>+ <item>larger</item>+ <item>italic</item>+ <item>oblique</item>+ <item>small-caps</item>+ <item>normal</item>+ <item>bold</item>+ <item>bolder</item>+ <item>lighter</item>+ <item>light</item>+ <item>transparent</item>+ <item>repeat</item>+ <item>repeat-x</item>+ <item>repeat-y</item>+ <item>no-repeat</item>+ <item>baseline</item>+ <item>sub</item>+ <item>super</item>+ <item>top</item>+ <item>text-top</item>+ <item>middle</item>+ <item>bottom</item>+ <item>text-bottom</item>+ <item>left</item>+ <item>right</item>+ <item>center</item>+ <item>justify</item>+ <item>konq-center</item>+ <item>disc</item>+ <item>circle</item>+ <item>square</item>+ <item>box</item>+ <item>decimal</item>+ <item>decimal-leading-zero</item>+ <item>lower-roman</item>+ <item>upper-roman</item>+ <item>lower-greek</item>+ <item>lower-alpha</item>+ <item>lower-latin</item>+ <item>upper-alpha</item>+ <item>upper-latin</item>+ <item>hebrew</item>+ <item>armenian</item>+ <item>georgian</item>+ <item>cjk-ideographic</item>+ <item>hiragana</item>+ <item>katakana</item>+ <item>hiragana-iroha</item>+ <item>katakana-iroha</item>+ <item>inline</item>+ <item>inline-block</item>+ <item>block</item>+ <item>list-item</item>+ <item>run-in</item>+ <item>compact</item>+ <item>marker</item>+ <item>table</item>+ <item>inline-table</item>+ <item>table-row-group</item>+ <item>table-header-group</item>+ <item>table-footer-group</item>+ <item>table-row</item>+ <item>table-column-group</item>+ <item>table-column</item>+ <item>table-cell</item>+ <item>table-caption</item>+ <item>crosshair</item>+ <item>default</item>+ <item>pointer</item>+ <item>move</item>+ <item>e-resize</item>+ <item>ne-resize</item>+ <item>nw-resize</item>+ <item>n-resize</item>+ <item>se-resize</item>+ <item>sw-resize</item>+ <item>s-resize</item>+ <item>w-resize</item>+ <item>text</item>+ <item>wait</item>+ <item>help</item>+ <item>above</item>+ <item>absolute</item>+ <item>always</item>+ <item>avoid</item>+ <item>below</item>+ <item>bidi-override</item>+ <item>blink</item>+ <item>both</item>+ <item>capitalize</item>+ <item>caption</item>+ <item>clip</item>+ <item>close-quote</item>+ <item>collapse</item>+ <item>condensed</item>+ <item>crop</item>+ <item>cross</item>+ <item>ellipsis</item>+ <item>ellipsis-word</item>+ <item>embed</item>+ <item>expanded</item>+ <item>extra-condensed</item>+ <item>extra-expanded</item>+ <item>fixed</item>+ <item>hand</item>+ <item>hide</item>+ <item>higher</item>+ <item>icon</item>+ <item>inside</item>+ <item>invert</item>+ <item>landscape</item>+ <item>level</item>+ <item>line-through</item>+ <item>loud</item>+ <item>lower</item>+ <item>lowercase</item>+ <item>ltr</item>+ <item>menu</item>+ <item>message-box</item>+ <item>mix</item>+ <item>narrower</item>+ <item>no-close-quote</item>+ <item>no-open-quote</item>+ <item>nowrap</item>+ <item>open-quote</item>+ <item>outside</item>+ <item>overline</item>+ <item>portrait</item>+ <item>pre</item>+ <item>pre-line</item>+ <item>pre-wrap</item>+ <item>relative</item>+ <item>rtl</item>+ <item>scroll</item>+ <item>semi-condensed</item>+ <item>semi-expanded</item>+ <item>separate</item>+ <item>show</item>+ <item>small-caption</item>+ <item>static</item>+ <item>static-position</item>+ <item>status-bar</item>+ <item>thick</item>+ <item>thin</item>+ <item>ultra-condensed</item>+ <item>ultra-expanded</item>+ <item>underline</item>+ <item>uppercase</item>+ <item>visible</item>+ <item>wider</item>+ <item>break</item>+ <item>serif</item>+ <item>sans-serif</item>+ <item>cursive</item>+ <item>fantasy</item>+ <item>monospace</item>+ <item>border-box</item>+ <item>content-box</item>+ <item>-epub-hyphens</item>+ <item>contain</item>+ <item>cover</item>++ <!-- transition and animation -->+ <item>all</item>+ <item>ease</item>+ <item>ease-in</item>+ <item>ease-out</item>+ <item>ease-in-out</item>+ <item>step-start</item>+ <item>step-end</item>+ <item>linear</item>++ <!-- animation -->+ <item>infinite</item>+ <item>reverse</item>+ <item>alternate</item>+ <item>alternate-reverse</item>+ <item>forwards</item>+ <item>backwards</item>+ <item>running</item>+ <item>paused</item>+ </list>++ <list name="colors">+ <item>black</item>+ <item>silver</item>+ <item>gray</item>+ <item>white</item>+ <item>maroon</item>+ <item>red</item>+ <item>purple</item>+ <item>fuchsia</item>+ <item>green</item>+ <item>lime</item>+ <item>olive</item>+ <item>yellow</item>+ <item>navy</item>+ <item>blue</item>+ <item>teal</item>+ <item>aqua</item>+ <item>orange</item>+ <item>aliceblue</item>+ <item>antiquewhite</item>+ <item>aquamarine</item>+ <item>azure</item>+ <item>beige</item>+ <item>bisque</item>+ <item>blanchedalmond</item>+ <item>blueviolet</item>+ <item>brown</item>+ <item>burlywood</item>+ <item>cadetblue</item>+ <item>chartreuse</item>+ <item>chocolate</item>+ <item>coral</item>+ <item>cornflowerblue</item>+ <item>cornsilk</item>+ <item>crimson</item>+ <item>cyan</item>+ <item>aqua</item>+ <item>darkblue</item>+ <item>darkcyan</item>+ <item>darkgoldenrod</item>+ <item>darkgray</item>+ <item>darkgreen</item>+ <item>darkgrey</item>+ <item>darkkhaki</item>+ <item>darkmagenta</item>+ <item>darkolivegreen</item>+ <item>darkorange</item>+ <item>darkorchid</item>+ <item>darkred</item>+ <item>darksalmon</item>+ <item>darkseagreen</item>+ <item>darkslateblue</item>+ <item>darkslategray</item>+ <item>darkslategrey</item>+ <item>darkturquoise</item>+ <item>darkviolet</item>+ <item>deeppink</item>+ <item>deepskyblue</item>+ <item>dimgray</item>+ <item>dimgrey</item>+ <item>dodgerblue</item>+ <item>firebrick</item>+ <item>floralwhite</item>+ <item>forestgreen</item>+ <item>gainsboro</item>+ <item>ghostwhite</item>+ <item>gold</item>+ <item>goldenrod</item>+ <item>greenyellow</item>+ <item>grey</item>+ <item>honeydew</item>+ <item>hotpink</item>+ <item>indianred</item>+ <item>indigo</item>+ <item>ivory</item>+ <item>khaki</item>+ <item>lavender</item>+ <item>lavenderblush</item>+ <item>lawngreen</item>+ <item>lemonchiffon</item>+ <item>lightblue</item>+ <item>lightcoral</item>+ <item>lightcyan</item>+ <item>lightgoldenrodyellow</item>+ <item>lightgray</item>+ <item>lightgreen</item>+ <item>lightgrey</item>+ <item>lightpink</item>+ <item>lightsalmon</item>+ <item>lightseagreen</item>+ <item>lightskyblue</item>+ <item>lightslategray</item>+ <item>lightslategrey</item>+ <item>lightsteelblue</item>+ <item>lightyellow</item>+ <item>limegreen</item>+ <item>linen</item>+ <item>magenta</item>+ <item>fuchsia</item>+ <item>mediumaquamarine</item>+ <item>mediumblue</item>+ <item>mediumorchid</item>+ <item>mediumpurple</item>+ <item>mediumseagreen</item>+ <item>mediumslateblue</item>+ <item>mediumspringgreen</item>+ <item>mediumturquoise</item>+ <item>mediumvioletred</item>+ <item>midnightblue</item>+ <item>mintcream</item>+ <item>mistyrose</item>+ <item>moccasin</item>+ <item>navajowhite</item>+ <item>oldlace</item>+ <item>olivedrab</item>+ <item>orangered</item>+ <item>orchid</item>+ <item>palegoldenrod</item>+ <item>palegreen</item>+ <item>paleturquoise</item>+ <item>palevioletred</item>+ <item>papayawhip</item>+ <item>peachpuff</item>+ <item>peru</item>+ <item>pink</item>+ <item>plum</item>+ <item>powderblue</item>+ <item>rosybrown</item>+ <item>royalblue</item>+ <item>saddlebrown</item>+ <item>salmon</item>+ <item>sandybrown</item>+ <item>seagreen</item>+ <item>seashell</item>+ <item>sienna</item>+ <item>skyblue</item>+ <item>slateblue</item>+ <item>slategray</item>+ <item>slategrey</item>+ <item>snow</item>+ <item>springgreen</item>+ <item>steelblue</item>+ <item>tan</item>+ <item>thistle</item>+ <item>tomato</item>+ <item>turquoise</item>+ <item>violet</item>+ <item>wheat</item>+ <item>whitesmoke</item>+ <item>yellowgreen</item>+ <item>rebeccapurple</item>++ <item>ActiveBorder</item>+ <item>ActiveCaption</item>+ <item>AppWorkspace</item>+ <item>Background</item>+ <item>ButtonFace</item>+ <item>ButtonHighlight</item>+ <item>ButtonShadow</item>+ <item>ButtonText</item>+ <item>CaptionText</item>+ <item>GrayText</item>+ <item>Highlight</item>+ <item>HighlightText</item>+ <item>InactiveBorder</item>+ <item>InactiveCaption</item>+ <item>InactiveCaptionText</item>+ <item>InfoBackground</item>+ <item>InfoText</item>+ <item>Menu</item>+ <item>MenuText</item>+ <item>Scrollbar</item>+ <item>ThreeDDarkShadow</item>+ <item>ThreeDFace</item>+ <item>ThreeDHighlight</item>+ <item>ThreeDLightShadow</item>+ <item>ThreeDShadow</item>+ <item>Window</item>+ <item>WindowFrame</item>+ <item>WindowText</item>+ </list>++ <list name="functions">+ <item>attr</item>+ <item>calc</item>+ <item>hsl</item>+ <item>hsla</item>+ <item>linear-gradient</item>+ <item>radial-gradient</item>+ <item>repeating-linear-gradient</item>+ <item>repeating-radial-gradient</item>+ <item>rgb</item>+ <item>rgba</item>+ <item>var</item>+ <item>url</item>++ <!-- clip -->+ <item>rect</item>++ <!-- shape-outside and clip-path -->+ <item>inset</item>+ <item>circle</item>+ <item>ellipse</item>+ <item>polygon</item>++ <!-- filter and backdrop-filter -->+ <item>blur</item>+ <item>brightness</item>+ <item>contrast</item>+ <item>drop-shadow</item>+ <item>grayscale</item>+ <item>hue-rotate</item>+ <item>invert</item>+ <item>opacity</item>+ <item>saturate</item>+ <item>sepia</item>++ <!-- grid-template-columns and grid-template-rows -->+ <item>max-content</item>+ <item>min-content</item>+ <item>minmax</item>+ <item>fix-content</item>+ <item>repeat</item>++ <!-- transition and animation -->+ <item>cubic-bezier</item>+ <item>frames</item>+ <item>steps</item>++ <!-- transform -->+ <item>matrix</item>+ <item>matrix3d</item>+ <item>perspective</item>+ <item>rotate</item>+ <item>rotate3d</item>+ <item>rotateX</item>+ <item>rotateY</item>+ <item>rotateZ</item>+ <item>scale</item>+ <item>scale3d</item>+ <item>scaleX</item>+ <item>scaleY</item>+ <item>scaleZ</item>+ <item>skew</item>+ <item>skewX</item>+ <item>skewY</item>+ <item>translate</item>+ <item>translate3d</item>+ <item>translateX</item>+ <item>translateY</item>+ <item>translateZ</item>++ <!-- inner @font-face -->+ <item>local</item>+ <item>format</item>+ </list>++ <list name="medias">+ <!-- types -->+ <item>all</item>+ <item>print</item>+ <item>screen</item>+ <item>speech</item>++ <!-- features -->+ <item>any-pointer</item>+ <item>any-hover</item>+ <item>aspect-ratio</item>+ <item>color</item>+ <item>color-gamut</item>+ <item>color-index</item>+ <item>display-mode</item>+ <item>grid</item>+ <item>height</item>+ <item>hover</item>+ <item>max-aspect-ratio</item>+ <item>max-color</item>+ <item>max-color-index</item>+ <item>max-device-aspect-ratio</item>+ <item>max-device-height</item>+ <item>max-device-width</item>+ <item>max-height</item>+ <item>max-monochrome</item>+ <item>max-resolution</item>+ <item>max-width</item>+ <item>min-aspect-ratio</item>+ <item>min-color</item>+ <item>min-color-index</item>+ <item>min-device-aspect-ratio</item>+ <item>min-device-height</item>+ <item>min-device-width</item>+ <item>min-height</item>+ <item>min-monochrome</item>+ <item>min-resolution</item>+ <item>min-width</item>+ <item>monochrome</item>+ <item>orientation</item>+ <item>pointer</item>+ <item>resolution</item>+ <item>scan</item>+ <item>update</item>+ <item>width</item>+ </list>++ <!-- prefixed by :: -->+ <list name="pseudoelements">+ <item>after</item>+ <item>before</item>+ <item>cue</item>+ <item>first-letter</item>+ <item>first-line</item>+ <item>selection</item>++ <!-- experimental -->+ <item>backdrop</item>+ <item>placeholder</item>+ <!-- <item>marker</item> -->+ <item>slotted</item>+ <!-- <item>spelling-error</item> -->+ <!-- <item>grammar-error</item> -->++ <!-- UI pseudo-classes -->+ <item>value</item>+ <item>choices</item>+ <item>repeat-item</item>+ <item>repeat-index</item>++ <item>-moz-progress-bar</item>+ <item>-moz-range-progress</item>+ <item>-moz-range-thumb</item>+ <item>-moz-range-track</item>+ <item>-moz-selection</item>+ <item>-ms-fill</item>+ <item>-ms-fill-lower</item>+ <item>-ms-fill-upper</item>+ <item>-ms-thumb</item>+ <item>-ms-track</item>+ <item>-webkit-progress-bar</item>+ <item>-webkit-progress-value</item>+ <item>-webkit-slider-runnable-track</item>+ <item>-webkit-slider-thumb</item>+ </list>++ <!-- prefixed by : -->+ <list name="pseudoclasses">+ <item>active</item>+ <item>any-link</item>+ <item>checked</item>+ <item>default</item>+ <item>defined</item>+ <!-- <item>dir</item> -->+ <item>disabled</item>+ <item>empty</item>+ <item>enabled</item>+ <item>first-child</item>+ <item>first-of-type</item>+ <item>fullscreen</item>+ <item>focus</item>+ <item>focus-within</item>+ <item>host</item>+ <item>hover</item>+ <item>in-range</item>+ <item>indeterminate</item>+ <item>invalid</item>+ <item>lang</item>+ <item>last-child</item>+ <item>last-of-type</item>+ <item>link</item>+ <item>not</item>+ <item>nth-child</item>+ <item>nth-last-child</item>+ <item>nth-last-of-type</item>+ <item>nth-of-type</item>+ <item>only-child</item>+ <item>only-of-type</item>+ <item>optional</item>+ <item>out-of-range</item>+ <item>placeholder-shown</item>+ <item>read-only</item>+ <item>read-write</item>+ <item>required</item>+ <item>root</item>+ <item>scope</item>+ <item>target</item>+ <item>valid</item>+ <item>visited</item>++ <!-- pseudo-elements -->+ <item>after</item>+ <item>before</item>+ <item>cue</item>+ <item>first-letter</item>+ <item>first-line</item>+ <item>selection</item>+ </list>++ <list name="pseudoclass-not">+ <item>not</item>+ </list>++ <list name="pseudoclasses-@page">+ <item>blank</item>+ <item>first</item>+ <item>left</item>+ <item>recto</item>+ <item>right</item>+ <item>verso</item>+ </list>++ <list name="at-rules">+ <item>@character</item>+ <item>@charset</item>+ <item>@import</item>+ <item>@namespace</item>+ </list>++ <list name="nested at-rules">+ <item>@document</item>+ <item>@media</item>+ <item>@supports</item>+ </list>++ <list name="@viewport">+ <item>@viewport</item>+ </list>++ <list name="within-@viewport">+ <item>min-width</item>+ <item>max-width</item>+ <item>width</item>+ <item>min-height</item>+ <item>max-height</item>+ <item>height</item>+ <item>zoom</item>+ <item>min-zoom</item>+ <item>max-zoom</item>+ <item>user-zoom</item>+ <item>orientation</item>+ <item>viewport-fit</item>+ </list>++ <list name="@page">+ <item>@page</item>+ </list>++ <list name="within-@page">+ <item>size</item>+ <item>marks</item>+ <item>bleed</item>+ </list>++ <list name="@font-face">+ <item>@font-face</item>+ </list>++ <list name="within-@font-face">+ <item>font-display</item>+ <item>font-family</item>+ <item>font-stretch</item>+ <item>font-style</item>+ <item>font-weight</item>+ <item>font-variant</item>+ <item>font-feature-settings</item>+ <item>font-variation-settings</item>+ <item>src</item>+ <item>unicode-range</item>+ </list>++ <list name="@keyframes">+ <item>@keyframes</item>+ </list>++ <list name="within-@keyframes">+ <item>from</item>+ <item>to</item>+ </list>++ <list name="media operators">+ <item>and</item>+ <item>only</item>+ <item>not</item>+ </list>++ <contexts>+ <context name="Base" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />+ <DetectChar attribute="At Rule" context="SelectAtRule" char="@" lookAhead="true" />+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ <DetectChar attribute="Selector Attribute" context="SelectorAttr" char="[" />+ <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 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;)*" />+ </context>++ <context name="FindSelector" attribute="Normal Text" lineEndContext="#stay">+ <IncludeRules context="FindComments" />+ <!-- find selectors // .class #id :hover :nth-child(2n+1) [type="search"] -->+ <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 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;)*" />+ </context>++ <!-- find functions // rgba(255,255,255,0.75) -->+ <context name="FindFunctions" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr attribute="Function" context="Function" String="[a-z\-]{2,}\(" lookAhead="true" />+ </context>++ <!-- find values // 10px 12pt 2.5em 1rem 75% #ffcc99 red solid -->+ <context name="FindValues" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Annotation" context="Annotation" char="!" />+ <keyword attribute="Value Keyword" context="#stay" String="value keywords" />+ <keyword attribute="Value" context="#stay" String="values" />+ <keyword attribute="Color" context="#stay" String="colors" />+ <RegExpr attribute="Color" context="#stay" String="#([0-9A-Fa-f]{3}){1,2}\b" />+ <RegExpr attribute="Number" context="FindUnits" String="[-+]?[0-9.]+(?![-+])" />+ <RegExpr attribute="Normal Text" context="#stay" String="[-]?(&nmstart;)(&nmchar;)*" />+ </context>++ <context name="Annotation" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <WordDetect attribute="Annotation" context="#pop" String="important" />+ </context>++ <context name="FindUnits" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Unit" context="#stay" String="(%|(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b)(?![-+])" />+ </context>++ <!-- find strings // "some words" 'some words' -->+ <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="String" context="StringDQ" char=""" />+ <DetectChar attribute="String" context="StringSQ" char="'" />+ </context>++ <!-- find comments // /* comment */ -->+ <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">+ <Detect2Chars attribute="Comment" context="IsComments" char="/" char1="*" lookAhead="true"/>+ <Detect2Chars attribute="Error" context="Error" char="/" char1="/" />+ </context>++ <context name="Error" attribute="Error" lineEndContext="#pop">+ <RegExpr attribute="Error" context="#pop" String=".*" />+ </context>++ <context name="IsComments" attribute="Normal Text" lineEndContext="#stay">+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*BEGIN\b.*\*/" beginRegion="UserDefined" />+ <RegExpr attribute="Region Marker" context="#pop" String="/\*\s*END\b.*\*/" endRegion="UserDefined" />+ <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />+ </context>++ <context name="SelectAtRule" attribute="At Rule" lineEndContext="#pop">+ <keyword attribute="At Rule" context="#pop!NestedAtRule" String="nested at-rules" />+ <keyword attribute="At Rule" context="#pop!AtRule" String="at-rules" />+ <keyword attribute="At Rule" context="#pop!@keyframes" String="@keyframes" />+ <keyword attribute="At Rule" context="#pop!@viewport" String="@viewport" />+ <keyword attribute="At Rule" context="#pop!@font-face" String="@font-face" />+ <keyword attribute="At Rule" context="#pop!@page" String="@page" />+ <RegExpr attribute="At Rule" context="#pop!UnknownAtRule" String="@[a-zA-Z0-9\-_]+\b" />+ </context>++ <context name="@keyframes" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="Within-@keyframes" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@keyframes" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="RuleSet" char="{" beginRegion="ruleset" />+ <keyword attribute="Value" context="#stay" String="within-@keyframes" />+ <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+%" />+ </context>++ <context name="@viewport" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo" char=":" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@viewport" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@viewport" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <keyword attribute="Property" context="IsProperty" String="within-@viewport" />+ <IncludeRules context="RuleSet" />+ </context>++ <context name="@font-face" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@font-face" char="{" beginRegion="ruleset" />+ </context>++ <context name="Within-@font-face" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <keyword attribute="Property" context="IsProperty" String="within-@font-face" />+ <RegExpr attribute="Unknown Property" context="IsProperty" String="[A-Za-z_-]+\b" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ </context>++ <context name="@page" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudo-@page" char=":" />+ <DetectChar attribute="Normal Text" context="#pop!Within-@page" char="{" beginRegion="ruleset" />+ </context>++ <context name="SelectorPseudo-@page" attribute="Selector Pseudo" lineEndContext="#pop">+ <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses-@page" />+ <RegExpr attribute="Selector Pseudo" context="#pop" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="Within-@page" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <keyword attribute="Property" context="IsProperty" String="within-@page" />+ <IncludeRules context="RuleSet" />+ </context>++ <context name="IsProperty" attribute="Error" lineEndContext="#stay">+ <DetectSpaces attribute="Normal Text" />+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ </context>++ <context name="NestedAtRule" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="NestedBase" char="{" beginRegion="ruleset" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="NestedBase" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="ruleset" />+ <IncludeRules context="Base" />+ </context>++ <context name="AtRule" attribute="Normal Text" lineEndContext="#pop">+ <DetectSpaces />+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="UnknownAtRule" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Separator Symbol" context="#pop" char=";" />+ <DetectChar attribute="Normal Text" context="#pop!RuleSet" char="{" beginRegion="ruleset" />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <IncludeRules context="AtRuleValue" />+ </context>++ <context name="AtRuleValue" attribute="Normal Text" lineEndContext="#stay">+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <keyword attribute="Keyword" context="#stay" String="media operators" />+ <RegExpr attribute="Property" context="#stay" String="[A-Za-z_-]+(?=\s*:)" />+ <keyword attribute="Value" context="#stay" String="medias" />+ <IncludeRules context="FindValues" />+ </context>++ <context name="SelectorAttr" attribute="Selector Attribute" lineEndContext="#stay">+ <DetectChar attribute="Selector Attribute" context="#pop" char="]" />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Operator" context="SelectorAttrValue" char="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="~" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="^" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="$" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="*" char1="=" />+ <Detect2Chars attribute="Operator" context="SelectorAttrValue" char="|" char1="=" />+ <DetectIdentifier />+ </context>++ <context name="SelectorAttrValue" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="Selector Attribute" context="#pop#pop" char="]" />+ <DetectIdentifier />+ </context>++ <context name="SelectorPseudo" attribute="Selector Pseudo" lineEndContext="#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoElements" char=":" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValueSelector" String="pseudoclass-not" />+ <keyword attribute="Selector Pseudo" context="SelectorPseudoValue" String="pseudoclasses" />+ <RegExpr attribute="Selector Pseudo" context="SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="SelectorPseudoElements" attribute="Selector Pseudo" lineEndContext="#pop#pop">+ <keyword attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="pseudoelements" />+ <RegExpr attribute="Selector Pseudo" context="#pop!SelectorPseudoValue" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="SelectorPseudoValueSelector" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueCloseSelector" char="(" />+ </context>++ <context name="SelectorPseudoValueCloseSelector" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <DetectChar attribute="Error" context="#pop#pop#pop!RuleSet" char="{" beginRegion="ruleset" />+ <IncludeRules context="FindSelector" />+ </context>++ <context name="SelectorPseudoValue" attribute="Selector Pseudo" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="SelectorPseudoValueClose" char="(" />+ </context>++ <context name="SelectorPseudoValueClose" attribute="Selector Pseudo" lineEndContext="#pop#pop#pop">+ <DetectChar attribute="Selector Pseudo" context="#pop#pop#pop" char=")" />+ <DetectIdentifier />+ </context>++ <context name="Comment" attribute="Comment" lineEndContext="#stay">+ <DetectSpaces />+ <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="comment" />+ <IncludeRules context="##Alerts" />+ <DetectIdentifier />+ </context>++ <context name="RuleSet" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="ruleset" />+ <RegExpr attribute="Property" context="Rule" String="[A-Za-z_-]+(?=\s*:)" lookAhead="true" />+ <IncludeRules context="Base" />+ <RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_-]+" />+ <!-- auto-completion only, includes by previous rule -->+ <keyword attribute="Normal Text" context="#stay" String="properties" />+ </context>++ <context name="Rule" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Normal Text" context="RuleParameters" char=":" />+ <Detect2Chars attribute="Variable" context="IsVariable" char="-" char1="-" />+ <keyword attribute="Property" context="#stay" String="properties" />+ <RegExpr attribute="Unknown Property" context="#stay" String="[^:]+" />+ </context>++ <context name="IsVariable" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="Normal Text" context="#pop!RuleParameters" char=":" />+ <RegExpr attribute="Variable" context="#stay" String="[^:]+" />+ </context>++ <context name="RuleParameters" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <!-- Jump out conditions -->+ <DetectChar attribute="Separator Symbol" context="#pop#pop" char=";" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="#pop#pop#pop" char="}" endRegion="ruleset" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="Function" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Function" context="FunctionParameters" char="(" />+ <StringDetect attribute="Function" context="FunctionVar" String="var(" />+ <StringDetect attribute="Function" context="FunctionUrl" String="url(" />+ <StringDetect attribute="Function" context="FunctionCalc" String="calc(" />+ <keyword attribute="Function" context="#stay" String="functions" />+ <RegExpr attribute="Normal Text" context="#stay" String="[-a-zA-Z][-a-zA-Z0-9]*" />+ </context>++ <context name="FunctionVar" attribute="Variable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!FunctionParameters">+ <DetectSpaces />+ <RegExpr attribute="Variable" context="#pop!FunctionParameters" String="--[^ \t\),]+" />+ </context>++ <context name="FunctionCalc" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <context name="NestedCalc" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Normal Text" context="#pop" char=")" />+ <IncludeRules context="Calc" />+ </context>++ <context name="Calc" attribute="Normal Text" lineEndContext="#stay">+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <DetectChar attribute="Normal Text" context="NestedCalc" char="(" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindFunctions" />+ <IncludeRules context="FindValues" />+ <RegExpr attribute="Operator" context="#stay" String="[-](?=$|[ \t(,;])|[+](?=$|[^0-9)])|[/*]" />+ <!-- auto-completion only -->+ <keyword attribute="Normal Text" context="#stay" String="functions" />+ </context>++ <context name="FunctionUrl" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="UrlValue">+ <DetectSpaces />+ <IncludeRules context="FindStrings" />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ </context>++ <context name="UrlValue" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="Function" context="#pop#pop#pop" char=")" />+ </context>++ <context name="FunctionParameters" attribute="Normal Text" lineEndContext="#stay">+ <DetectSpaces />+ <DetectChar attribute="Function" context="#pop#pop" char=")" />+ <IncludeRules context="FindComments" />+ <IncludeRules context="FindStrings" />+ <IncludeRules context="FindValues" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ </context>++ <!-- string contexts -->+ <context name="StringDQ" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="String" context="#pop" char=""" />+ <IncludeRules context="InsideString" />+ </context>++ <context name="StringSQ" attribute="String" lineEndContext="#stay">+ <DetectChar attribute="String" context="#pop" char="'" />+ <IncludeRules context="InsideString" />+ </context>++ <context name="InsideString" attribute="String" lineEndContext="#stay">+ <RegExpr attribute="SpecialChar" context="#stay" String="\\([0-9A-Fa-f]{1,6}|.?)" />+ <RegExpr attribute="String" context="#stay" String="\\?[^"'\\]+" />+ </context>++ </contexts>++ <itemDatas>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="At Rule" defStyleNum="dsImport" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Unknown Property" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="SpecialChar" defStyleNum="dsSpecialChar" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Separator Symbol" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Value" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Value Keyword" defStyleNum="dsBuiltIn" spellChecking="false"/>+ <itemData name="Color" defStyleNum="dsConstant" spellChecking="false"/>+ <itemData name="Unit" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>+ <itemData name="Selector Id" defStyleNum="dsPreprocessor" bold="1" spellChecking="false"/>+ <itemData name="Selector Class" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Selector Attribute" defStyleNum="dsExtension" spellChecking="false"/>+ <itemData name="Selector Pseudo" defStyleNum="dsInformation" italic="1" spellChecking="false"/>+ <itemData name="Selector Tag" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Comment" defStyleNum="dsComment" />+ <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="0" weakDeliminator="-%@" /> <comments> <comment name="multiLine" start="/*" end="*/" /> </comments>
xml/dockerfile.xml view
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> <!-- Dockerfile syntaxfile v1.0 by James Turnbull <james@lovedthanlost.net> -->-<language name="Dockerfile" section="Other" version="6" kateversion="3.4" extensions="Dockerfile" author="James Turnbull (james@lovedthanlost.net)" license="LGPLv2+">+<language name="Dockerfile" section="Other" version="7" kateversion="3.4" extensions="Dockerfile" author="James Turnbull (james@lovedthanlost.net)" license="MIT"> <highlighting> <list name="keywords"> <item>ADD</item>
xml/email.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Email" version="4" kateversion="5.0" extensions="*.eml;*.email;*.emlx;*.mbox;*.mbx" section="Other" mimetype="message/rfc822" casesensitive="0" author="Volker Krause (vkrause@kde.org)" license="MIT">+<language name="Email" version="5" kateversion="5.0" extensions="*.eml;*.email;*.emlx;*.mbox;*.mbx" section="Other" mimetype="message/rfc822" casesensitive="0" author="Volker Krause (vkrause@kde.org)" license="MIT"> <highlighting> <list name="header-names"> <item>Authentication-Results:</item>@@ -51,8 +51,14 @@ <contexts> <context name="header" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="#pop!body-context">+ <WordDetect attribute="Common Header" context="header-subject" String="Subject:" column="0"/> <keyword attribute="Common Header" context="header-structured-content" String="header-names" column="0"/> <RegExpr attribute="Other Header" context="header-content" String="[0-9a-zA-Z-]+:\s" column="0"/>+ </context>++ <context name="header-subject" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="#pop#pop!body-context">+ <RegExpr context="#pop" String="\S" column="0" lookAhead="true"/>+ <DetectChar attribute="String" context="string-context" char="""/> </context> <context name="header-structured-content" attribute="Normal Text" lineEndContext="#stay" lineEmptyContext="#pop#pop!body-context">
xml/fortran.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Fortran" version="2" kateversion="5.0" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL" priority="9">+<language name="Fortran" version="3" kateversion="5.0" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL" priority="9"> <!-- by Franchin Matteo, fnch@libero.it --> <highlighting> @@ -402,8 +402,12 @@ <!-- This context highlights comments --> <context attribute="Normal Text" lineEndContext="#stay" name="find_comments">- <RegExpr attribute="Comment" context="#stay" String="[cC\*].*$" column="0"/>- <RegExpr attribute="Comment" context="#stay" String="!.*$"/>+ <AnyChar attribute="Comment" context="comment" String="cC*" column="0"/>+ <DetectChar attribute="Comment" context="comment" char="!"/>+ </context>++ <context attribute="Comment" lineEndContext="#pop" name="comment">+ <IncludeRules context="##Alerts"/> </context> <!-- This context highlights symbols -->
xml/gcc.xml view
@@ -13,7 +13,7 @@ --> <language name="GCCExtensions"- version="3"+ version="4" kateversion="5.0" section="Sources" extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;"@@ -421,7 +421,6 @@ <item>__UINT_LEAST8_TYPE__</item> <item>__USER_LABEL_PREFIX__</item> <item>__USING_SJLJ_EXCEPTIONS__</item>- <item>__VA_ARGS__</item> <item>__VERSION__</item> <item>__WCHAR_MAX__</item> <item>__WCHAR_MIN__</item>@@ -532,14 +531,22 @@ <keyword attribute="GNU Macros" context="#stay" String="GNUMacros" /> <keyword attribute="GNU Functions" context="#stay" String="GNUFunctions" /> <keyword attribute="GNU Types" context="#stay" String="GNUTypes" />- <StringDetect attribute="GNU Extensions" context="AttrArgs" String="__attribute__" />- <StringDetect attribute="GNU Extensions" context="AttrArgs" String="__declspec" />+ <WordDetect attribute="GNU Extensions" context="AttrArgs" String="__attribute__" />+ <WordDetect attribute="GNU Extensions" context="AttrArgs" String="__declspec" /> <keyword attribute="GNU Extensions" context="#stay" String="GNUKeywords" /> <RegExpr attribute="GNU Functions" context="#stay" String="__builtin_[a-zA-Z0-9_]+" />- <!-- (gcc info 6.57) Binary constants using the `0b' prefix -->- <RegExpr attribute="GNU Extensions" context="#stay" String="0[Bb][01]+([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" /> </context> + <context name="DetectGccExtensionsInPP" attribute="Normal Text" lineEndContext="#stay">+ <keyword attribute="GNU Macros" context="#stay" String="GNUMacros" />+ <keyword attribute="GNU Functions" context="#stay" String="GNUFunctions" />+ <keyword attribute="GNU Types" context="#stay" String="GNUTypes" />+ <WordDetect attribute="GNU Extensions" context="AttrArgsInPP" String="__attribute__" />+ <WordDetect attribute="GNU Extensions" context="AttrArgsInPP" String="__declspec" />+ <keyword attribute="GNU Extensions" context="#stay" String="GNUKeywords" />+ <RegExpr attribute="GNU Functions" context="#stay" String="__builtin_[a-zA-Z0-9_]+" />+ </context>+ <context name="GNUMacros" attribute="Normal Text" lineEndContext="#stay"> <keyword attribute="GNU Macros" context="#stay" String="GNUMacros" /> </context>@@ -550,6 +557,11 @@ <DetectChar attribute="GNU Extensions" context="Close" char="(" /> </context> + <context name="AttrArgsInPP" attribute="GNU Extensions" lineEndContext="#pop">+ <DetectChar attribute="Error" context="#pop" char="\" lookAhead="true" />+ <IncludeRules context="AttrArgs" />+ </context>+ <context name="Close" attribute="GNU Extensions" lineEndContext="#stay"> <DetectChar attribute="GNU Extensions" context="#pop" char=")" /> <DetectChar attribute="String" context="AttrStringArg" char=""" />@@ -559,15 +571,32 @@ <DetectChar attribute="String" context="#pop" char=""" /> </context> ++ <context name="DetectGccAttributes" attribute="Normal Text" lineEndContext="#stay">+ <StringDetect attribute="GNU Extensions" context="CppAttr" String="gnu::" />+ <StringDetect attribute="GNU Extensions" context="CppAttr" String="clang::" />+ </context>++ <context name="DetectNamespaceGccAttributes" attribute="Normal Text" lineEndContext="#stay">+ <WordDetect attribute="GNU Extensions" context="#pop" String="gnu" />+ <WordDetect attribute="GNU Extensions" context="#pop" String="clang" />+ </context>++ <context name="CppAttr" attribute="Error" lineEndContext="#stay">+ <DetectSpaces/>+ <DetectIdentifier attribute="GNU Extensions" context="#pop" />+ </context>+ </contexts> <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" /> <itemData name="GNU Extensions" defStyleNum="dsExtension" spellChecking="false" italic="1" />- <itemData name="GNU Functions" defStyleNum="dsFunction" spellChecking="false" />- <itemData name="GNU Macros" defStyleNum="dsOthers" spellChecking="false" />- <itemData name="GNU Types" defStyleNum="dsDataType" spellChecking="false" />- <itemData name="String" defStyleNum="dsString" spellChecking="false" />+ <itemData name="GNU Functions" defStyleNum="dsFunction" spellChecking="false" />+ <itemData name="GNU Macros" defStyleNum="dsOthers" spellChecking="false" />+ <itemData name="GNU Types" defStyleNum="dsDataType" spellChecking="false" />+ <itemData name="String" defStyleNum="dsString" spellChecking="false" />+ <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> </itemDatas> </highlighting>
xml/haskell.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Haskell" version="9" kateversion="3.4" section="Sources" extensions="*.hs;*.chs;*.hs-boot" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell" style="haskell">+<language name="Haskell" version="10" kateversion="3.4" section="Sources" extensions="*.hs;*.chs;*.hs-boot" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell" style="haskell"> <highlighting> <list name="keywords"> <item>case</item>@@ -9,6 +9,8 @@ <item>deriving</item> <item>do</item> <item>else</item>+ <item>family</item>+ <item>forall</item> <item>if</item> <item>in</item> <item>infixl</item>@@ -18,14 +20,13 @@ <item>module</item> <item>newtype</item> <item>of</item>+ <item>pattern</item> <item>primitive</item> <item>then</item> <item>type</item> <item>where</item> </list> <list name="prelude function">- <item>FilePath</item>- <item>IOError</item> <item>abs</item> <item>acos</item> <item>acosh</item>@@ -477,6 +478,7 @@ <RegExpr attribute="Function" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*" /> <RegExpr attribute="Operator" context="#stay" String="([A-Z][a-zA-Z0-0_']*\.)*[\-!#\$%&\*\+/<=>\?\@\^\|~\.:]+" /> <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />+ <RegExpr attribute="Type" context="#stay" String="'(?![A-Z]')([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" /> <RegExpr attribute="Float" context="#stay" String ="\d+\.\d+([Ee][+-]?\d+)?|\d+[Ee][+-]?\d+"/> <RegExpr attribute="Octal" context="#stay" String="0[Oo][0-7]+"/>@@ -605,7 +607,7 @@ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" /> <itemData name="Type Prelude" defStyleNum="dsDataType" spellChecking="false" />- <itemData name="Function Prelude" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Function Prelude" defStyleNum="dsFunction" spellChecking="false" /> <itemData name="Data Prelude" defStyleNum="dsDataType" spellChecking="false" /> <itemData name="Class Prelude" defStyleNum="dsDataType" spellChecking="false" />
xml/ini.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="INI Files" section="Configuration" extensions="*.ini;*.pls;*.kcfgc" mimetype="" version="3" kateversion="2.4" author="Jan Janssen (medhefgo@web.de)" license="LGPL">+<language name="INI Files" section="Configuration" extensions="*.ini;*.pls;*.kcfgc;*.conf" mimetype="" version="4" kateversion="2.4" author="Jan Janssen (medhefgo@web.de)" license="LGPL"> <highlighting> <list name="keywords">
xml/isocpp.xml view
@@ -1,17 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [- <!ENTITY space " ">- <!ENTITY separators ",;">- <!ENTITY ns_punctuators "!%&space;&()+-/.*<=>?[]{|}~^&separators;">+ <!ENTITY int "(?:[0-9](?:'?[0-9]+)*)">+ <!ENTITY hex_int "(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]+)*)">+ <!ENTITY exp_float "(?:[eE][+-]?∫)">+ <!ENTITY exp_hexfloat "(?:[pP][-+]?∫)">++ <!ENTITY separators ",;">+ <!ENTITY ns_punctuators "(){}[].+-/*%=<>!|&?~^"> <!ENTITY punctuators ":&ns_punctuators;">+ <!-- printf-like format strings conversion specifiers -->- <!ENTITY convspec "diouxXeEfFgGaAcspn%">+ <!ENTITY printf_like "%(?:ll?|[zjtL]|hh?)?[diouxXeEfFgGaAcspn%]">++ <!ENTITY ispphash "(?:#|%\:|\?\?=)">+ <!ENTITY pphash "&ispphash;\s*">+ <!ENTITY ppemptypp "($|(?=(/\*([^*]|\*[^/])*\*/\s*)?(//.*)?$))">+ <!ENTITY ppcond0 "\s+(?:0|false)\s*&ppemptypp;">+ <!ENTITY ppcond1 "\s+(?:1|true)\s*(\|\|([^/]|/[^*/])+)?&ppemptypp;"> ]> <language name="ISO C++" section="Sources"- version="12"+ version="14" kateversion="5.0" indenter="cstyle" style="C++"@@ -50,6 +61,8 @@ <item>asm</item> <item>auto</item> <item>class</item>+ <item>concept</item> <!-- C++20 -->+ <item>requires</item> <!-- C++20 --> <item>constexpr</item> <item>const_cast</item> <item>decltype</item>@@ -97,6 +110,20 @@ <item>or_eq</item> <item>xor</item> <item>xor_eq</item>+ <!-- TM TS -->+ <!-- <list>atomic_cancel</list>+ <list>atomic_commit</list>+ <list>atomic_noexcept</list>+ <list>synchronized</list>+ <list>transaction_safe</list>+ <list>transaction_safe_dynamic</list> -->+ <!-- module TS -->+ <!-- <list>import</list>+ <list>module</list> -->+ <!-- coroutine TS -->+ <!-- <list>co_await</list>+ <list>co_return</list>+ <list>co_yield</list> --> </list> <!-- This keyword may appear in InternalsNS context. For example in code: details::some_class::template some_templated_static();@@ -107,13 +134,31 @@ </list> <!-- 7.6 Attributes -->+ <!-- http://en.cppreference.com/w/cpp/language/attributes --> <list name="attributes"> <!-- C++11 --> <item>noreturn</item> <item>carries_dependency</item>- <!-- C++1y -->+ <!-- C++14 --> <item>deprecated</item>+ <!-- C++17 -->+ <item>fallthrough</item>+ <item>nodiscard</item>+ <item>maybe_unused</item>+ <!-- C++20 -->+ <item>likely</item>+ <item>unlikely</item>+ <item>no_unique_address</item>+ <!-- TM TS -->+ <!-- <item>optimize_for_synchronized</item> --> </list>+ <!-- This keyword may appear in Attribute context. For example in code:+ [[using CC: opt(1), debug]]+ and it should be displayed as keyword, not like part of attribute...+ -->+ <list name="using">+ <item>using</item>+ </list> <list name="types"> <item>bool</item>@@ -176,71 +221,81 @@ <item>thread_local</item> <item>volatile</item> </list>+ <!-- http://en.cppreference.com/w/cpp/preprocessor/replace --> <list name="StdMacros">+ <item>__DATE__</item> <item>__FILE__</item> <item>__LINE__</item>- <item>__DATE__</item>- <item>__TIME__</item>- <item>__STDC__</item>- <item>__STDC_VERSION__</item>+ <item>__STDCPP_DEFAULT_NEW_ALIGNMENT__</item>+ <item>__STDCPP_STRICT_POINTER_SAFETY__</item>+ <item>__STDCPP_THREADS__</item> <item>__STDC_HOSTED__</item> <item>__STDC_ISO_10646__</item> <item>__STDC_MB_MIGHT_NEQ_WC__</item>+ <item>__STDC_VERSION__</item>+ <item>__STDC__</item>+ <item>__TIME__</item> <item>__cplusplus</item> <item>__func__</item>+ <item>assert</item>+ <item>_Pragma</item>+ <item>__has_include</item> </list>+ <list name="InMacro">+ <item>__VA_ARGS__</item>+ <item>__VA_OPT__</item>+ </list>+ <list name="preprocessorIf">+ <item>if</item>+ </list>+ <list name="preprocessorIfDef">+ <item>ifdef</item>+ <item>ifndef</item>+ </list>+ <list name="preprocessorElseIf">+ <item>elif</item>+ </list>+ <list name="preprocessorElse">+ <item>else</item>+ </list>+ <list name="preprocessorEndIf">+ <item>endif</item>+ </list>+ <list name="preprocessorDefine">+ <item>cmakedefine01</item>+ <item>cmakedefine</item>+ <item>define</item>+ </list>+ <list name="preprocessorInclude">+ <item>include</item>+ </list>+ <list name="preprocessorOther">+ <item>error</item>+ <item>line</item>+ <item>pragma</item>+ <item>undef</item>+ <item>warning</item>+ </list> <contexts>- <context name="Normal" attribute="Normal Text" lineEndContext="#stay">- <DetectSpaces />- <RegExpr attribute="Preprocessor" context="Outscoped" String="(#|%\:|\?\?=)\s*if\s+(0|false)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="Inscoped" String="(#|%\:|\?\?=)\s*if\s+(1|true)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />- <IncludeRules context="Main" />- </context>- <context name="Main" attribute="Normal Text" lineEndContext="#stay">- <!-- Match preprocessor directives -->- <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />- <Detect2Chars context="AfterHash" char="%" char1=":" firstNonSpace="true" lookAhead="true" />- <StringDetect context="AfterHash" String="??=" firstNonSpace="true" lookAhead="true" />- <Detect2Chars attribute="Error" context="#stay" char="%" char1=":" />- <StringDetect attribute="Error" String="??=" context="#stay" />- <!-- Match special comments for region markers -->- <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />- <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />- <!-- ATTENTION Special case `operator""` cuz Kate doesn't recognize- `operator` joined w/ quotes as a keyword here. BUG??- -->- <RegExpr attribute="Normal Text" context="UDLOperator" String="operator\s*"" _[_0-9A-Za-z]*\b" lookAhead="true" />- <RegExpr attribute="Error" context="#stay" String="operator\s*"" [_0-9A-Za-z]*\b" />- <!-- Match keywords -->- <keyword attribute="Control Flow" context="#stay" String="controlflow" />- <keyword attribute="Keyword" context="#stay" String="keywords" />+ <DetectSpaces/>+ <!-- Match scope regions -->+ <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />+ <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" /> <!-- Detect attributes --> <Detect2Chars attribute="Symbol" context="Attribute" char="[" char1="[" /> <!-- Match numbers -->- <!-- ATTENTION Builtin number detectors have strange behaviour and definitely lack of required features -->- <!-- NOTE Order is important! -->- <RegExpr attribute="Hex" context="#stay" String="[\+\-]?0x[0-9A-Fa-f]('?[0-9A-Fa-f]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />- <RegExpr attribute="Binary" context="#stay" String="0[Bb][01]('?[01]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />- <Float attribute="Float" context="#stay">- <AnyChar String="FfLl" attribute="Float" context="#stay"/>- </Float>- <RegExpr attribute="Octal" context="#stay" String="[\+\-]?0'?[0-7]('?[0-7]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />- <RegExpr attribute="Decimal" context="#stay" String="[\+\-]?(0|[1-9]('?[0-9]+)*)([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />- <RegExpr attribute="Error" context="#stay" String="[\+\-]?(0x?|[1-9][0-9]*)[0-9A-Za-z][_0-9A-Za-z]*\b" />+ <RegExpr attribute="Decimal" context="Number" String="\.?[0-9]" lookAhead="true" />+ <!-- Match comments -->+ <IncludeRules context="match comments and region markers" />+ <!-- Match punctuators -->+ <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />+ <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />+ <!-- Match keywords -->+ <IncludeRules context="match keywords" /> <!-- Match string literals -->- <DetectChar attribute="String" context="String" char=""" />- <Detect2Chars attribute="String" context="String" char="U" char1=""" />- <Detect2Chars attribute="String" context="String" char="u" char1=""" />- <Detect2Chars attribute="String" context="String" char="L" char1=""" />- <StringDetect attribute="String" context="String" String="u8"" />- <RegExpr attribute="String" context="RawString" String="(u|u8|U|L)?R"([^\(]{0,16})\(" lookAhead="true" />- <RegExpr attribute="Error" context="#stay" String="(u|u8|U|L)?R"([^\(]{16,})\(" />- <DetectChar attribute="Char" context="Char Literal" char="'" />- <Detect2Chars attribute="Char" context="Char Literal" char="L" char1="'" />- <Detect2Chars attribute="Char" context="U-Char Literal" char="u" char1="'" />- <Detect2Chars attribute="Char" context="U-Char Literal" char="U" char1="'" />+ <IncludeRules context="match string" /> <!-- Match GCC extensions --> <IncludeRules context="DetectGccExtensions##GCCExtensions" /> <!-- Match most used namespaces and styles -->@@ -251,120 +306,278 @@ <StringDetect attribute="Internals" context="InternalsNS" String="details::" /> <StringDetect attribute="Internals" context="InternalsNS" String="aux::" /> <StringDetect attribute="Internals" context="InternalsNS" String="internals::" />+ <IncludeRules context="match identifier" />+ <!-- Match preprocessor directives -->+ <RegExpr attribute="Preprocessor" context="AfterHash" String="&ispphash;" lookAhead="true" />+ <!-- Match invalid symbols -->+ <AnyChar attribute="Error" context="#stay" String="$@`" />+ </context>++ <context name="match comments" attribute="Normal Text" lineEndContext="#pop">+ <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true"/>+ <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />+ </context>++ <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <IncludeRules context="##Doxygen" />+ <Detect2Chars attribute="Comment" context="#pop!Comment 1" char="/" char1="/" />+ <Detect2Chars attribute="Comment" context="#pop!Comment 2" char="/" char1="*" beginRegion="Comment" />+ </context>++ <context name="match comments and region markers" attribute="Normal Text" lineEndContext="#pop">+ <Detect2Chars attribute="Comment" context="MatchCommentAndRegionMarkers" char="/" char1="/" lookAhead="true"/>+ <Detect2Chars attribute="Comment" context="MatchCommentAndRegionMarkers" char="/" char1="*" lookAhead="true" />+ </context>++ <context name="MatchCommentAndRegionMarkers" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />+ <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />+ <IncludeRules context="MatchComment" />+ </context>++ <context name="match keywords" attribute="Normal Text" lineEndContext="#pop">+ <WordDetect attribute="Keyword" context="CheckUDLOperator" String="operator" />+ <keyword attribute="Control Flow" context="#stay" String="controlflow" />+ <keyword attribute="Keyword" context="#stay" String="keywords" />+ </context>++ <context name="match string" attribute="Normal Text" lineEndContext="#pop">+ <DetectChar attribute="String" context="String" char=""" />+ <Detect2Chars attribute="String" context="String32" char="U" char1=""" />+ <Detect2Chars attribute="String" context="String16" char="u" char1=""" />+ <Detect2Chars attribute="String" context="String16" char="L" char1=""" />+ <StringDetect attribute="String" context="String8" String="u8"" />+ <Detect2Chars attribute="String" context="RawString" char="R" char1=""" />+ <StringDetect attribute="String" context="RawString" String="uR"" />+ <StringDetect attribute="String" context="RawString" String="UR"" />+ <StringDetect attribute="String" context="RawString" String="LR"" />+ <StringDetect attribute="String" context="RawString" String="u8R"" />+ <DetectChar attribute="Char" context="Char8 Literal" char="'" />+ <Detect2Chars attribute="Char" context="Char16 Literal" char="L" char1="'" />+ <Detect2Chars attribute="Char" context="Char16 Literal" char="u" char1="'" />+ <Detect2Chars attribute="Char" context="Char32 Literal" char="U" char1="'" />+ <StringDetect attribute="Char" context="Char8 Literal" String="u8'" />+ </context>++ <context name="match identifier" attribute="Normal Text" lineEndContext="#pop"> <keyword attribute="Data Type" context="#stay" String="types" /> <keyword attribute="Type Modifiers" context="#stay" String="modifiers" /> <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />- <RegExpr attribute="Internals" context="#stay" String="_[a-zA-Z0-9_]+" />- <RegExpr attribute="Internals" context="#stay" String="[a-zA-Z][a-zA-Z0-9_]*__\b" />- <RegExpr attribute="Data Members (m_*)" context="#stay" String="[a-z][a-zA-Z0-9_]*_\b" />- <RegExpr attribute="Data Members (m_*)" context="#stay" String="m_[a-zA-Z0-9_]+" />+ <RegExpr attribute="Internals" context="#stay" String="_[a-zA-Z0-9_]+|[a-zA-Z][a-zA-Z0-9_]*__\b" />+ <RegExpr attribute="Data Members (m_*)" context="#stay" String="m_[a-zA-Z0-9_]+|[a-z][a-zA-Z0-9_]*_\b" /> <RegExpr attribute="Globals (g_*)" context="#stay" String="g_[a-zA-Z0-9_]+" /> <RegExpr attribute="Statics (s_*)" context="#stay" String="s_[a-zA-Z0-9_]+" /> <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" /> <RegExpr attribute="Types (*_t/*_type)" context="#stay" String="[a-zA-Z][a-zA-Z0-9_]*_t(ype)?\b" /> <DetectIdentifier />- <!-- Match comments -->- <IncludeRules context="##Doxygen" />- <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />- <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />- <!-- Match scope regions -->- <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />- <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />- <!-- Match punctuators -->- <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />- <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />- <!-- Match invalid symbols -->- <DetectChar attribute="Error" context="#stay" char="#" />- <DetectChar attribute="Error" context="#stay" char="$" />- <DetectChar attribute="Error" context="#stay" char="@" />- <DetectChar attribute="Error" context="#stay" char="`" /> </context> - <context name="UDLOperator" attribute="Normal Text" lineEndContext="#pop">- <StringDetect attribute="Keyword" context="#stay" String="operator" />- <StringDetect attribute="String" context="#stay" String="""" />- <DetectIdentifier context="#pop" />+ <context name="Number" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Float" context="FloatSuffix" String="\.∫&exp_float;?|∫(?:&exp_float;|\.∫?&exp_float;?)|0[xX](?:\.&hex_int;&exp_hexfloat;?|&hex_int;(?:&exp_hexfloat;|\.&hex_int;?&exp_hexfloat;?))" />+ <IncludeRules context="Integer" /> </context> - <context name="Char Literal" attribute="Char" lineEndContext="#pop">- <IncludeRules context="Universal Char" />- <DetectChar attribute="String Char" context="Simple Esc" char="\" />- <DetectChar attribute="Char" context="#pop" char="'" />+ <context name="Integer" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Hex" context="IntSuffix" String="0[xX]&hex_int;" />+ <RegExpr attribute="Binary" context="IntSuffix" String="0[Bb][01](?:'?[01]+)*" />+ <RegExpr attribute="Octal" context="IntSuffix" String="0(?:'?[0-7]+)+" />+ <RegExpr attribute="Decimal" context="IntSuffix" String="0(?![xXbB0-9])|[1-9](?:'?[0-9]+)*" />+ <RegExpr attribute="Error" context="#pop" String="[._0-9A-Za-z']+" /> </context> - <context name="U-Char Literal" attribute="Char" lineEndContext="#pop">- <IncludeRules context="Universal Char" />- <DetectChar attribute="String Char" context="Simple Esc" char="\" />- <DetectChar attribute="Char" context="#pop" char="'" />- <RegExpr attribute="Error" context="#stay" String="[^']{2,}" />- <RegExpr attribute="Char" context="#stay" String=".{1}" />+ <context name="IntSuffix" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">+ <DetectChar attribute="Error" context="#stay" char="'" />+ <AnyChar attribute="Error" context="#pop!IntSuffixPattern" String="uUlLimunshyd_" lookAhead="true" /> </context> - <context name="Simple Esc" attribute="String Char" lineEndContext="#pop">- <AnyChar attribute="String Char" context="#pop" String="tnvbrfa'"\" />- <RegExpr attribute="String Char" context="#pop" String="[0-7]{1,3}" />- <RegExpr attribute="String Char" context="#pop" String="x[0-9A-Fa-f]{1,}" />- <RegExpr attribute="String" context="#pop" String="." />+ <context name="IntSuffixPattern" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">+ <RegExpr attribute="Standard Suffix" context="NumericSuffixError" String="[Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?" />+ <!-- https://en.cppreference.com/w/cpp/language/user_literal#Standard_library -->+ <RegExpr attribute="Standard Classes" context="NumericSuffixError" String="(?:i[fl]?|min|[mun]?s|[hyd])\b" />+ <DetectChar attribute="Error" context="#pop!NumericUserSuffixPattern" char="_" lookAhead="true" /> </context> - <context name="Universal Char" attribute="String Char" lineEndContext="#pop">- <RegExpr attribute="String Char" context="#stay" String="\\u[0-9A-Fa-f]{4}" />- <RegExpr attribute="Error" context="#stay" String="\\u.{0,3}" />- <RegExpr attribute="String Char" context="#stay" String="\\U[0-9A-Fa-f]{8}" />- <RegExpr attribute="Error" context="#stay" String="\\U.{0,7}" />+ <context name="FloatSuffix" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">+ <AnyChar attribute="Standard Suffix" context="NumericSuffixError" String="fFlL" />+ <!-- https://en.cppreference.com/w/cpp/language/user_literal#Standard_library -->+ <RegExpr attribute="Standard Classes" context="NumericSuffixError" String="(?:i[fl]?|min|[mun]?s|h)\b" />+ <DetectChar attribute="Error" context="#pop!NumericUserSuffixPattern" char="_" lookAhead="true" /> </context> + <context name="NumericUserSuffixPattern" attribute="Error" lineEndContext="#pop#pop">+ <!--+ http://en.cppreference.com/w/cpp/language/user_literal#Notes+ Due to maximal munch, user-defined integer and floating point literals ending in+ p, P, (since C++17) e and E, when followed by the operators + or -,+ must be separated from the operator with whitespace or parentheses in the source+ -->+ <RegExpr attribute="Error" context="#pop#pop" String="_[eEpP][+-]" />+ <RegExpr attribute="UDL Numeric Suffix" context="NumericSuffixError" String="_[_[:alnum:]]*" />+ </context>++ <context name="NumericSuffixError" attribute="Error" lineEndContext="#pop#pop#pop" fallthrough="true" fallthroughContext="#pop#pop#pop">+ <RegExpr attribute="Error" context="#pop#pop#pop" String="\.[_0-9A-Za-z]*|[_0-9A-Za-z]+" />+ </context>++ <context name="CheckUDLOperator" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <DetectSpaces />+ <Detect2Chars attribute="String" context="UDLOperatorName" char=""" char1=""" />+ </context>++ <context name="UDLOperatorName" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!IdentifierError">+ <DetectSpaces />+ <RegExpr attribute="Normal Text" context="#pop#pop" String="_[_[:alnum:]]*\b" />+ </context>++ <context name="IdentifierError" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">+ <RegExpr attribute="Error" context="#pop#pop" String=".[^\s()]*" />+ </context>+++ <context name="Char8 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">+ <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'"\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})" />+ <DetectChar attribute="Error" context="#pop" char="'" />+ <RegExpr attribute="Char" context="Char Literal Close" String="." />+ </context>++ <context name="Char16 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">+ <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'"\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4})" />+ <DetectChar attribute="Error" context="#pop" char="'" />+ <RegExpr attribute="Char" context="Char Literal Close" String="." />+ </context>++ <context name="Char32 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">+ <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'"\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,8}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})" />+ <DetectChar attribute="Error" context="#pop" char="'" />+ <RegExpr attribute="Char" context="Char Literal Close" String="." />+ </context>++ <context name="Char Literal Close" attribute="Error" lineEndContext="#pop#pop">+ <DetectChar attribute="Char" context="#pop#pop" char="'" />+ </context>++ <context name="String" attribute="String" lineEndContext="#pop">+ <IncludeRules context="string normal char" />+ <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />+ <IncludeRules context="string special char" />+ </context>++ <context name="String8" attribute="String" lineEndContext="#pop">+ <IncludeRules context="string normal char" />+ <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,2}" />+ <IncludeRules context="string special char" />+ </context>++ <context name="String16" attribute="String" lineEndContext="#pop">+ <IncludeRules context="string normal char" />+ <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,4}" />+ <IncludeRules context="string special char" />+ </context>++ <context name="String32" attribute="String" lineEndContext="#pop">+ <IncludeRules context="string normal char" />+ <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />+ <IncludeRules context="string special char" />+ </context>++ <context name="StringNoHex" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <RegExpr attribute="Error" context="#pop" String="[0-9A-Fa-f]{1,}" />+ </context>++ <context name="string special char" attribute="String" lineEndContext="#pop">+ <RegExpr attribute="String Char" context="#stay" String="\\(?:[tnvbrfa'"\\?]|[0-7]{1,3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|&printf_like;" />+ <RegExpr attribute="Error" context="#stay" String="\\(?:u[^"]{0,3}|U[^"]{0,7}|.)" /> <LineContinue attribute="String" context="#stay" />- <HlCStringChar attribute="String Char" context="#stay" />- <IncludeRules context="Universal Char" />- <RegExpr attribute="String Char" context="#stay" String="%[^"&convspec;\s]*[&convspec;]" />+ </context>++ <context name="string normal char" attribute="String" lineEndContext="#pop">+ <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->+ <RegExpr attribute="String" context="#stay" String="[^%\\"]+" /> <DetectChar attribute="String" context="UDLStringSuffix" char=""" /> </context> <context name="UDLStringSuffix" attribute="String" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">- <!-- Standard UDL is not matched. BUG?? -->- <RegExpr attribute="String" context="#pop#pop" String="_[_0-9A-Za-z]*\b" />+ <WordDetect attribute="Standard Classes" context="#pop#pop" String="sv" />+ <WordDetect attribute="Standard Classes" context="#pop#pop" String="s" />+ <RegExpr attribute="UDL String Suffix" context="#pop#pop" String="_[_0-9A-Za-z]*\b" /> </context> + <context name="Attribute" attribute="Attribute" lineEndContext="#stay"> <keyword attribute="Standard Attribute" context="#stay" String="attributes" /> <Detect2Chars attribute="Symbol" context="#pop" char="]" char1="]" />- <AnyChar context="#stay" String="&ns_punctuators;" attribute="Symbol" />+ <DetectChar attribute="Separator Symbol" context="#stay" char="," />+ <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" /> <!-- Attributes may contain some text: [[deprecated("Reason text")]] --> <DetectChar attribute="String" context="String" char=""" />+ <AnyChar attribute="Decimal" context="Integer" String="0123456789" lookAhead="true" />+ <keyword attribute="Keyword" context="AttributeNamespace" String="using" />+ <IncludeRules context="DetectGccAttributes##GCCExtensions" />+ <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" />+ <DetectIdentifier /> </context> - <context name="RawString" attribute="String" lineEndContext="#stay" dynamic="true">- <LineContinue attribute="String" context="#stay" />- <RegExpr attribute="String Char" context="#stay" String="%[^"&convspec;\s]*[&convspec;]" />- <RegExpr attribute="String" context="#pop" String="\)%2"" dynamic="true"/>+ <context name="Attribute In PP" attribute="Attribute" lineEndContext="#pop">+ <IncludeRules context="InPreprocessor" />+ <IncludeRules context="Attribute" /> </context> + <context name="AttributeNamespace" attribute="Attribute" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">+ <DetectSpaces />+ <IncludeRules context="DetectNamespaceGccAttributes##GCCExtensions" />+ <DetectIdentifier />+ </context>++ <context name="RawString" attribute="String" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!LineError">+ <RegExpr attribute="String" context="#pop!InRawString" String="([^\(]{0,16})\(" />+ </context>++ <context name="InRawString" attribute="String" lineEndContext="#stay" dynamic="true">+ <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->+ <RegExpr attribute="String" context="#stay" String="[^%)]+" />+ <RegExpr attribute="String Char" context="#stay" String="&printf_like;" />+ <StringDetect attribute="String" context="#pop" String=")%1"" dynamic="true"/>+ </context>+ <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop" /> - <context name="DetectNSEnd" attribute="Normal Text" lineEndContext="#pop">+ <context name="DetectNSEnd" attribute="Normal Text" lineEndContext="#stay"> <keyword attribute="Keyword" context="#stay" String="template" /> <DetectIdentifier context="#stay" />- <AnyChar context="#pop" String="&separators;" attribute="Separator Symbol" />- <AnyChar context="#pop" String="&ns_punctuators;" attribute="Symbol" />- <AnyChar context="#stay" String="&space;" attribute="Normal Text" />+ <AnyChar attribute="Separator Symbol" context="#pop" String="&separators;" />+ <AnyChar attribute="Symbol" context="#pop" String="&ns_punctuators; 	" /> </context> - <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#pop">+ <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#stay"> <IncludeRules context="DetectNSEnd" /> </context> - <context name="Boost Stuff" attribute="Boost Stuff" lineEndContext="#pop">+ <context name="Boost Stuff" attribute="Boost Stuff" lineEndContext="#stay"> <IncludeRules context="DetectNSEnd" /> </context> - <context name="InternalsNS" attribute="Internals" lineEndContext="#pop">+ <context name="InternalsNS" attribute="Internals" lineEndContext="#stay"> <IncludeRules context="DetectNSEnd" /> </context> + <context name="Standard Classes In PP" attribute="Standard Classes" lineEndContext="#pop">+ <IncludeRules context="InPreprocessor" />+ <IncludeRules context="DetectNSEnd" />+ </context>++ <context name="Boost Stuff In PP" attribute="Boost Stuff" lineEndContext="#pop">+ <IncludeRules context="InPreprocessor" />+ <IncludeRules context="DetectNSEnd" />+ </context>++ <context name="InternalsNS In PP" attribute="Internals" lineEndContext="#pop">+ <IncludeRules context="InPreprocessor" />+ <IncludeRules context="DetectNSEnd" />+ </context>+ <context name="Comment 1" attribute="Comment" lineEndContext="#pop">- <LineContinue attribute="Comment" context="#stay" />+ <LineContinue attribute="Error" context="#stay" /> <DetectSpaces /> <IncludeRules context="##Alerts" /> <IncludeRules context="##Modelines" />@@ -380,128 +593,225 @@ <DetectIdentifier /> </context> - <context name="AfterHash" attribute="Error" lineEndContext="#pop">- <RegExpr attribute="Preprocessor" context="Include" String="#\s*(?:include|include_next)" insensitive="true" firstNonSpace="true" />+ <context name="AfterHash" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHashLineError">+ <RegExpr attribute="Preprocessor" context="#pop!PreprocessorCmd" String="&pphash;(?=.)" firstNonSpace="true" />+ </context> - <!-- define, elif, else, endif, error, if, ifdef, ifndef, line, pragma, undef, warning -->- <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*if(?:def|ndef)?(?=(?:\(|\s+)\S)" beginRegion="PP" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />- <!-- Switch to seperate context for multiline #defines -->- <RegExpr attribute="Preprocessor" context="Define" String="(#|%\:|\?\?=)\s*(cmake)?define.*((?=\\))" firstNonSpace="true" lookAhead="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*(?:el(?:se|if)|(cmake)?define|undef|line|error|warning|pragma)" insensitive="false" firstNonSpace="true" />- <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s+[0-9]+" firstNonSpace="true" insensitive="false" />+ <context name="AfterHashLineError" attribute="Region Marker" lineEndContext="#pop">+ <LineContinue attribute="Error" context="#stay" />+ <RegExpr attribute="Error" context="#pop!LineError" String="[^\\]+" />+ <!-- for auto-completion in Kate editor -->+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorInclude" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorIfDef" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorIf" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorElseIf" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorElse" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorEndIf" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorOther" />+ <keyword attribute="Preprocessor" context="#pop!LineError" String="preprocessorDefine" /> </context> - <context attribute="Preprocessor" lineEndContext="#pop" name="Include">- <LineContinue attribute="Preprocessor" context="#stay"/>- <RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>- <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>+ <context name="LineError" attribute="Error" lineEndContext="#pop">+ <LineContinue attribute="Error" context="#stay" />+ </context>++ <context name="PreprocessorCmd" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHashLineError">+ <keyword attribute="Preprocessor" context="#pop!Include" String="preprocessorInclude" />+ <keyword attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="preprocessorIfDef" beginRegion="PP" lookAhead="true" />+ <keyword attribute="Preprocessor" context="#pop!PreprocessorIf" String="preprocessorIf" beginRegion="PP" lookAhead="true" />+ <keyword attribute="Preprocessor" context="#pop!PreprocessorIf" String="preprocessorElseIf" endRegion="PP" beginRegion="PP" lookAhead="true" />+ <keyword attribute="Preprocessor" context="PreprocessorEndOfLineSpace" String="preprocessorElse" endRegion="PP" beginRegion="PP" />+ <keyword attribute="Preprocessor" context="PreprocessorEndOfLineSpace" String="preprocessorEndIf" endRegion="PP" />+ <keyword attribute="Preprocessor" context="#pop!Preprocessor" String="preprocessorOther" />+ <keyword attribute="Preprocessor" context="#pop!Define" String="preprocessorDefine" />+ <!-- GCC extension -->+ <WordDetect attribute="Preprocessor" context="#pop!Include" String="include_next" />+ <RegExpr attribute="Preprocessor" context="#pop!Preprocessor" String="[0-9]+" />+ </context>++ <context name="Include" attribute="Preprocessor" lineEndContext="#pop" >+ <LineContinue attribute="Preprocessor" context="#stay" />+ <RangeDetect attribute="Prep. Lib" context="PreprocessorEndOfLineSpace" char=""" char1=""" />+ <RangeDetect attribute="Prep. Lib" context="PreprocessorEndOfLineSpace" char="<" char1=">" /> <IncludeRules context="Preprocessor" /> </context> + <context name="PreprocessorIfDef" attribute="Preprocessor" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!LineError">+ <RegExpr attribute="Preprocessor" context="#pop!Preprocessor" String="\w+\s+([_A-Za-z][A-Za-z0-9]*\s*|(?=//|/\*))" />+ </context>++ <context name="PreprocessorIf" attribute="Preprocessor" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!LineError">+ <RegExpr attribute="Preprocessor" context="#pop!Inscoped" String="\w+&ppcond1;" />+ <RegExpr attribute="Preprocessor" context="#pop!Outscoped" String="\w+&ppcond0;" />+ <RegExpr attribute="Preprocessor" context="#pop!Preprocessor" String="\w+\s+(?=[^\s])" />+ </context>++ <context name="PreprocessorEndOfLineSpace" attribute="Preprocessor" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop!LineError">+ <DetectSpaces />+ <IncludeRules context="match comments" />+ </context>+ <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"> <LineContinue attribute="Preprocessor" context="#stay" /> <keyword attribute="Standard Macros" context="#stay" String="StdMacros" /> <IncludeRules context="GNUMacros##GCCExtensions" />- <IncludeRules context="##Doxygen" />- <Detect2Chars attribute="Comment" context="Comment/Preprocessor" char="/" char1="*" beginRegion="Comment2" />- <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />+ <IncludeRules context="match comments" /> </context> <context name="Define" attribute="Preprocessor" lineEndContext="#pop">- <LineContinue attribute="Separator Symbol" context="#stay" />- <DetectChar attribute="Error" context="#stay" char="\" />+ <DetectSpaces/>+ <!--+ Old version: non-contextual macro+ <IncludeRules context="InPreprocessor" /> <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />+ <keyword attribute="Standard Macros" context="#stay" String="InMacro" /> <IncludeRules context="GNUMacros##GCCExtensions" />+ <IncludeRules context="match comments" />+ -->++ <IncludeRules context="InPreprocessor" />+ <Detect2Chars attribute="Error" context="#pop!LineError" char="/" char1="/" />+ <IncludeRules context="##Doxygen" />+ <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />+ <IncludeRules context="GNUMacros##GCCExtensions" />+ <DetectIdentifier attribute="Preprocessor" context="#pop!In Define"/> </context> - <context name="Comment/Preprocessor" attribute="Comment" lineEndContext="#stay">- <DetectSpaces />- <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />- <DetectIdentifier />+ <context name="In Define" attribute="Preprocessor" lineEndContext="#pop">+ <DetectSpaces/>+ <IncludeRules context="InPreprocessor" />+ <!-- Match scope regions -->+ <AnyChar attribute="Symbol" context="#stay" String="{}" />+ <!-- Detect attributes -->+ <Detect2Chars attribute="Symbol" context="Attribute In PP" char="[" char1="[" />+ <!-- Match numbers -->+ <RegExpr attribute="Decimal" context="Number" String="\.?[0-9]" lookAhead="true" />+ <!-- Match comments -->+ <IncludeRules context="match comments" />+ <!-- Match punctuators -->+ <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />+ <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />+ <!-- Match keywords -->+ <IncludeRules context="match keywords" />+ <!-- Match string literals -->+ <IncludeRules context="match string" />+ <!-- Match GCC extensions -->+ <IncludeRules context="DetectGccExtensionsInPP##GCCExtensions" />+ <!-- Match most used namespaces and styles -->+ <StringDetect attribute="Standard Classes" context="Standard Classes In PP" String="std::" />+ <StringDetect attribute="Boost Stuff" context="Boost Stuff In PP" String="boost::" />+ <StringDetect attribute="Boost Stuff" context="Boost Stuff In PP" String="BOOST_" />+ <StringDetect attribute="Internals" context="InternalsNS In PP" String="detail::" />+ <StringDetect attribute="Internals" context="InternalsNS In PP" String="details::" />+ <StringDetect attribute="Internals" context="InternalsNS In PP" String="aux::" />+ <StringDetect attribute="Internals" context="InternalsNS In PP" String="internals::" />+ <keyword attribute="Standard Macros" context="#stay" String="InMacro" />+ <IncludeRules context="match identifier" />+ <!-- Match preprocessor directives -->+ <DetectChar attribute="Preprocessor" context="#stay" char="#" />+ <!-- Match invalid symbols -->+ <AnyChar attribute="Error" context="#stay" String="$@`" /> </context> + <context name="InPreprocessor" attribute="Normal Text" lineEndContext="#pop">+ <LineContinue attribute="Separator Symbol" context="#stay" />+ <DetectChar attribute="Error" context="#stay" char="\" />+ </context>+ <context name="Outscoped Common" attribute="Comment" lineEndContext="#stay"> <DetectSpaces /> <IncludeRules context="##Alerts" /> <IncludeRules context="##Modelines" /> <DetectIdentifier />- <IncludeRules context="##Doxygen" />- <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />- <!-- Do not try to detect "C" style comments inside outscoped text- to prevent incorrect highlighting in case of overlapped (or not closed properly)- comment block...-- <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />- -->- <RegExpr attribute="Comment" context="Outscoped intern" String="(#|%\:|\?\?=)\s*if" beginRegion="PP" firstNonSpace="true" insensitive="false" />+ <!-- prevent incorrect highlighting in case of not closed properly comment block -->+ <Detect2Chars attribute="Comment" context="#stay" char="*" char1="/" />+ <IncludeRules context="match comments" />+ <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if" beginRegion="PP" firstNonSpace="true" /> <LineContinue context="#stay" /> </context> <context name="Outscoped" attribute="Comment" lineEndContext="#stay">+ <DetectSpaces />+ <RegExpr attribute="Preprocessor" context="Outscoped AfterHash" String="&ispphash;" firstNonSpace="true" lookAhead="true" /> <IncludeRules context="Outscoped Common" />- <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*el(?:se|if)" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" /> </context> + <context name="Outscoped AfterHash" attribute="Comment" lineEndContext="#pop">+ <RegExpr attribute="Preprocessor" context="#pop#pop!PreprocessorEndOfLineSpace" String="&pphash;endif\b" endRegion="PP" />+ <RegExpr attribute="Preprocessor" context="#pop#pop!Inscoped" String="&pphash;else\b" endRegion="PP" beginRegion="PP" />+ <RegExpr attribute="Comment" context="#pop!Outscoped intern" String="&pphash;if" beginRegion="PP" />+ <RegExpr attribute="Preprocessor" context="#pop#pop!Inscoped" String="&pphash;elif&ppcond1;" endRegion="PP" beginRegion="PP" />+ <RegExpr attribute="Preprocessor" context="#pop" String="&pphash;elif&ppcond0;" endRegion="PP" beginRegion="PP" />+ <RegExpr attribute="Preprocessor" context="#pop#pop!Preprocessor" String="&pphash;elif\b" endRegion="PP" beginRegion="PP" />+ <RegExpr attribute="Comment" context="#pop" String="&pphash;" />+ </context>+ <context name="Outscoped 2" attribute="Comment" lineEndContext="#stay"> <IncludeRules context="Outscoped Common" />- <RegExpr attribute="Preprocessor" context="#pop#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />+ <RegExpr attribute="Preprocessor" context="#pop!PreprocessorEndOfLineSpace" String="&pphash;endif" endRegion="PP" firstNonSpace="true" /> </context> <context name="Inscoped" attribute="Normal Text" lineEndContext="#stay"> <DetectSpaces />- <RegExpr attribute="Preprocessor" context="Outscoped" String="(#|%\:|\?\?=)\s*if\s+(0|false)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="Outscoped 2" String="(#|%\:|\?\?=)\s*el(?:se|if)" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />+ <RegExpr attribute="Preprocessor" context="Inscoped AfterHash" String="&ispphash;" firstNonSpace="true" lookAhead="true" /> <IncludeRules context="Main" /> </context> + <context name="Inscoped AfterHash" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHash">+ <DetectSpaces />+ <RegExpr attribute="Preprocessor" context="#pop!Outscoped 2" String="&pphash;el(?:se|if)" endRegion="PP" beginRegion="PP"/>+ <RegExpr attribute="Preprocessor" context="#pop#pop!PreprocessorEndOfLineSpace" String="&pphash;endif\b" endRegion="PP" />+ </context>+ <context name="Outscoped intern" attribute="Comment" lineEndContext="#stay"> <DetectSpaces /> <IncludeRules context="##Alerts" /> <IncludeRules context="##Modelines" /> <DetectIdentifier />- <IncludeRules context="##Doxygen" />- <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />- <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />- <RegExpr attribute="Comment" context="Outscoped intern" String="(#|%\:|\?\?=)\s*if" beginRegion="PP" firstNonSpace="true" insensitive="false" />- <RegExpr attribute="Comment" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />+ <!-- prevent incorrect highlighting in case of not closed properly comment block -->+ <Detect2Chars attribute="Comment" context="#stay" char="*" char1="/" />+ <IncludeRules context="match comments" />+ <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if" beginRegion="PP" firstNonSpace="true" />+ <RegExpr attribute="Comment" context="#stay" String="&pphash;el(se|if)" beginRegion="PP" endRegion="PP" firstNonSpace="true" />+ <RegExpr attribute="Comment" context="PreprocessorEndOfLineSpace" String="&pphash;endif" endRegion="PP" firstNonSpace="true" /> </context> </contexts> <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" /> <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" />- <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />- <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false" />+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false" /> <itemData name="Type Modifiers" defStyleNum="dsAttribute" spellChecking="false" /> <itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="false" bold="false" italic="true" /> <itemData name="Standard Attribute" defStyleNum="dsAttribute" spellChecking="false" bold="false" italic="true" />- <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />- <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />- <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />- <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false" />- <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />- <itemData name="Char" defStyleNum="dsChar" spellChecking="false" />- <itemData name="String" defStyleNum="dsString" spellChecking="true" />+ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />+ <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />+ <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />+ <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false" />+ <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />+ <itemData name="Char" defStyleNum="dsChar" spellChecking="false" />+ <itemData name="String" defStyleNum="dsString" spellChecking="true" /> <itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="false" />- <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />- <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false" />- <itemData name="Separator Symbol" defStyleNum="dsNormal" spellChecking="false" />- <itemData name="Data Members (m_*)" defStyleNum="dsVariable" spellChecking="false" />- <itemData name="Globals (g_*)" defStyleNum="dsVariable" spellChecking="false" />- <itemData name="Statics (s_*)" defStyleNum="dsVariable" spellChecking="false" />- <itemData name="Types (*_t/*_type)" defStyleNum="dsDataType" spellChecking="false" />- <itemData name="CONSTS/MACROS" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />+ <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Separator Symbol" defStyleNum="dsNormal" spellChecking="false" />+ <itemData name="Data Members (m_*)" defStyleNum="dsVariable" spellChecking="false" />+ <itemData name="Globals (g_*)" defStyleNum="dsVariable" spellChecking="false" />+ <itemData name="Statics (s_*)" defStyleNum="dsVariable" spellChecking="false" />+ <itemData name="Types (*_t/*_type)" defStyleNum="dsDataType" spellChecking="false" />+ <itemData name="CONSTS/MACROS" defStyleNum="dsNormal" spellChecking="false" /> <itemData name="Preprocessor" defStyleNum="dsPreprocessor" spellChecking="false" />- <itemData name="Prep. Lib" defStyleNum="dsImport" spellChecking="false" />- <itemData name="Standard Macros" defStyleNum="dsOthers" spellChecking="false" />- <itemData name="Standard Classes" defStyleNum="dsBuiltIn" spellChecking="false" />+ <itemData name="Prep. Lib" defStyleNum="dsImport" spellChecking="false" />+ <itemData name="Standard Macros" defStyleNum="dsOthers" spellChecking="false" />+ <itemData name="Standard Classes" defStyleNum="dsBuiltIn" spellChecking="false" /> <itemData name="Boost Stuff" defStyleNum="dsExtension" spellChecking="false" />- <itemData name="Internals" defStyleNum="dsNormal" spellChecking="false" color="#808080" selColor="#808080" />+ <itemData name="Internals" defStyleNum="dsNormal" spellChecking="false" color="#808080" selColor="#808080" /> <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />- <itemData name="Error" defStyleNum="dsError" spellChecking="false" />+ <itemData name="UDL Numeric Suffix" defStyleNum="dsDecVal" spellChecking="false" />+ <itemData name="UDL String Suffix" defStyleNum="dsString" spellChecking="false" />+ <itemData name="Standard Suffix" defStyleNum="dsBuiltIn" spellChecking="false" />+ <itemData name="Error" defStyleNum="dsError" spellChecking="false" /> </itemDatas> </highlighting> <general>@@ -509,7 +819,7 @@ <comment name="singleLine" start="//" /> <comment name="multiLine" start="/*" end="*/" region="Comment" /> </comments>- <keywords casesensitive="1" />+ <keywords casesensitive="1" additionalDeliminator="#"" /> </general> </language> <!-- kate: indent-width 2; tab-width 2; -->
xml/java.xml view
@@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE language SYSTEM "language.dtd">-<language name="Java" version="3" kateversion="5.0" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!ENTITY int "[0-9]([0-9_]*[0-9])?">+ <!ENTITY hex "[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?">+]>+<language name="Java" version="5" kateversion="5.0" 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>@@ -3760,14 +3764,13 @@ <keyword attribute="Keyword" context="#stay" String="keywords"/> <keyword attribute="Data Type" context="#stay" String="types"/> <keyword attribute="Java15" context="#stay" String="java15"/>- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>- <HlCOct attribute="Octal" context="#stay"/>- <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <RegExpr attribute="Float" context="#stay" String="(\b∫\.?|(\b∫)?\.∫)([eE][\-\+]?∫[fFdD]?|[fFdD])\b"/>+ <RegExpr attribute="Float" context="#stay" String="(\b∫\.|(\b∫)?\.∫\b)"/>+ <RegExpr attribute="Float" context="#stay" String="\b0[xX](&hex;\.?|(&hex;)?\.&hex;)[pP][\-\+]?∫[fFdD]?\b"/>+ <RegExpr attribute="Hex" context="#stay" String="\b0[xX]&hex;[lL]?\b"/>+ <RegExpr attribute="Binary" context="#stay" String="\b0[bB][01]([01_]*[01])?[lL]?\b"/>+ <RegExpr attribute="Octal" context="#stay" String="\b0[0-7]([0-7_]*[0-7])?[lL]?\b"/>+ <RegExpr attribute="Decimal" context="#stay" String="\b(0|[1-9]([0-9_]*[0-9])?)[lL]?\b"/> <HlCChar attribute="Char" context="#stay"/> <RegExpr attribute="Char" context="#stay" String="'\\u[0-9a-fA-F]{4}'"/> <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>@@ -3822,9 +3825,12 @@ <context attribute="Normal Text" lineEndContext="#pop" name="Imports"> <RegExpr attribute="Imports" context="#pop" String="\s*.*;" /> </context>- <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>+ <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">+ <IncludeRules context="##Alerts"/>+ </context> <context attribute="Comment" lineEndContext="#stay" name="Commentar 2"> <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>+ <IncludeRules context="##Alerts"/> </context> </contexts> <itemDatas>@@ -3838,6 +3844,7 @@ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/> <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/> <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false"/> <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> <itemData name="Char" defStyleNum="dsChar" spellChecking="false"/> <itemData name="String" defStyleNum="dsString"/>
xml/javadoc.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Javadoc" version="2" kateversion="2.4" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">+<language name="Javadoc" version="3" kateversion="5.0" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)"> <highlighting> <contexts> <context name="Start" attribute="Normal Text" lineEndContext="#stay">@@ -29,6 +29,7 @@ <StringDetect attribute="InlineTag" context="#stay" String="{@value}" /> <StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " /> <StringDetect attribute="InlineTag" context="InlineTagar" String="{@value	" />+ <IncludeRules context="##Alerts"/> <IncludeRules context="##HTML"/> </context> <context attribute="Javadoc" lineEndContext="#stay" name="Javadocar">@@ -71,12 +72,14 @@ <StringDetect attribute="InlineTag" context="#stay" String="{@value}" /> <StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " /> <StringDetect attribute="InlineTag" context="InlineTagar" String="{@value	" />+ <IncludeRules context="##Alerts"/> <IncludeRules context="##HTML"/> </context> <context attribute="Javadoc" lineEndContext="#pop" name="JavadocParam"> <DetectSpaces /> <RegExpr attribute="JavadocParam" context="#pop#pop" String="\S*(?=\*/)" /> <RegExpr attribute="JavadocParam" context="#pop" String="\S*(\s|$)" />+ <IncludeRules context="##Alerts"/> </context> <context attribute="InlineTag" name="InlineTagar" lineEndContext="#stay"> <DetectChar attribute="InlineTag" context="#pop" char="}" />@@ -94,12 +97,12 @@ </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal"/>- <itemData name="BlockTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="1" italic="0"/>- <itemData name="InlineTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="0" italic="0"/>- <itemData name="JavadocParam" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>- <itemData name="SeeTag" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>- <itemData name="JavadocFS" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF" bold="1" italic="0"/>- <itemData name="Javadoc" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF"/>+ <itemData name="BlockTag" defStyleNum="dsAnnotation" bold="1" italic="0" spellChecking="false"/>+ <itemData name="InlineTag" defStyleNum="dsAnnotation" bold="0" italic="0" spellChecking="false"/>+ <itemData name="JavadocParam" defStyleNum="dsAnnotation" bold="0" italic="1" spellChecking="false"/>+ <itemData name="SeeTag" defStyleNum="dsAnnotation" bold="0" italic="1" spellChecking="false"/>+ <itemData name="JavadocFS" defStyleNum="dsComment" bold="1" italic="0" spellChecking="false"/>+ <itemData name="Javadoc" defStyleNum="dsComment"/> </itemDatas> </highlighting> <general>
xml/javascript.xml view
@@ -1,9 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE language SYSTEM "language.dtd">+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!ENTITY identifier "([a-zA-Z_$]|[^[:ascii:]])([\w$]|[^[:ascii:]])*">+]> <!-- Author: Anders Lund <anders@alweb.dk> //--> <!-- Minor changes: Joseph Wenninger <jowenn@kde.org> //--> <!-- Full JavaScript 1.0 support by Whitehawk Stormchaser //-->-<language name="JavaScript" version="7" kateversion="5.0" section="Scripts" extensions="*.js;*.kwinscript;*.julius"+<!-- NOTE: This highlighter does not offer full support for TypeScript. The .ts files+ are temporarily included, since a syntax highlighting file for TypeScript is required! -->+<language name="JavaScript" version="9" kateversion="5.0" section="Scripts" extensions="*.js;*.kwinscript;*.julius;*.ts" 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=""> <highlighting>@@ -78,8 +83,10 @@ the very first line. --> <context name="Shebang" lineEndContext="Normal" attribute="Normal Text" fallthrough="true" fallthroughContext="Normal" >- <Detect2Chars column="0" char="#" char1="!" context="Comment" attribute="Comment" />+ <Detect2Chars column="0" char="#" char1="!" context="Shebang Line" attribute="Comment" /> </context>+ <context name="Shebang Line" attribute="Comment" lineEndContext="#pop!Normal">+ </context> <context attribute="Normal Text" lineEndContext="#stay" name="Normal"> <DetectSpaces/>@@ -87,8 +94,11 @@ <StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1" /> <Float attribute="Float" context="NoRegExp" />- <HlCOct attribute="Octal" context="NoRegExp" />+ <!-- Invalid Binary, Octal or Hex -->+ <RegExpr attribute="Error" context="NoRegExp" String="\b0(b[01]*[2-9a-z]|o[0-7]*[89a-z]|x[0-9a-f]*[g-z])\w*\b" insensitive="true" /> <HlCHex attribute="Hex" context="NoRegExp" />+ <RegExpr attribute="Octal" context="NoRegExp" String="\b0[oO][0-7]+" />+ <RegExpr attribute="Binary" context="NoRegExp" String="\b0[bB][01]+" /> <Int attribute="Decimal" context="NoRegExp" /> <AnyChar context="NoRegExp" String="])" /> @@ -102,11 +112,13 @@ <StringDetect attribute="Template" context="RawTemplate" String="String.raw`" /> <!--DetectIdentifier-->- <RegExpr attribute="Objects" context="Object Member" String="[a-zA-Z_$][\w$]*(?=\s*\.)" />+ <RegExpr attribute="Objects" context="Object Member" String="&identifier;(?=\s*\.)" /> <!--DetectIdentifier-->- <RegExpr attribute="Object Member" context="NoRegExp" String="[a-zA-Z_$][\w$]*(?=\s*\()" />+ <RegExpr attribute="Object Member" context="NoRegExp" String="&identifier;(?=\s*\()" /> <DetectChar context="Object Member" char="." /> <!--DetectIdentifier-->+ <!-- Do not start RegExp after non-ASCII characters (see bug #393633) -->+ <RegExpr context="NoRegExp" String="&identifier;" /> <RegExpr context="NoRegExp" String="[a-zA-Z_$][\w$]*" /> <DetectChar attribute="String" context="String" char=""" />@@ -128,11 +140,11 @@ </context> <context attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" name="Object Member">- <DetectChar char="." />+ <DetectChar context="#stay" char="." /> <!--DetectIdentifier-->- <RegExpr attribute="Objects" context="Object Member" String="[a-zA-Z_$][\w$]*(?=\s*\.)" />+ <RegExpr attribute="Objects" context="#stay" String="&identifier;(?=\s*\.)" /> <!--DetectIdentifier-->- <RegExpr attribute="Object Member" String="[a-zA-Z_$][\w$]*" />+ <RegExpr attribute="Object Member" context="#pop!NoRegExp" String="&identifier;" /> <IncludeRules context="NoRegExp" /> </context> @@ -152,27 +164,35 @@ <!-- Mostly required for define: in switch blocks --> <keyword attribute="Keyword" String="keywords" /> <!--DetectIdentifier-->- <RegExpr attribute="JSON" String="[a-zA-Z_$][\w$]*\s*(?=:)" />+ <RegExpr attribute="JSON" String="&identifier;\s*(?=:)" /> <DetectChar attribute="Symbol" char="}" endRegion="Brace" context="#pop" /> <IncludeRules context="Normal" /> </context> <context attribute="String" lineEndContext="#pop" name="String">- <HlCStringChar attribute="Escape" />- <RegExpr attribute="Escape" String="\\u[0-9a-fA-F]{4}" />- <LineContinue/>+ <IncludeRules context="Escape" /> <DetectChar attribute="String" context="#pop" char=""" /> </context> <context attribute="String" lineEndContext="#pop" name="String SQ">- <HlCStringChar attribute="Escape" />- <RegExpr attribute="Escape" String="\\u[0-9a-fA-F]{4}" />- <LineContinue/>+ <IncludeRules context="Escape" /> <DetectChar attribute="String" context="#pop" char="'" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="Escape">+ <LineContinue attribute="Escape" context="#stay" />+ <!-- Hexadecimal, unicode & octal -->+ <RegExpr attribute="Escape" context="#stay" String="\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}|[0-3][0-7]{1,2}|[4-7][0-7]|[1-7])" />+ <Detect2Chars attribute="Error" context="#stay" char="\" char1="x" />+ <Detect2Chars attribute="Error" context="#stay" char="\" char1="u" />+ <DetectChar attribute="Escape" context="Character Escape" char="\" />+ </context>+ <context attribute="Escape" lineEndContext="#pop" name="Character Escape">+ <AnyChar attribute="Reserved Char. Escape" context="#pop" String="0bfnrtv" /> <!-- Reserved Char. Escape. Also: "'/ -->+ <RegExpr attribute="Escape" context="#pop" String="." /> <!-- Literal Char. Escape -->+ </context>+ <context attribute="Template" lineEndContext="#stay" name="Template">- <HlCStringChar attribute="Escape" />- <Detect2Chars attribute="Escape" char="\" char1="`" />+ <IncludeRules context="Escape" /> <Detect2Chars attribute="Substitution" context="Substitution" char="$" char1="{" /> <DetectChar attribute="Template" context="#pop" char="`" /> </context>@@ -233,8 +253,10 @@ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" /> <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />+ <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false" /> <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" /> <itemData name="Escape" defStyleNum="dsSpecialChar" spellChecking="false" />+ <itemData name="Reserved Char. Escape" defStyleNum="dsSpecialChar" bold="1" spellChecking="false" /> <itemData name="String" defStyleNum="dsString" /> <itemData name="Template" defStyleNum="dsVerbatimString" /> <itemData name="Substitution" defStyleNum="dsSpecialChar" spellChecking="false" />@@ -246,6 +268,7 @@ <itemData name="Pattern Character Class" defStyleNum="dsSpecialChar" spellChecking="false" /> <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" /> <itemData name="JSON" defStyleNum="dsDataType" spellChecking="false" />+ <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> </itemDatas> </highlighting> <general>
xml/jsp.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language version="3" kateversion="2.4" name="JSP" section="Markup" extensions="*.jsp;*.JSP" mimetype="text/html" casesensitive="false" author="Rob Martin (rob@gamepimp.com)" license="LGPL">+<language version="4" kateversion="2.4" name="JSP" section="Markup" extensions="*.jsp;*.JSP" mimetype="text/html" casesensitive="false" author="Rob Martin (rob@gamepimp.com)" license="LGPL"> <highlighting> <list name="java-1.4.2-classes">@@ -2912,21 +2912,10 @@ <keyword String="jsp-reserved-words" attribute="Keyword" context="#stay"/> <keyword String="java-1.4.2-types" attribute="Types" context="#stay"/> <keyword String="java-1.4.2-classes" attribute="Java 1.4.2 Classes" context="#stay"/>- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay">- <StringDetect String="ULL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LUL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LLU" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="UL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LU" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="U" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="L" attribute="Decimal" context="#stay" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <RegExpr String="//\s*BEGIN.*$" attribute="Decimal" context="#stay" beginRegion="Region1" firstNonSpace="true"/> <RegExpr String="//\s*END.*$" attribute="Decimal" context="#stay" endRegion="Region1" firstNonSpace="true"/>@@ -2938,6 +2927,21 @@ <Detect2Chars char="/" char1="*" attribute="Java Comment" context="Java Multi-Line Comment"/> </context> + <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>++ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/>+ </context>+ <context name="Jsp Expression" attribute="Normal Text" lineEndContext="#stay"> <StringDetect String="'${'" attribute="Normal Text" context="#stay"/> <DetectChar char="}" attribute="Jsp Scriptlet" context="#pop"/>@@ -2945,21 +2949,10 @@ <keyword String="jsp-reserved-words" attribute="Keyword" context="#stay"/> <keyword String="java-1.4.2-types" attribute="Types" context="#stay"/> <keyword String="java-1.4.2-classes" attribute="Java 1.4.2 Classes" context="#stay"/>- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay">- <StringDetect String="ULL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LUL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LLU" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="UL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LU" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="LL" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="U" attribute="Decimal" context="#stay" insensitive="true"/>- <StringDetect String="L" attribute="Decimal" context="#stay" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar char=""" attribute="String" context="Java String"/> <AnyChar String="!%&()+,-<=>?[]^{|}~" attribute="Symbol" context="#stay"/>
xml/kotlin.xml view
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> <!-- kotlin language syntax http://kotlinlang.org -->-<language name="Kotlin" version="4" kateversion="5.0" section="Sources" extensions="*.kt;*.kts" license="LGPLv2+" author="Sergey Mashkov (sergey.mashkov@jetbrains.com)" style="cstyle" indenter="cstyle">+<language name="Kotlin" version="5" kateversion="5.0" 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>@@ -114,18 +114,22 @@ <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/> <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/> - <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>- <Int attribute="Decimal" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Float attribute="Float" context="Float Suffixes"/>+ <Int attribute="Decimal" context="Int Suffixes"/> <RegExpr attribute="Annotation" context="#stay" String="@[_\w][_\w\d]*"/> <RegExpr attribute="TODO" context="#stay" String="TODO\s*\([^)]*\)" /> <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" /> <Detect2Chars attribute="Comment" context="CommentSingleLine" char="#" char1="!" />+ </context>++ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>++ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
xml/latex.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="LaTeX" version="7" section="Markup" kateversion="5.0" 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="8" section="Markup" kateversion="5.0" 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> <contexts> <!-- Normal text -->@@ -578,7 +578,6 @@ </general> <spellchecking>- <configuration encodingReplacementPolicy="EncodeWhenPresent"/> <encodings> <encoding char="À" string="\`{A}" /> <encoding char="À" string="\`A" />
xml/lua.xml view
@@ -43,7 +43,7 @@ - NOTE, FIXME, TODO alerts added on comments - improved highlighting -->-<language name="Lua" version="3" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua">+<language name="Lua" version="4" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua"> <highlighting> <list name="keywords"> <item>and</item>@@ -490,8 +490,15 @@ </context> <context name="Special_char" attribute="Error" lineEndContext="#pop">- <RegExpr attribute="Special Char" context="#pop" String="\\(?:[abfnrtvz'"\\\[\]]|x&HEX;&HEX;|\d{1,3}|u\{&HEX;{1,6}\})" />- <DetectChar attribute="Error" context="#pop" char="\"/>+ <LineContinue attribute="Special Char" context="#pop" />+ <Detect2Chars attribute="Special Char" context="Special_char_\z" char="\" char1="z" lookAhead="true"/>+ <RegExpr attribute="Special Char" context="#pop" String="\\(?:[abfnrtv'"\\\[\]]|x&HEX;&HEX;|\d{1,3}|u\{&HEX;{1,6}\})"/>+ <DetectChar attribute="Error" context="#pop" char="\"/>+ </context>++ <context name="Special_char_\z" attribute="Special Char" lineEndContext="#stay">+ <LineContinue attribute="Special Char" context="#pop#pop" char="z"/>+ <DetectChar attribute="Special Char" context="#pop#pop" char="z"/> </context> <context name="String_block" attribute="RawStrings" lineEndContext="#stay" dynamic="true">
xml/mediawiki.xml view
@@ -6,7 +6,7 @@ <!ENTITY wikiLinkWithDescription "\[\[[^]|]*\|[^]]*\]\]"> <!ENTITY wikiLinkWithoutDescription "\[\[[^]|]*\]\]"> ]>-<language name="MediaWiki" section="Markup" version="4" kateversion="3.4" extensions="*.mediawiki" mimetype="" license="FDL" >+<language name="MediaWiki" section="Markup" version="5" kateversion="3.4" extensions="*.mediawiki" mimetype="" license="FDL" > <highlighting> <contexts> <context attribute="Normal" lineEndContext="#stay" name="normal" >@@ -618,6 +618,5 @@ <comment end="//-->" start="<!--" name="multiLine" /> </comments> <keywords casesensitive="0" />- <indentation mode="normal" /> </general> </language>
xml/modelines.xml view
@@ -8,15 +8,15 @@ Copyright (c) 2012-2014 by Alex Turbov (i.zaufi@gmail.com) --> <language name="Modelines"- version="3"+ version="4" kateversion="5.0" section="Other" extensions="" mimetype="" author="Alex Turbov (i.zaufi@gmail.com)"- license="LGPL"+ license="MIT" hidden="true"- priority="5">+ priority="6"> <!-- The main purpose of this file is to be included into other syntax files. @@ -40,6 +40,7 @@ <item>bookmark-sorting</item> <item>bom</item> <item>byte-order-marker</item>+ <item>byte-order-mark</item> <item>dynamic-word-wrap</item> <item>folding-markers</item> <item>folding-preview</item> <!-- Since KTextEditor 5.24 -->@@ -130,7 +131,6 @@ <DetectSpaces /> <keyword String="ModelineStartKeyword" context="Modeline" attribute="Keyword" /> <RegExpr String="kate-(mimetype|wildcard)\(.*\):" context="Modeline" attribute="Keyword" />- <LineContinue context="#pop" /> </context> <context name="Modeline" attribute="Comment" lineEndContext="#pop">@@ -166,10 +166,13 @@ <context name="RemoveSpaces" attribute="Comment" lineEndContext="#pop"> <DetectSpaces />- <keyword String="RemoveSpacesOptions" attribute="Value" context="#pop" />+ <keyword String="RemoveSpacesOptions" attribute="Value" context="#pop!RemoveSpacesEnd" /> <DetectChar char="&end;" context="#pop" attribute="Variable" /> <LineContinue context="#pop" /> </context>+ <context name="RemoveSpacesEnd" attribute="Comment" lineEndContext="#pop">+ <DetectChar char="&end;" context="#pop" attribute="Variable" />+ </context> </contexts> @@ -187,7 +190,7 @@ </highlighting> <general>- <keywords casesensitive="1" weakDeliminator=":-" />+ <keywords casesensitive="1" weakDeliminator=":-+*" /> </general> </language>
xml/modula-2.xml view
@@ -1,187 +1,1191 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Modula-2" version="3" kateversion="2.2" section="Sources" extensions="*.mod;*.def;*.mi;*.md" mimetype="text/x-modula-2">- <highlighting>- <list name="directives">- <item>ASSEMBLER</item>- <item>ALLOCATE</item>- <item>DEALLOCATE</item>- <item>SIZE</item>- <item>Write</item>- <item>WriteString</item>- <item>WriteCard</item>- <item>WriteLn</item>- <item>WriteBf</item>- <item>WriteInt</item>- <item>WriteReal</item>- <item>WriteLongReal</item>- <item>Read</item>- <item>ReadString</item>- <item>ReadCard</item>- <item>ReadInt</item>- <item>ReadReal</item>- <item>ReadLongReal</item>- <item>Open</item>- <item>Close</item>- <item>OpenInput</item>- <item>OpenOutput</item>- <item>Accessible</item>- <item>Erase</item>- <item>EOF</item>- <item>Done</item>- <item>EmptyString</item>- <item>Assign</item>- <item>Append</item>- <item>Length</item>- <item>StrEq</item>- <item>Copy</item>- <item>Concat</item>- <item>pos</item>- <item>Delete</item>- <item>Insert</item>- <item>compare</item>- <item>CAPS</item>- <item>PutBf</item>- <item>GetArgs</item>- <item>GetEnv</item>- <item>ResetClock</item>- <item>UserTime</item>- <item>SystemTime</item>- <item>GetChar</item>- <item>GetInt</item>- <item>GetCard</item>- <item>GetString</item>- <item>GetReal</item>- <item>GetLongReal</item>- <item>PutChar</item>- <item>PutInt</item>- <item>PutCard</item>- <item>PutString</item>- <item>PutReal</item>- <item>PutLongReal</item>- <item>PutLn</item>- </list>- <list name="keywords">- <item>AND</item>- <item>ARRAY</item>- <item>ASM</item>- <item>BEGIN</item>- <item>CASE</item>- <item>CONST</item>- <item>DIV</item>- <item>DO</item>- <item>ELSE</item>- <item>ELSIF</item>- <item>END</item>- <item>FOR</item>- <item>IF</item>- <item>IMPLEMENTATION</item>- <item>IN</item>- <item>SET</item>- <item>INCL</item>- <item>EXCL</item>- <item>ABS</item>- <item>BITSET</item>- <item>CAP</item>- <item>CHR</item>- <item>DEC</item>- <item>HALT</item>- <item>HIGH</item>- <item>INC</item>- <item>MAX</item>- <item>MIN</item>- <item>ODD</item>- <item>ORD</item>- <item>PROC</item>- <item>TRUNC</item>- <item>VAL</item>- <item>MOD</item>- <item>NIL</item>- <item>NOT</item>- <item>OF</item>- <item>OR</item>- <item>PROCEDURE</item>- <item>MODULE</item>- <item>DEFINITION</item>- <item>RECORD</item>- <item>REPEAT</item>- <item>THEN</item>- <item>TO</item>- <item>TYPE</item>- <item>UNTIL</item>- <item>LOOP</item>- <item>VAR</item>- <item>WHILE</item>- <item>WITH</item>- <item>EXIT</item>- <item>FALSE</item>- <item>TRUE</item>- <item>BY</item>- <item>FROM</item>- <item>IMPORT</item>- <item>EXPORT</item>- <item>QUALIFIED</item>- <item>RETURN</item>- <item>NEWPROCESS</item>- <item>TRANSFER</item>- <item>IOTRANSFER</item>- <item>FOREIGN</item>- </list>- <list name="types">- <item>INTEGER</item>- <item>CARDINAL</item>- <item>SHORTINT</item>- <item>SHORTCARD</item>- <item>LONGINT</item>- <item>LONGREAL</item>- <item>CHAR</item>- <item>BOOLEAN</item>- <item>POINTER</item>- <item>ADDRESS</item>- <item>ADR</item>- <item>REAL</item>- <item>File</item>- </list>- <contexts>- <context attribute="Normal Text" lineEndContext="#stay" name="Normal">- <keyword attribute="Keyword" context="#stay" String="keywords"/>- <keyword attribute="Directive" context="#stay" String="directives"/>- <keyword attribute="Type" context="#stay" String="types"/>- <Float attribute="Number" context="#stay"/>- <Int attribute="Number" context="#stay"/>- <DetectChar attribute="String" context="String1" char=""" />- <DetectChar attribute="String" context="String2" char="'" />- <StringDetect attribute="Directive" context="Prep1" String="(*$"/>- <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*"/>- </context>- <context attribute="String" lineEndContext="#pop" name="String1">- <DetectChar attribute="String" context="#pop" char="""/>- </context>- <context attribute="String" lineEndContext="#pop" name="String2">- <DetectChar attribute="String" context="#pop" char="'" />- </context>- <context attribute="Comment" lineEndContext="#stay" name="Comment2">- <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")"/>- </context>- <context attribute="Directive" lineEndContext="#stay" name="Prep1">- <StringDetect attribute="Directive" context="Prep1" String="$*)"/>- </context>-- </contexts>- <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal" />- <itemData name="Keyword" defStyleNum="dsKeyword" />- <itemData name="Type" defStyleNum="dsDataType"/>- <itemData name="Number" defStyleNum="dsDecVal" />- <itemData name="String" defStyleNum="dsString" />- <itemData name="Directive" defStyleNum="dsOthers" />- <itemData name="Comment" defStyleNum="dsComment" />- </itemDatas>- </highlighting>- <general>- <keywords casesensitive="1" />- <comments>- <comment name="multiLine" start="(*" end="*)" />- </comments>- </general>-</language>+<language name="Modula-2" mimetype="text/x-modula2" version="5"+ kateversion="2.2" section="Sources" priority="5" extensions="*.mod;*.def"+ casesensitive="1" author="B. Kowarsch (trijezdci@github)" license="MIT">+<!--+ *****************************************************************************+ Multi-Dialect Modula-2 syntax highlighting profile for Kate++ Copyright (C) 2018 Modula-2 Software Foundation++ Licensed under the MIT license <https://opensource.org/licenses/MIT>++ This file should be placed in /usr/share.org.kde.syntax-highlighting/syntax/.++ 1. Dialect Support++ This profile covers the following Modula-2 dialects:++ (1) PIM Modula-2 (Wirth, 1985)+ (2) ISO Modula-2 (ISO 10514-1)+ (3) Modula-2 R10 (Kowarsch & Sutcliffe, 2010)++ The default context recognises reserved words and built-in identifiers that+ are common to all dialects and tags them accordingly for highlighting.++ 1.2 Dialect Disambiguation++ In order to disambiguate dialects, the profile also recognises entities that+ are indicative of a specific dialect, tags them accordingly for highlighting+ and switches the context to the dialect of which the entity is indicative.++ However, this approach does NOT prevent mis-identification as it is always+ possible that a user or library defined identifier matches an entity that+ is a reserved word or built-in identifier in another dialect.++ It is therefore advisable to place dialect tags into the top of Modula-2+ source files.++ 1.3 Dialect Tags++ A dialect tag is a specially formatted comment that specifies the dialect in+ use. The profile recognises the following dialect tags:++ (*!m2pim*) specifies the PIM dialect+ (*!m2iso*) specifies the ISO dialect+ (*!m2r10*) specifies the R10 dialect++ Dialect tags may also include a compiler extension suffix following the+ dialect identifier and preceded by '+' to indicate the use of compiler+ specific language extensions. Such suffixes are recognised but ignored.++ Using a dialect tag guarantees that the profile identifies the source file+ correctly. Attention: No whitespace is permitted within a dialect tag.++ These dialect tags are also recognised by Emacs, Vim/vi and the Pygments+ source code rendering framework. Support in other editors and frameworks is+ being added over time.++ 2. Classification++ 2.1 Reserved Words++ In Modula-2 terminology, keywords are called reserved words. Reserved words+ are tagged "Keyword" regardless of their kind or purpose.++ 2.2 Built-in Identifiers++ Modula-2 distinguishes two kinds of built-in identifiers: so called standard+ identifiers, also called pervasive identifiers or simply pervasives; and+ identifiers provided by a built-in module for unsafe facilities, called+ SYSTEM in PIM and ISO Modula-2, and UNSAFE in Modula-2 R10.++ Pervasive Identifiers are tagged according to their kind as follows:++ (1) Constants are tagged "Const"+ (2) Types are tagged "Type"+ (3) Functions, procedures and macros are tagged "Builtin"+ (4) Identifiers provided by SYSTEM/UNSAFE are tagged "Unsafe"++ The tagging of the latter group regardless of kind or purpose follows the+ Modula-2 philosophy of making the use of unsafe facilities explicit and+ easily identifiable within the source code in order to sensitise programmers+ and thereby discourage and minimise their use.++ 2.3 Numeric Literals++ There are three kinds of numeric literals: whole number literals, real+ number literals and character code literals. Numeric literals are tagged+ "Number" regardless of their kind.++ 2.4 Quoted Literals++ There are two ways to quote a character or string: using single quotes, or+ using double quotes. Quoted literals are tagged "String" regardless of+ their type or kind.++ 2.5 Comments and Pragmas++ Dialect tags, although comments, are tagged "DialectTag", any other comments+ are tagged "Comment", and pragmas are tagged "Pragma".++ 2.6 Any Other Entities++ Any other entities are tagged "Plain Source".++ 3. Rendering Styles++ By default, the above tags/attributes are assigned styles as follows:++ Keyword => dsKeyword, bold+ Const => dsBuiltin, bold+ Type => dsDataType, bold+ Builtin => dsBuiltin, bold+ Unsafe => dsWarning, bold+ Number => dsDecVal+ String => dsString+ DialectTag => dsComment, bold+ Comment => dsComment, italic+ Pragma => dsPreprocessor, bold+ Plain Source => dsNormal++ These styles can be customised in Kate via Settings->Configure Kate...+ *****************************************************************************+-->+ <highlighting>+ <list name="workaround">+ <!-- BUG: Kate ignores first entry in first context -->+ <!-- WORKAROUND: Use the name of this dummy list as first entry -->+ <item>???</item> <!-- use '???' in source to test/verify this bug -->+ </list>++<!--+ ============================================================================+ Common Entities - Lowest Common Denominator+ ============================================================================+-->+ <!-- Common Reserved Words -->+ <list name="common-keywords">+ <item>AND</item>+ <item>ARRAY</item>+ <item>BEGIN</item>+ <item>BY</item>+ <item>CASE</item>+ <item>CONST</item>+ <item>DEFINITION</item>+ <item>DIV</item>+ <item>DO</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>EXIT</item>+ <item>FOR</item>+ <item>FROM</item>+ <item>IF</item>+ <item>IMPLEMENTATION</item>+ <item>IMPORT</item>+ <item>IN</item>+ <item>LOOP</item>+ <item>MOD</item>+ <item>MODULE</item>+ <item>NOT</item>+ <item>OF</item>+ <item>OR</item>+ <item>POINTER</item>+ <item>PROCEDURE</item>+ <item>RECORD</item>+ <item>REPEAT</item>+ <item>RETURN</item>+ <item>SET</item>+ <item>THEN</item>+ <item>TO</item>+ <item>TYPE</item>+ <item>UNTIL</item>+ <item>VAR</item>+ <item>WHILE</item>+ </list>++ <!-- Common Pervasive Constants -->+ <list name="common-constants">+ <item>FALSE</item>+ <item>NIL</item>+ <item>TRUE</item>+ </list>++ <!-- Common Pervasive Types -->+ <list name="common-types">+ <item>BOOLEAN</item>+ <item>CARDINAL</item>+ <item>CHAR</item>+ <item>INTEGER</item>+ <item>LONGREAL</item>+ <item>REAL</item>+ </list>++ <!-- Common Pervasive Procedures -->+ <list name="common-procedures">+ <item>ABS</item>+ <item>CHR</item>+ <item>MAX</item>+ <item>MIN</item>+ <item>ODD</item>+ <item>ORD</item>+ </list>++ <!-- Common Unsafe Facilities -->+ <list name="common-unsafe">+ <!-- Types -->+ <item>ADDRESS</item>+ <item>WORD</item>+ <!-- Procedures -->+ <item>ADR</item>+ </list>++<!--+ ============================================================================+ Dialect Indicative Entities+ ============================================================================+-->+<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ PIM Indicators - Entities indicative of PIM Modula-2+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- There are no reswords, pervasives or builtins indicative of PIM -->++ <!-- PIM-only Libraries -->+ <list name="pim-only-libraries">+ <item>InOut</item>+ <item>MathLib0</item>+ </list>++<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ ISO Indicators - Entities indicative of ISO Modula-2+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- ISO-only Reserved Words -->+ <list name="iso-only-keywords">+ <!--NB: FORWARD is not indicative of ISO,+ PIM single-pass compilers also use it.-->+ <item>EXCEPT</item>+ <item>FINALLY</item>+ <item>PACKEDSET</item>+ <item>REM</item>+ <item>RETRY</item>+ </list>++ <!-- ISO-only Pervasive Constants -->+ <list name="iso-only-constants">+ <item>INTERRUPTIBLE</item>+ <item>UNINTERRUPTIBLE</item>+ </list>++ <!-- ISO-only Pervasive Types -->+ <list name="iso-only-types">+ <!--NB: COMPLEX and LONGCOMPLEX are not indicative of ISO,+ they are also part of the R10 standard library.-->+ <item>PROTECTION</item>+ </list>++ <!-- ISO-only Pervasive Procedures -->+ <list name="iso-only-procedures">+ <item>CMPLX</item>+ <item>IM</item>+ <item>LFLOAT</item>+ <item>RE</item>+ </list>++ <!-- ISO-only Unsafe Facilities -->+ <list name="iso-only-unsafe">+ <!-- Constants -->+ <item>BITSPERLOC</item>+ <item>BITSPERWORD</item>+ <!-- Types -->+ <item>LOC</item>+ <!-- Procedures -->+ <item>ADDADR</item>+ <item>DIFADR</item>+ <item>MAKEADR</item>+ <item>ROTATE</item>+ <item>SHIFT</item>+ <item>SUBADR</item>+ </list>++ <!-- ISO-only Libraries -->+ <list name="iso-only-libraries">+ <item>IOConsts</item>+ <item>IOLink</item>+ <item>IOResult</item>+ <item>LongIO</item>+ <item>WholeIO</item>+ <item>RawIO</item>+ <item>SIOResult</item>+ <item>SLongIO</item>+ <item>SWholeIO</item>+ <item>SRealIO</item>+ <item>SRawIO</item>+ <item>ConvTypes</item>+ <item>RealStr</item>+ <item>WholeStr</item>+ <item>WholeConv</item>+ </list>++<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ R10 Indicators - Entities indicative of Modula-2 R10+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- R10-only Reserved Words -->+ <list name="r10-only-keywords">+ <item>ALIAS</item>+ <item>ARGLIST</item>+ <item>BLUEPRINT</item>+ <item>COPY</item>+ <item>GENLIB</item>+ <item>OPAQUE</item>+ <item>READ</item>+ <item>REFERENTIAL</item>+ <item>RELEASE</item>+ <item>RETAIN</item>+ <item>WRITE</item>+ <item>YIELD</item>+ </list>++ <!-- R10-only Pervasive Types -->+ <list name="r10-only-types">+ <!--NB: LONGCARD is not indicative of R10,+ some PIM and ISO compilers also use it.-->+ <item>OCTET</item>+ <item>UNICHAR</item>+ </list>++ <!-- R10-only Pervasive Procedures -->+ <list name="r10-only-procedures">+ <item>APPEND</item>+ <item>CAPACITY</item>+ <item>COUNT</item>+ <item>INSERT</item>+ <item>LOG2</item>+ <item>POW2</item>+ <item>PRED</item>+ <item>PTR</item>+ <item>REMOVE</item>+ <item>SGN</item>+ <item>SUCC</item>+ </list>++ <!-- R10-only Pervasive Macros -->+ <list name="r10-only-macros">+ <item>TLIMIT</item>+ <item>TMAX</item>+ <item>TMIN</item>+ </list>++ <!-- R10-only Unsafe Facilities -->+ <list name="r10-only-unsafe">+ <!-- Module -->+ <item>UNSAFE</item>+ <!-- Types -->+ <item>LONGWORD</item>+ <item>OCTETSEQ</item>+ <!-- Procedures -->+ <item>BIT</item>+ <item>BWAND</item>+ <item>BWNOT</item>+ <item>BWOR</item>+ <item>SETBIT</item>+ <item>SHL</item>+ <item>SHR</item>+ </list>++ <!-- R10-only Libraries -->+ <list name="r10-only-libraries">+ <item>PervasiveIO</item>+ <item>UnsafeIO</item>+ </list>++<!--+ ============================================================================+ Entities for PIM Context+ ============================================================================+-->+ <!-- All PIM Reserved Words -->+ <list name="pim-keywords">+ <item>AND</item>+ <item>ARRAY</item>+ <item>BEGIN</item>+ <item>BY</item>+ <item>CASE</item>+ <item>CONST</item>+ <item>DEFINITION</item>+ <item>DIV</item>+ <item>DO</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>EXIT</item>+ <item>EXPORT</item>+ <item>FOR</item>+ <item>FROM</item>+ <item>IF</item>+ <item>IMPLEMENTATION</item>+ <item>IMPORT</item>+ <item>IN</item>+ <item>LOOP</item>+ <item>MOD</item>+ <item>MODULE</item>+ <item>NOT</item>+ <item>OF</item>+ <item>OR</item>+ <item>POINTER</item>+ <item>PROCEDURE</item>+ <item>QUALIFIED</item>+ <item>RECORD</item>+ <item>REPEAT</item>+ <item>RETURN</item>+ <item>SET</item>+ <item>THEN</item>+ <item>TO</item>+ <item>TYPE</item>+ <item>UNTIL</item>+ <item>VAR</item>+ <item>WHILE</item>+ <item>WITH</item>+ </list>++ <!-- All PIM Pervasive Constants -->+ <list name="pim-constants">+ <item>FALSE</item>+ <item>NIL</item>+ <item>TRUE</item>+ </list>++ <!-- All PIM Pervasive Types -->+ <list name="pim-types">+ <item>BOOLEAN</item>+ <item>BITSET</item>+ <item>CARDINAL</item>+ <item>CHAR</item>+ <item>INTEGER</item>+ <item>LONGINT</item>+ <item>LONGREAL</item>+ <item>PROC</item>+ <item>REAL</item>+ </list>++ <!-- All PIM Pervasive Procedures -->+ <list name="pim-procedures">+ <item>ABS</item>+ <item>CAP</item>+ <item>CHR</item>+ <item>DEC</item>+ <item>EXCL</item>+ <item>FLOAT</item>+ <item>HALT</item>+ <item>HIGH</item>+ <item>INC</item>+ <item>INCL</item>+ <item>MAX</item>+ <item>MIN</item>+ <item>ODD</item>+ <item>ORD</item>+ <item>SIZE</item>+ <item>TRUNC</item>+ <item>VAL</item>+ </list>++ <!-- All PIM Pervasive Macros and their translations -->+ <list name="pim-macros">+ <item>NEW</item>+ <!--resolves to-->+ <item>ALLOCATE</item>+ <item>DISPOSE</item>+ <!--resolves to-->+ <item>DEALLOCATE</item>+ </list>++ <!-- All PIM Unsafe Facilities -->+ <list name="pim-unsafe">+ <!-- Module -->+ <item>SYSTEM</item>+ <!-- Types -->+ <item>ADDRESS</item>+ <item>PROCESS</item>+ <item>WORD</item>+ <!-- Procedures -->+ <item>ADR</item>+ <item>NEWPROCESS</item>+ <item>TRANSFER</item>+ <item>TSIZE</item>+ </list>++<!--+ ============================================================================+ Entities for ISO Context+ ============================================================================+-->+ <!-- All ISO Reserved Words -->+ <list name="iso-keywords">+ <item>AND</item>+ <item>ARRAY</item>+ <item>BEGIN</item>+ <item>BY</item>+ <item>CASE</item>+ <item>CONST</item>+ <item>DEFINITION</item>+ <item>DIV</item>+ <item>DO</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>EXIT</item>+ <item>EXCEPT</item>+ <item>EXPORT</item>+ <item>FINALLY</item>+ <item>FOR</item>+ <item>FORWARD</item>+ <item>FROM</item>+ <item>IF</item>+ <item>IMPLEMENTATION</item>+ <item>IMPORT</item>+ <item>IN</item>+ <item>LOOP</item>+ <item>MOD</item>+ <item>MODULE</item>+ <item>NOT</item>+ <item>OF</item>+ <item>OR</item>+ <item>PACKEDSET</item>+ <item>POINTER</item>+ <item>PROCEDURE</item>+ <item>QUALIFIED</item>+ <item>RECORD</item>+ <item>REM</item>+ <item>REPEAT</item>+ <item>RETRY</item>+ <item>RETURN</item>+ <item>SET</item>+ <item>THEN</item>+ <item>TO</item>+ <item>TYPE</item>+ <item>UNTIL</item>+ <item>VAR</item>+ <item>WHILE</item>+ <item>WITH</item>+ </list>++ <!-- All ISO Pervasive Constants -->+ <list name="iso-constants">+ <item>FALSE</item>+ <item>INTERRUPTIBLE</item>+ <item>NIL</item>+ <item>TRUE</item>+ <item>UNINTERRUPTIBLE</item>+ </list>++ <!-- All ISO Pervasive Types -->+ <list name="iso-types">+ <item>BOOLEAN</item>+ <item>BITSET</item>+ <item>CARDINAL</item>+ <item>COMPLEX</item>+ <item>CHAR</item>+ <item>INTEGER</item>+ <item>LONGCOMPLEX</item>+ <item>LONGREAL</item>+ <item>PROC</item>+ <item>PROTECTION</item>+ <item>REAL</item>+ </list>++ <!-- All ISO Pervasive Procedures -->+ <list name="iso-procedures">+ <item>ABS</item>+ <item>CAP</item>+ <item>CHR</item>+ <item>CMPLX</item>+ <item>DEC</item>+ <item>EXCL</item>+ <item>FLOAT</item>+ <item>HALT</item>+ <item>HIGH</item>+ <item>IM</item>+ <item>INC</item>+ <item>INCL</item>+ <item>INT</item>+ <item>LENGTH</item>+ <item>LFLOAT</item>+ <item>MAX</item>+ <item>MIN</item>+ <item>ODD</item>+ <item>ORD</item>+ <item>RE</item>+ <item>SIZE</item>+ <item>TRUNC</item>+ <item>VAL</item>+ </list>++ <!-- All ISO Pervasive Macros and teir translations -->+ <list name="iso-macros">+ <item>NEW</item>+ <!--resolves to-->+ <item>ALLOCATE</item>+ <item>DISPOSE</item>+ <!--resolves to-->+ <item>DEALLOCATE</item>+ </list>++ <!-- All ISO Unsafe Facilities -->+ <list name="iso-unsafe">+ <!-- Module -->+ <item>SYSTEM</item>+ <!-- Constants -->+ <item>BITSPERLOC</item>+ <item>BITSPERWORD</item>+ <!-- Types -->+ <item>ADDRESS</item>+ <item>LOC</item>+ <item>WORD</item>+ <!-- Procedures -->+ <item>ADDADR</item>+ <item>ADR</item>+ <item>CAST</item>+ <item>DIFADR</item>+ <item>MAKEADR</item>+ <item>ROTATE</item>+ <item>SHIFT</item>+ <item>SUBADR</item>+ <item>TSIZE</item>+ </list>++<!--+ ============================================================================+ Entities for R10 Context+ ============================================================================+-->+ <!-- All R10 Reserved Words -->+ <list name="r10-keywords">+ <item>ALIAS</item>+ <item>AND</item>+ <item>ARGLIST</item>+ <item>ARRAY</item>+ <item>BEGIN</item>+ <item>BLUEPRINT</item>+ <item>BY</item>+ <item>CASE</item>+ <item>CONST</item>+ <item>COPY</item>+ <item>DEFINITION</item>+ <item>DIV</item>+ <item>DO</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>EXIT</item>+ <item>FOR</item>+ <item>FROM</item>+ <item>GENLIB</item>+ <item>IF</item>+ <item>IMPLEMENTATION</item>+ <item>IMPORT</item>+ <item>IN</item>+ <item>LOOP</item>+ <item>MOD</item>+ <item>MODULE</item>+ <item>NEW</item>+ <item>NOT</item>+ <item>OF</item>+ <item>OPAQUE</item>+ <item>OR</item>+ <item>POINTER</item>+ <item>PROCEDURE</item>+ <item>READ</item>+ <item>RECORD</item>+ <item>REFERENTIAL</item>+ <item>RELEASE</item>+ <item>REPEAT</item>+ <item>RETAIN</item>+ <item>RETURN</item>+ <item>SET</item>+ <item>THEN</item>+ <item>TO</item>+ <item>TYPE</item>+ <item>UNTIL</item>+ <item>VAR</item>+ <item>WHILE</item>+ <item>WRITE</item>+ <item>YIELD</item>+ </list>++ <!-- All R10 Pervasive Constants -->+ <list name="r10-constants">+ <item>FALSE</item>+ <item>NIL</item>+ <item>TRUE</item>+ </list>++ <!-- All R10 Pervasive Types -->+ <list name="r10-types">+ <item>BOOLEAN</item>+ <item>CARDINAL</item>+ <item>CHAR</item>+ <item>INTEGER</item>+ <item>LONGCARD</item>+ <item>LONGINT</item>+ <item>LONGREAL</item>+ <item>OCTET</item>+ <item>REAL</item>+ <item>UNICHAR</item>+ </list>++ <!-- All R10 Pervasive Procedures -->+ <list name="r10-procedures">+ <item>ABS</item>+ <item>APPEND</item>+ <item>CAPACITY</item>+ <item>CHR</item>+ <item>COUNT</item>+ <item>ENTIER</item>+ <item>INSERT</item>+ <item>LENGTH</item>+ <item>LOG2</item>+ <item>MAX</item>+ <item>MIN</item>+ <item>ODD</item>+ <item>ORD</item>+ <item>POW2</item>+ <item>PRED</item>+ <item>PTR</item>+ <item>REMOVE</item>+ <item>SGN</item>+ <item>SUCC</item>+ </list>++ <!-- All R10 Pervasive Macros -->+ <list name="r10-macros">+ <item>TLIMIT</item>+ <item>TMAX</item>+ <item>TMIN</item>+ <item>TSIZE</item>+ </list>++ <!-- All R10 Unsafe Facilities -->+ <list name="r10-unsafe">+ <!-- Reserved Words -->+ <item>CAST</item>+ <!-- Module -->+ <item>UNSAFE</item>+ <!-- Constants -->+ <item>BitsPerAddress</item>+ <item>BitsPerByte</item>+ <item>BytesPerWord</item>+ <item>BytesPerLongWord</item>+ <!-- Types -->+ <item>ADDRESS</item>+ <item>BYTE</item>+ <item>LONGWORD</item>+ <item>OCTETSEQ</item>+ <item>WORD</item>+ <!-- Procedures -->+ <item>ADD</item>+ <item>ADR</item>+ <item>BIT</item>+ <item>BWAND</item>+ <item>BWNOT</item>+ <item>BWOR</item>+ <item>HALT</item>+ <item>SETBIT</item>+ <item>SHL</item>+ <item>SHR</item>+ <item>SUB</item>+ <!-- Macros -->+ <item>NOP</item>+ </list>++ <contexts>+<!--+ ============================================================================+ Common Context+ ============================================================================+ This context is selected by default, prior to any dialect disambiguation.+ ============================================================================+-->+ <context name="Common" attribute="Plain Source" lineEndContext="#stay">+ <!-- BUG: first entry is ignored, leave Dummy at first position -->+ <keyword attribute="Dummy" context="#stay" String="workaround"/>+<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ Dialect tags+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ Occurence selects specified dialect. Compiler extension suffix is ignored.++ EBNF:++ dialectTag :=+ '(*!' dialectIdent ( '+' compilerExtension )? '*)'+ ;++ dialectIdent :=+ 'm2pim' | 'm2iso' | 'm2r10'+ ;++ compilerExtension :=+ LowerCaseLetter ( LowerCaseLetter | Digit )*+ ;++ LowerCaseLetter := 'a' .. 'z';++ Digit := '0' .. '9' ;+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- PIM Dialect Tag (*!m2pim*) -->+ <RegExpr attribute="DialectTag" context="PIM"+ String="\(\*\!m2pim(\+[a-z][a-z0-9]*)?\*\)"/>++ <!-- ISO Dialect Tag (*!m2iso*) -->+ <RegExpr attribute="DialectTag" context="ISO"+ String="\(\*\!m2iso(\+[a-z][a-z0-9]*)?\*\)"/>++ <!-- R10 Dialect Tag (*!m2r10*) -->+ <RegExpr attribute="DialectTag" context="R10"+ String="\(\*\!m2r10(\+[a-z][a-z0-9]*)?\*\)"/>+<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ Entities common to all dialects, occurrence does not select any dialect+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- Common Reserved Words -->+ <keyword attribute="Keyword"+ context="#stay" String="common-keywords"/>++ <!-- Common Pervasive Constants -->+ <keyword attribute="Const"+ context="#stay" String="common-constants"/>++ <!-- Common Pervasive Types -->+ <keyword attribute="Const"+ context="#stay" String="common-types"/>++ <!-- Common Pervasive Procedures -->+ <keyword attribute="Builtin"+ context="#stay" String="common-procedures"/>++ <!-- Common Unsafe Facilities -->+ <keyword attribute="Unsafe"+ context="#stay" String="common-unsafe"/>+<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ Entities indicative of a dialect, occurrence selects indicated dialect+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- Dialect Indicative Reserved Words -->+ <keyword attribute="Keyword"+ context="ISO" String="iso-only-keywords"/>+ <keyword attribute="Keyword"+ context="R10" String="r10-only-keywords"/>++ <!-- Dialect Indicative Constants -->+ <keyword attribute="Const"+ context="ISO" String="iso-only-constants"/>++ <!-- Dialect Indicative Types -->+ <keyword attribute="Type"+ context="ISO" String="iso-only-types"/>+ <keyword attribute="Type"+ context="R10" String="r10-only-types"/>++ <!-- Dialect Indicative Procedures -->+ <keyword attribute="Builtin"+ context="ISO" String="iso-only-procedures"/>+ <keyword attribute="Builtin"+ context="R10" String="r10-only-procedures"/>++ <!-- Dialect Indicative Macros -->+ <keyword attribute="Builtin"+ context="R10" String="r10-only-macros"/>++ <!-- Dialect Indicative Unsafe Facilities -->+ <keyword attribute="Unsafe" context="ISO" String="iso-only-unsafe"/>+ <keyword attribute="Unsafe" context="R10" String="r10-only-unsafe"/>++ <!-- Dialect Indicative Libraries -->+ <keyword attribute="Plain Source"+ context="PIM" String="pim-only-libraries"/>+ <keyword attribute="Plain Source"+ context="ISO" String="iso-only-libraries"/>+ <keyword attribute="Plain Source"+ context="R10" String="r10-only-libraries"/>+<!--+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ Literals common to all dialects, occurrence does not select any dialect+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-->+ <!-- Real Number Literals -->+ <Float attribute="Number" context="#stay"/>++ <!-- Decimal Whole Number Literals -->+ <Int attribute="Number" context="#stay"/>++ <!-- Double-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="DoubleQuoted" char="""/>++ <!-- Single-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="SingleQuoted" char="'"/>++ <!-- Opening Block Comment Delimiter -->+ <Detect2Chars attribute="Comment" context="BlockComment"+ char="(" char1="*" beginRegion="FoldableComment"/>+ </context><!--Common-->++<!--+ ============================================================================+ PIM Context+ ============================================================================+ This context is selected when either the PIM dialect tag (*!m2pim*) or an+ entity indicative of the PIM dialect is found within the source file.+ ============================================================================+-->+ <context name="PIM" attribute="Plain Source" lineEndContext="#stay">+ <!-- Reserved Words -->+ <keyword attribute="Keyword" context="#stay" String="pim-keywords"/>++ <!-- Pervasive Constant Identifiers -->+ <keyword attribute="Const" context="#stay" String="pim-constants"/>++ <!-- Pervasive Type Identifiers -->+ <keyword attribute="Type" context="#stay" String="pim-types"/>++ <!-- Pervasive Procedure Identifiers -->+ <keyword attribute="Builtin" context="#stay" String="pim-procedures"/>++ <!-- Pervasive Macro Identifiers and Translations -->+ <keyword attribute="Builtin" context="#stay" String="pim-macros"/>++ <!-- Built-in Unsafe Facilities -->+ <keyword attribute="Unsafe" context="#stay" String="pim-unsafe"/>++ <!-- Base-16 Whole Number Literals -->+ <RegExpr attribute="Number" context="#stay" String="0[0-9A-F]*H"/>++ <!-- Base-8 Whole Number and Character Code Literals -->+ <RegExpr attribute="Number" context="#stay" String="[0-7]+[BC]"/>++ <!-- Real Number Literals -->+ <Float attribute="Number" context="#stay"/>++ <!-- Decimal Whole Number Literals -->+ <Int attribute="Number" context="#stay"/>++ <!-- Double-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="DoubleQuoted" char="""/>++ <!-- Single-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="SingleQuoted" char="'"/>++ <!-- Opening Pragma Delimiter -->+ <StringDetect attribute="Pragma" context="PIM-Pragma" String="(*$"/>++ <!-- Opening Block Comment Delimiter -->+ <Detect2Chars attribute="Comment" context="BlockComment"+ char="(" char1="*" beginRegion="FoldableComment"/>+ </context><!--PIM-->++<!--+ ============================================================================+ ISO Context+ ============================================================================+ This context is selected when either the ISO dialect tag (*!m2iso*) or an+ entity indicative of the ISO dialect is found within the source file.+ ============================================================================+-->+ <context name="ISO" attribute="Plain Source" lineEndContext="#stay">+ <!-- Reserved Words -->+ <keyword attribute="Keyword" context="#stay" String="iso-keywords"/>++ <!-- Pervasive Constant Identifiers -->+ <keyword attribute="Const" context="#stay" String="iso-constants"/>++ <!-- Pervasive Type Identifiers -->+ <keyword attribute="Type" context="#stay" String="iso-types"/>++ <!-- Pervasive Procedure Identifiers -->+ <keyword attribute="Builtin" context="#stay" String="iso-procedures"/>++ <!-- Pervasive Macro Identifiers and Translations -->+ <keyword attribute="Builtin" context="#stay" String="iso-macros"/>++ <!-- Built-in Unsafe Facilities -->+ <keyword attribute="Unsafe" context="#stay" String="iso-unsafe"/>++ <!-- Base-16 Whole Number Literals -->+ <RegExpr attribute="Number" context="#stay" String="0[0-9A-F]*H"/>++ <!-- Base-8 Whole Number and Character Code Literals -->+ <RegExpr attribute="Number" context="#stay" String="[0-7]+[BC]"/>++ <!-- Real Number Literals -->+ <Float attribute="Number" context="#stay"/>++ <!-- Decimal Whole Number Literals -->+ <Int attribute="Number" context="#stay"/>++ <!-- Double-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="DoubleQuoted" char="""/>++ <!-- Single-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="SingleQuoted" char="'"/>++ <!-- Opening Pragma Delimiter -->+ <Detect2Chars attribute="Pragma"+ context="ISO-Pragma" char="<" char1="*"/>++ <!-- Opening Block Comment Delimiter -->+ <Detect2Chars attribute="Comment" context="BlockComment"+ char="(" char1="*" beginRegion="FoldableComment"/>+ </context><!--ISO-->++<!--+ ============================================================================+ R10 Context+ ============================================================================+ This context is selected when either the R10 dialect tag (*!m2r10*) or an+ entity indicative of the R10 dialect is found within the source file.+ ============================================================================+-->+ <context name="R10" attribute="Plain Source" lineEndContext="#stay">+ <!-- Reserved Words -->+ <keyword attribute="Keyword" context="#stay" String="r10-keywords"/>++ <!-- Built-in Constant Identifiers -->+ <keyword attribute="Const" context="#stay" String="r10-constants"/>++ <!-- Built-in Type Identifiers -->+ <keyword attribute="Type" context="#stay" String="r10-types"/>++ <!-- Built-in Procedure Identifiers -->+ <keyword attribute="Builtin" context="#stay" String="r10-procedures"/>++ <!-- Built-in Macro Identifiers and Translations -->+ <keyword attribute="Builtin" context="#stay" String="r10-macros"/>++ <!-- Facilities from Built-in Module UNSAFE -->+ <keyword attribute="Unsafe" context="#stay" String="r10-unsafe"/>++ <!-- Base-2 Whole Number Literals -->+ <RegExpr attribute="Number" context="#stay"+ String="0b([01]+('[01]+)?)+"/>++ <!-- Base-16 Whole Number and Character Code Literals -->+ <RegExpr attribute="Number" context="#stay"+ String="0[ux]([0-9A-F]+('[0-9A-F]+)?)+"/>++ <!-- Real Number Literals -->+ <Float attribute="Number" context="#stay"/>++ <!-- Decimal Whole Number Literals -->+ <RegExpr attribute="Number" context="#stay"+ String="([1-9][0-9]*('[0-9]+)*)|0"/>++ <!-- Double-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="DoubleQuoted" char="""/>++ <!-- Single-Quoted Character and String Literals -->+ <DetectChar attribute="String" context="SingleQuoted" char="'"/>++ <!-- Opening Pragma Delimiter -->+ <Detect2Chars attribute="Pragma"+ context="ISO-Pragma" char="<" char1="*"/>++ <!-- Line Comment -->+ <DetectChar attribute ="Comment" context="LineComment" char="!"/>++ <!-- Opening Block Comment Delimiter -->+ <Detect2Chars attribute="Comment" context="BlockComment"+ char="(" char1="*" beginRegion="FoldableComment"/>+ </context><!--R10-->++<!--+ ============================================================================+ Sub-Contexts+ ============================================================================+ These contexts are used to process entities that are recognised by their+ opening delimiters, such as quoted literals, pragmas and comments.+ ============================================================================+-->+ <!-- Double-Quoted Literal -->+ <context name="DoubleQuoted" attribute="String" lineEndContext="#pop">+ <!-- Closing Delimiter -->+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>++ <!-- Single-Quoted Literal -->+ <context name="SingleQuoted" attribute="String" lineEndContext="#pop">+ <!-- CLosing Delimiter -->+ <DetectChar attribute="String" context="#pop" char="'" />+ </context>++ <!-- PIM Pragma Body -->+ <context name="PIM-Pragma" attribute="Pragma" lineEndContext="#stay">+ <!-- Closing Delimiter -->+ <Detect2Chars attribute="Pragma" context="#pop" char="*" char1=")"/>+ </context>++ <!-- ISO Pragma Body -->+ <context name="ISO-Pragma" attribute="Pragma" lineEndContext="#stay">+ <!-- Closing Delimiter -->+ <Detect2Chars attribute="Pragma"+ context="#pop" char="*" char1=">"/>+ </context>++ <!-- Line Comment Body -->+ <context name="LineComment" attribute="Comment" lineEndContext="#pop">+ </context>++ <!-- Block Comment Body -->+ <context name="BlockComment" attribute="Comment" lineEndContext="#stay">+ <!-- Opening Delimiter of Nested Comment -->+ <Detect2Chars attribute="Comment" context="BlockComment"+ char="(" char1="*" beginRegion="FoldableComment"/>+ <!-- Closing Delimiter -->+ <Detect2Chars attribute="Comment" context="#pop"+ char="*" char1=")" endRegion="FoldableComment"/>+ </context>+ </contexts>++<!--+ ============================================================================+ Rendering Styles+ ============================================================================+-->+ <itemDatas>+ <!-- Style for Plain Source Text -->+ <itemData name="Plain Source"+ defStyleNum="dsNormal" bold="0" italic="0"/>++ <!-- Style for Reserved Words -->+ <itemData name="Keyword"+ defStyleNum="dsKeyword" bold="1" italic="0"/>++ <!-- Style for Pervasive Constant Identifiers -->+ <itemData name="Const"+ defStyleNum="dsBuiltIn" bold="1" italic="0"/>++ <!-- Style for Pervasive Type Identifiers -->+ <itemData name="Type"+ defStyleNum="dsDataType" bold="1" italic="0"/>++ <!-- Style for Pervasive Procedure Identifiers -->+ <itemData name="Builtin"+ defStyleNum="dsBuiltIn" bold="1" italic="0"/>++ <!-- Style for Unsafe Facilities -->+ <itemData name="Unsafe"+ defStyleNum="dsWarning" bold="1" italic="0"/>++ <!-- Style for Number Literals -->+ <itemData name="Number"+ defStyleNum="dsDecVal" bold="0" italic="0"/>++ <!-- Style for Quoted Literals -->+ <itemData name="String"+ defStyleNum="dsString" bold="0" italic="0"/>++ <!-- Style for Dialect Tags -->+ <itemData name="DialectTag"+ defStyleNum="dsComment" bold="1" italic="0"/>++ <!-- Style for Pragmas -->+ <itemData name="Pragma"+ defStyleNum="dsPreprocessor" bold="1" italic="0"/>++ <!-- Style for Comments -->+ <itemData name="Comment"+ defStyleNum="dsComment" bold="0" italic="1"/>++ <!-- Dummy style for testing -->+ <itemData name="Dummy" defStyleNum="dsError"/>+ </itemDatas>+ </highlighting>++ <general>+ <keywords casesensitive="1" />+ <comments>+ <comment name="singleLine" start="!"/>+ <comment name="multiLine" start="(*" end="*)"/>+ </comments>+ </general>+</language>++<!--EOF-->
xml/objectivec.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Objective-C" version="2" kateversion="5.0" section="Sources" extensions="*.m;*.h" mimetype="text/x-objc-src;text/x-c-hdr">+<language name="Objective-C" version="3" kateversion="5.0" section="Sources" extensions="*.m;*.h" mimetype="text/x-objc-src;text/x-c-hdr"> <highlighting> <list name="keywords"> <item>break</item>@@ -57,21 +57,10 @@ <keyword attribute="Data Type" context="#stay" String="types"/> <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay" >- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar attribute="String" context="String" char="""/> <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>@@ -79,6 +68,19 @@ <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/> <RegExpr attribute="Preprocessor" context="Preprocessor" String="^#"/> <Detect2Chars attribute="String" context="String" char="@" char1=""" />+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String"> <LineContinue attribute="String" context="#stay"/>
xml/objectivecpp.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Objective-C++" version="4" kateversion="5.0" section="Sources" extensions="*.mm;*.M;*.h" mimetype="text/x-objcpp-src;text/x-c-hdr" author="Gennady Telegin (gepo@lvk.cs.msu.su">+<language name="Objective-C++" version="5" kateversion="5.0" section="Sources" extensions="*.mm;*.M;*.h" mimetype="text/x-objcpp-src;text/x-c-hdr" author="Gennady Telegin (gepo@lvk.cs.msu.su"> <highlighting> <list name="keywords"> <item>break</item>@@ -173,21 +173,10 @@ <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" /> <DetectIdentifier />- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay" >- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar attribute="String" context="String" char="""/> <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>@@ -203,6 +192,19 @@ <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" /> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]{|}~^;"/>+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String"> <LineContinue attribute="String" context="#stay"/>
xml/opencl.xml view
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd"> <language name="OpenCL" section="Sources"- version="3" kateversion="3.4"+ version="4" kateversion="3.4" indenter="cstyle" extensions="*.cl" mimetype="text/x-clsrc"@@ -134,27 +134,31 @@ <DetectIdentifier /> <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" /> <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay" >- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <DetectChar attribute="String" context="String" char="""/> <IncludeRules context="##Doxygen" /> <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/> <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>+ </context>++ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>++ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String">
xml/perl.xml view
@@ -39,7 +39,7 @@ Enhance tr/// and y/// support. -->-<language name="Perl" version="6" kateversion="2.4" section="Scripts" extensions="*.pl;*.PL;*.pm;*.pl6;*.PL6;*.p6;*.pm6;" mimetype="application/x-perl;text/x-perl" priority="5" author="Anders Lund (anders@alweb.dk)" license="LGPLv2">+<language name="Perl" version="7" kateversion="2.4" section="Scripts" extensions="*.pl;*.PL;*.pm;*.pl6;*.PL6;*.p6;*.pm6;" mimetype="application/x-perl;text/x-perl" priority="5" author="Anders Lund (anders@alweb.dk)" license="LGPLv2"> <highlighting> <list name="keywords"> <item>if</item>@@ -358,13 +358,14 @@ <RegExpr attribute="Decimal" String="\b\-?[1-9]([0-9]|_[0-9])*\b" context="slash_safe_escape"/> <Int attribute="Decimal" context="slash_safe_escape" /> - <RegExpr attribute="Normal Text" context="#stay" String="\\(["'])[^\1]" />+ <!-- Allow strings as scalar references (ex: \'string') (see bug #348765). -->+ <!-- <RegExpr attribute="Normal Text" context="#stay" String="\\(["'])[^\1]" /> --> <Detect2Chars attribute="Normal Text" context="#stay" char="&" char1="'" /><!-- ??? --> <DetectChar attribute="Operator" context="ip_string" char=""" beginRegion="String" /> <DetectChar attribute="Operator" context="string" char="'" beginRegion="String"/> <DetectChar attribute="Operator" context="Backticked" char="`" /> - <RegExpr attribute="Normal Text" context="find_variable" String="(?:[$@]\S|%[\w{]|\*[^\d\*{\$@%=(])" lookAhead="true" />+ <RegExpr attribute="Normal Text" context="find_variable" String="(?:[$@]\S|%([\w\{\+\-!]|\^H)|\*[^\d\*{\$@%=(])" lookAhead="true" /> <RegExpr attribute="Keyword" context="#stay" String="<[A-Z0-9_]+>" /> @@ -423,9 +424,17 @@ <!-- ====== Contexts for strings ===== --> <context name="ipstring_internal" attribute="String (interpolated)" lineEndContext="#stay"> <DetectIdentifier />- <RegExpr attribute="String Special Character" context="#stay" String="\\[UuLlEtnaefr]" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\c[^\s\\]" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\g(\{(\w+|\-\d+)\}|\d+)" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\k(\{\w+\}|<\w+>|'\w+')" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\N\{[^\{\}]*\}" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\o\{[0-7]+\}" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\[pP](\{\w+\}|P)" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\x([0-9a-fA-F]{2}|\{[0-9a-fA-F]+\})" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\[0-7]{3}" />+ <RegExpr attribute="String Special Character" context="#stay" String="\\[1aAbBdDeEfFGhHKlLnNQrRsStuUvVwWXzZ]" /> <RegExpr attribute="String (interpolated)" context="#stay" String="\\." />- <RegExpr attribute="Normal Text" context="find_variable_unsafe" String="(?:[\$@]\S|%[\w{])" lookAhead="true" />+ <RegExpr attribute="Normal Text" context="find_variable_unsafe" String="(?:[\$@]\S|%([\w\{\-\+!]|\^H))" lookAhead="true" /> </context> <context name="ip_string" attribute="String (interpolated)" lineEndContext="#stay"> <DetectChar attribute="Operator" context="#pop" char=""" endRegion="String"/>@@ -517,6 +526,8 @@ <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" /> <IncludeRules context="regex_pattern_internal_ip" /> <DetectChar attribute="Operator" context="subst_curlybrace_middle" char="}" endRegion="Pattern" />+ <!-- Recursive brackets. Avoid closing brackets incorrectly (bug #364866). -->+ <DetectChar attribute="Pattern" context="subst_curlybrace_pattern_recursive" char="{" /> </context> <context name="subst_curlybrace_middle" attribute="Normal Text" lineEndContext="#stay" > <RegExpr attribute="Comment" context="#stay" String="#.*$" />@@ -532,17 +543,27 @@ <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="Block" /> <IncludeRules context="ipstring_internal" /> </context>+ <context name="subst_curlybrace_pattern_recursive" attribute="Pattern" lineEndContext="#stay">+ <DetectChar attribute="Pattern" context="#pop" char="}" />+ <IncludeRules context="subst_curlybrace_pattern" />+ </context> <context name="subst_paren_pattern" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />+ <DetectChar attribute="Operator" context="subst_paren_replace" char=")" endRegion="Pattern" />+ <!-- Round brackets of RegExp pattern inside -->+ <DetectChar attribute="Pattern Internal Operator" context="subst_paren_pattern_internal_recursive" char="(" /> <IncludeRules context="regex_pattern_internal_ip" />- <DetectChar attribute="Operator" context="subst_paren_replace" char="}" endRegion="Pattern" /> </context> <context name="subst_paren_replace" attribute="String (interpolated)" lineEndContext="#stay"> <IncludeRules context="ipstring_internal" /> <DetectChar attribute="Operator" context="#stay" char="(" beginRegion="Replacement" /> <RegExpr attribute="Operator" context="#pop#pop#pop" String="\)[cegimosx]*" endRegion="Replacement" /> </context>+ <context name="subst_paren_pattern_internal_recursive" attribute="Pattern" lineEndContext="#stay">+ <DetectChar attribute="Pattern Internal Operator" context="#pop" char=")" />+ <IncludeRules context="subst_paren_pattern" />+ </context> <context name="subst_bracket_pattern" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />@@ -605,15 +626,27 @@ <context name="pattern_brace" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Operator" context="#pop#pop" String="\}[cgimosx]*" endRegion="Pattern" /> <IncludeRules context="regex_pattern_internal_ip" />+ <!-- Recursive brackets. Avoid closing brackets incorrectly. -->+ <DetectChar attribute="Pattern" context="pattern_brace_recursive" char="{" /> </context>+ <context name="pattern_brace_recursive" attribute="Pattern" lineEndContext="#stay">+ <DetectChar attribute="Pattern" context="#pop" char="}" />+ <IncludeRules context="pattern_brace" />+ </context> <context name="pattern_bracket" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Operator" context="#pop#pop" String="\][cgimosx]*" endRegion="Pattern" /> <IncludeRules context="regex_pattern_internal_ip" /> </context> <context name="pattern_paren" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Operator" context="#pop#pop" String="\)[cgimosx]*" endRegion="Pattern" />+ <!-- Round brackets of RegExp pattern inside -->+ <DetectChar attribute="Pattern Internal Operator" context="pattern_paren_internal_recursive" char="(" /> <IncludeRules context="regex_pattern_internal_ip" /> </context>+ <context name="pattern_paren_internal_recursive" attribute="Pattern" lineEndContext="#stay">+ <DetectChar attribute="Pattern Internal Operator" context="#pop" char=")" />+ <IncludeRules context="pattern_paren" />+ </context> <context name="pattern_sq" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Operator" context="#pop#pop" String="'[cgimosx]*" endRegion="Pattern" /> <IncludeRules context="regex_pattern_internal" />@@ -622,8 +655,15 @@ <!-- rules internal stuff wrt regex patterns --> <context name="regex_pattern_internal_rules_1" attribute="Pattern" lineEndContext="#stay"> <RegExpr attribute="Comment" context="#stay" String="#.*$" firstNonSpace="true" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\c[^\s\\]" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\g(\{(\w+|\-\d+)\}|\d+)" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\k(\{\w+\}|<\w+>|'\w+')" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\N\{[^\{\}]*\}" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\o\{[0-7]+\}" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\[pP](\{\w+\}|P)" />+ <RegExpr attribute="Special Variable" context="#stay" String="\\x([0-9a-fA-F]{2}|\{[0-9a-fA-F]+\})" /> <RegExpr attribute="Pattern Character Class" context="#stay" String="\\[anDdSsWw]" />- <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[ABbEGLlNUuQdQZz]" />+ <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[ABbEGLlNUuQdQZz]" /> <!-- Also?: efFhHKrRtvVX --> <RegExpr attribute="Special Variable" context="#stay" String="\\[\d]+" /> <RegExpr attribute="Pattern" context="#stay" String="\\." /> </context>@@ -664,31 +704,36 @@ <!-- ====== Variables ====== --> <context name="find_variable" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >+ <RegExpr attribute="Data Type" context="var_detect" String="\$[#_][\w_]" /> <RegExpr attribute="Special Variable" context="var_detect" String="\$[0-9]+" /> <RegExpr attribute="Special Variable" context="var_detect" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" /> <RegExpr attribute="Special Variable" context="var_detect" String="[%\$](?:INC\b|ENV\b|SIG\b)" />+ <RegExpr attribute="Special Variable" context="var_detect" String="\$\^[A-Z_\]\[\^\?\\]" />+ <RegExpr attribute="Special Variable" context="var_detect" String="%([\-\+!]|\^H)" /> <RegExpr attribute="Data Type" context="var_detect" String="\$\$[\$\w_]" />- <RegExpr attribute="Data Type" context="var_detect" String="\$[#_][\w_]" /> <RegExpr attribute="Data Type" context="var_detect" String="\$+::" /> <RegExpr attribute="Special Variable" context="var_detect" String="\$[^a-zA-Z0-9\s{][A-Z]?" />- <RegExpr attribute="Data Type" context="var_detect" String="[\$@%]\{[\w_]+\}" />+ <RegExpr attribute="Data Type" context="var_detect" String="[\$@%]\{\^?[\w_]+\}" /> <AnyChar attribute="Data Type" context="var_detect" String="$@%" /> <RegExpr attribute="Data Type" context="var_detect" String="\*[a-zA-Z_]+" />- <RegExpr attribute="Special Variable" context="#stay" String="\*[^a-zA-Z0-9\s{][A-Z]?" />+ <!-- Do not highlight brackets after *, Ex: (... @*) (see bug #391577) -->+ <RegExpr attribute="Special Variable" context="#stay" String="\*[^a-zA-Z0-9\s\{\(\)\[\]\}][A-Z]?" /> <!-- this should be a rare case! --> <AnyChar attribute="Operator" context="#pop" String="$@%*" /> </context> <!-- This does not check fo a trailing slash, for usage in strings. --> <context name="find_variable_unsafe" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >+ <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$[#_][\w_]" /> <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="\$[0-9]+" /> <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" /> <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[%\$](?:INC\b|ENV\b|SIG\b)" />+ <RegExpr attribute="Special Variable" context="var_detect" String="\$\^[A-Z_\]\[\^\?\\]" />+ <RegExpr attribute="Special Variable" context="var_detect" String="%([\-\+!]|\^H)" /> <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$\$[\$\w_]" />- <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$[#_][\w_]" /> <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$+::" /> <RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />- <RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]\{[\w_]+\}" />- <RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]" /><!-- AnyChar! -->+ <RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]\{\^?[\w_]+\}" />+ <AnyChar attribute="Data Type" context="var_detect_unsafe" String="$@%" /> <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\*\w+" /> <AnyChar attribute="Operator" context="#pop" String="$@%*" /> </context>
xml/powershell.xml view
@@ -1,13 +1,13 @@ <!DOCTYPE language SYSTEM "language.dtd"> <language name="PowerShell"- version="3"+ version="4" kateversion="5.0" extensions="*.ps1;*.ps1m;*.ps1d" section="Scripts" author="Motoki Kashihara (motoki8791@gmail.com); Michael Lombardi (Michael.T.Lombardi@outlook.com)" casesensitive="0"- license="LGPLv2+">+ license="MIT"> <highlighting> <list name="keywords"> <item>Begin</item>
xml/prolog.xml view
@@ -105,7 +105,7 @@ <!ENTITY bs "\"> ]> <language name="Prolog" section="Sources"- version="7" kateversion="3.4"+ version="9" kateversion="3.4" mimetype="text/x-prolog" extensions="*.prolog;*.dcg;*.pro" author="Torsten Eichstädt (torsten.eichstaedt@web.de)"@@ -223,7 +223,7 @@ - Incl. Sep2012 DRAFT Technical Corrigendum 2: Prolog - Part 1: General Core - Incl. honourable Richard O'Keefe's remarks as warnings as "ISO Bogus". - Detect 'shebang' shell scripts, see BUGs- - Includes alert_indent.xml to highlight alert keywords in comments.+ - Includes alert.xml to highlight alert keywords in comments. - Dot "." may be an _unquoted_ user-defined operator in nested terms (but is highlighted as "Warning" 'cause it's more likely a typo than an user-def'd op) and is only taken as fullstop and highlighted as "Logic & Control" in@@ -674,15 +674,15 @@ <IncludeRules context="quoted_last"/> </context> <context name="single-quoted" lineEndContext="#stay" attribute="'quo Ted'" >- <RegExpr String="'$" context="sq" beginRegion="quoted" attribute="Syntax Error" />+ <LineContinue char="'" context="sq" beginRegion="quoted" attribute="Syntax Error" /> <DetectChar char="'" context="sq" beginRegion="quoted" attribute="'quo Ted'" /> </context> <context name="double-quoted" lineEndContext="#stay" attribute=""double-quoted"" >- <RegExpr String=""$" context="dq" beginRegion="quoted" attribute="Syntax Error" />+ <LineContinue char=""" context="dq" beginRegion="quoted" attribute="Syntax Error" /> <DetectChar char=""" context="dq" beginRegion="quoted" attribute=""double-quoted"" /> </context> <context name="back-quoted" lineEndContext="#stay" attribute="`back-quoted`" >- <RegExpr String="`$" context="bq" beginRegion="quoted" attribute="Syntax Error" />+ <LineContinue char="`" context="bq" beginRegion="quoted" attribute="Syntax Error" /> <DetectChar char="`" context="bq" beginRegion="quoted" attribute="`back-quoted`" /> </context> @@ -777,7 +777,7 @@ <Detect2Chars char="*" char1="/" context="#pop" endRegion="comment" attribute="% italic predicates: w/ side effects" /> <DetectSpaces />- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> <DetectIdentifier /> </context> @@ -785,7 +785,7 @@ <!-- Folding for consecutive 1-line comments: let indentation-based auto-folding work --> <context name="1-comment" lineEndContext="#pop" attribute="% italic predicates: w/ side effects" > <DetectSpaces />- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> <DetectIdentifier /> </context> <context name="region_marker" lineEndContext="#pop" attribute="%BEGIN folding region" noIndentationBasedFolding="true" >
xml/python.xml view
@@ -14,7 +14,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="5" style="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">+<language name="Python" version="9" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license=""> <highlighting> <list name="import"> <item>import</item>@@ -346,9 +346,7 @@ <Float attribute="Float" context="#stay" /> <HlCHex attribute="Hex" context="#stay"/> <HlCOct attribute="Octal" context="#stay"/>- <Int attribute="Int" context="#stay">- <StringDetect attribute="Int" String="L" insensitive="true" context="#stay"/>- </Int>+ <Int attribute="Int" context="Int Suffixes"/> <RegExpr attribute="Int" String=" ([0-9]+_)+[0-9]+" context="#stay"/> <RegExpr attribute="Float" String=" ([0-9]+_)+[0-9]+\.[0-9]+" context="#stay"/>@@ -368,6 +366,10 @@ <AnyChar attribute="Operator" String="+*/%\|=;\!<>!^&~-@" context="#stay"/> </context> + <context name="Int Suffixes" attribute="Int" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Int" context="#pop" String="L" insensitive="true"/>+ </context>+ <context name="#CheckForString" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> <DetectSpaces/> <LineContinue attribute="Normal Text" context="CheckForStringNext"/>@@ -446,26 +448,27 @@ </context> <context name="Triple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">+ <IncludeRules context="stringescape"/> <StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Triple A-region"/>- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> </context> <context name="Triple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">- <HlCChar attribute="Comment" context="#stay"/>+ <IncludeRules context="stringescape"/> <StringDetect attribute="Comment" String=""""" context="#pop" endRegion="Triple Q-region"/>- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> </context> <context name="Single A-comment" attribute="Comment" lineEndContext="#stay">- <HlCStringChar attribute="Comment" context="#stay"/>+ <IncludeRules context="stringescape"/> <DetectChar attribute="Comment" char="'" context="#pop"/>- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> </context> <context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">- <HlCStringChar attribute="Comment" context="#stay"/>+ <IncludeRules context="stringescape"/> <DetectChar attribute="Comment" char=""" context="#pop"/>- <IncludeRules context="##Alerts_indent" />+ <IncludeRules context="##Alerts" /> </context> <!-- Strings -->@@ -678,7 +681,6 @@ <comments> <comment name="singleLine" start="#" position="afterwhitespace"/> </comments>- <indentation mode="python" /> <keywords casesensitive="1" additionalDeliminator="#'"/> </general> </language>
xml/r.xml view
@@ -56,7 +56,7 @@ <LineContinue attribute="Operator" context="#stay"/> <DetectChar attribute="Symbol" context="#pop" char=")"/> - <RegExpr attribute="Identifier" context="#stay" String="[a-zA-Z_\.][0-9a-zA-Z_\.]*[\s]*=(?=([^=]|$))"/>+ <RegExpr attribute="Identifier" context="#stay" String="[a-zA-Z_\.][0-9a-zA-Z_\.]*[\s]*[:]?=(?=([^=]|$))"/> <IncludeRules context="CommonRules"/> <DetectChar attribute="Error" context="#stay" char="}" />@@ -79,7 +79,7 @@ <context attribute="Normal Text" lineEndContext="#stay" name="operator_rhs" fallthrough="true" fallthroughContext="#pop"> <!-- While there is nothing of interest, stay in the context -->- <StringDetect attribute="Headline" context="Headline" String="##"/>+ <Detect2Chars attribute="Headline" context="Headline" char="#" char1="#"/> <DetectChar attribute="Comment" context="Comment" char="#"/> <DetectChar attribute="String" context="#stay" char=" "/> <!-- Operators other than +, -, and ! directly after another operator are an error. -->@@ -104,8 +104,8 @@ <Int attribute="Int" context="#stay"/> <RegExpr attribute="Keyword" context="#stay" String="[a-zA-Z_]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/> <RegExpr attribute="Keyword" context="#stay" String="\.[a-zA-Z_\.]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/>- <RegExpr attribute="Symbol" context="parenthesis" String="\("/>- <StringDetect attribute="Headline" context="Headline" String="##"/>+ <DetectChar attribute="Symbol" context="parenthesis" char="("/>+ <Detect2Chars attribute="Headline" context="Headline" char="#" char1="#"/> <DetectChar attribute="Comment" context="Comment" char="#"/> <!-- For (assignment) operators, enter a new context operator_rhs to check what follows (generally, that should not be another op) -->
xml/rest.xml view
@@ -11,7 +11,7 @@ Copyright 2010 Matt Williams (matt@milliams.com) Copyright 2014 Matthew Woehlke (mw_triad@users.sourceforge.net) -->-<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="3" kateversion="2.4" casesensitive="1">+<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="4" kateversion="2.4" casesensitive="1"> <highlighting> @@ -23,7 +23,7 @@ <RegExpr attribute="Footnote" context="#stay" String="^\s*\.\. \[(\d+|#|\*|#[&SimpleReferenceNameChars;]+)\]\s" minimal="true" column="0"/> <RegExpr attribute="Citation" context="#stay" String="^\s*\.\. \[[&SimpleReferenceNameChars;]+\]\s" minimal="true" column="0"/> <RegExpr attribute="HyperlinkTarget" context="#stay" String="^\s*(\.\. (__:|_[&SimpleReferenceNameChars; ]+:(\s|$))|__ )" minimal="true" column="0"/>- <RegExpr attribute="Code" String="^\s*\.\. code-block::" context="CodeBlock" column="0"/>+ <StringDetect attribute="Code" String=".. code-block::" context="CodeBlock" firstNonSpace="true"/> <RegExpr attribute="Directive" context="#stay" String="^\s*\.\. [\w\-_\.]+::(\s|$)" minimal="true" column="0"/> <RegExpr attribute="Code" String="::$" context="CodeBlock" /> <RegExpr attribute="SubstitutionDefinition" context="#stay" String="^\s*\.\. \|[&SimpleReferenceNameChars; ]+\|\s+[&SimpleReferenceNameChars;]+::\s" minimal="true" column="0"/>@@ -36,8 +36,7 @@ <RegExpr attribute="SubstitutionReference" context="#stay" String="&inlinestart;\|[^\s].*\|&inlineend;" minimal="true"/> <RegExpr attribute="InlineInternalTarget" context="#stay" String="&inlinestart;_`[^\s].*`&inlineend;" minimal="true"/> <RegExpr attribute="FootnoteReference" context="#stay" String="&inlinestart;\[[&SimpleReferenceNameChars;]+\]_&inlineend;" minimal="true"/>- <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;`[^\s].*`_&inlineend;" minimal="true"/>- <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;\w+_&inlineend;" minimal="true"/>+ <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;(`[^\s].*`|\w+)_&inlineend;" minimal="true"/> <RegExpr attribute="InterpretedText" context="TrailingRole" String="&inlinestart;`[^\s].*`(?=:[\w\-_\.\+]+:)" minimal="true"/> <RegExpr attribute="Role" String=":[\w\-_\.\+]+:(?=`)" context="Role"/> </context>
xml/rhtml.xml view
@@ -44,7 +44,7 @@ --> <!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->-<language name="Ruby/Rails/RHTML" version="8" kateversion="5.0" section="Markup" extensions="*.rhtml;*.RHTML;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+">+<language name="Ruby/Rails/RHTML" version="9" kateversion="5.0" section="Markup" extensions="*.rhtml;*.RHTML;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+"> <highlighting> @@ -333,7 +333,7 @@ <DetectIdentifier/> <RegExpr attribute="Keyword" context="rubysource" String="<%=?" />- <StringDetect attribute="Keyword" context="rubysourceline" String="%" />+ <DetectChar attribute="Keyword" context="rubysourceline" char="%" /> <StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" /> <StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />@@ -550,16 +550,17 @@ <RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/> <RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/> <RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" beginRegion="def block" firstNonSpace="true"/>+ <WordDetect attribute="Keyword" String="if" context="#stay" beginRegion="def block" firstNonSpace="true"/>+ <WordDetect attribute="Keyword" String="unless" context="#stay" beginRegion="def block" firstNonSpace="true"/> <RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bclass\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bmodule\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bbegin\b" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="class" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="module" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="begin" context="#stay" beginRegion="def block"/> <RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bcase\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bdo\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bdef\b" context="#stay" beginRegion="def block"/>- <RegExpr attribute="Keyword" String="\bend\b" context="#stay" endRegion="def block"/>+ <WordDetect attribute="Keyword" String="case" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="do" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="def" context="#stay" beginRegion="def block"/>+ <WordDetect attribute="Keyword" String="end" context="#stay" endRegion="def block"/> <!-- elsif/else close the current block and start a new one --> <RegExpr attribute="Keyword" String="(\b|^\s*)(else|elsif|rescue|ensure)(\s+|$)" context="#stay" endRegion="def block" beginRegion="def block"/> @@ -583,8 +584,7 @@ <!-- (global) vars starting with $ Match them before $_. -->- <RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="#stay"/>- <RegExpr attribute="Global Variable" String="\$\-[a-zA-Z_]\b" context="#stay"/>+ <RegExpr attribute="Global Variable" String="\$(\w+|\-[a-zA-Z_]\b)" context="#stay"/> <!-- special-character globals --> <RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&]" context="#stay"/> <RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="#stay"/>@@ -620,7 +620,7 @@ <!-- regexp hack --> <RegExpr attribute="Operator" String="\s!" context="#stay"/> <RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>- <StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>+ <Detect2Chars attribute="Operator" char="%" char1="=" context="#stay"/> <Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/> <RegExpr attribute="Symbol" String=":[a-zA-Z_][a-zA-Z0-9_]*" context="#stay"/>@@ -629,11 +629,11 @@ <DetectChar attribute="Raw String" char="'" context="Apostrophed String"/> <DetectChar attribute="Command" char="`" context="Command String"/> - <StringDetect attribute="Normal Text" String="?#" context="#stay"/>+ <Detect2Chars attribute="Normal Text" char="?" char1="#" context="#stay"/> <RegExpr attribute="Comment" String="#\s*BEGIN.*$" context="#stay" beginRegion="marker" column="0"/> <RegExpr attribute="Comment" String="#\s*END.*$" context="#stay" endRegion="marker" column="0"/>- <RegExpr attribute="Comment" String="#" context="Comment Line" firstNonSpace="true"/>+ <DetectChar attribute="Comment" char="#" context="Comment Line" firstNonSpace="true"/> <RegExpr attribute="Comment" String="\s#" context="General Comment"/> <RegExpr attribute="Delimiter" String="[\[\]]+" context="#stay"/>@@ -653,13 +653,14 @@ <context name="Line Continue" attribute="Ruby Normal Text" lineEndContext="#pop"> <RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" firstNonSpace="true"/>- <RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" firstNonSpace="true"/>+ <WordDetect attribute="Keyword" String="if" context="#stay" firstNonSpace="true"/>+ <WordDetect attribute="Keyword" String="unless" context="#stay" firstNonSpace="true"/> <IncludeRules context="rubysource"/> </context> <context name="Quoted String" attribute="String" lineEndContext="#stay">- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\"" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1=""" context="#stay"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/> <!--HlCChar attribute="Char" context="#pop"/-->@@ -668,14 +669,14 @@ <context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay"> <!-- <HlCChar attribute="Char" context="#pop"/> -->- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\'" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="'" context="#stay"/> <DetectChar char="'" attribute="Raw String" context="#pop"/> </context> <context name="Command String" attribute="Command" lineEndContext="#stay">- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\`" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="`" context="#stay"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/> <HlCChar attribute="Char" context="#pop"/>@@ -687,7 +688,7 @@ </context> <context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">- <RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>+ <Detect2Chars attribute="Regular Expression" char="\" char1="/" context="#stay"/> <RegExpr attribute="Regular Expression" String="[^\\]$" context="#pop"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>@@ -782,34 +783,34 @@ <context name="find_gdl_input" attribute="Ruby Normal Text" lineEndContext="#pop"> <!-- handle token arrays -->- <RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />- <RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />- <RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />- <RegExpr attribute="GDL input" context="gdl_token_array_4" String="w<" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_1" char="w" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_2" char="w" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_3" char="w" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_4" char="w" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" /> <!-- handle apostrophed strings -->- <RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q<" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_1" char="q" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_2" char="q" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_3" char="q" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_4" char="q" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" /> <!-- handle shell commands -->- <RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />- <RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />- <RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />- <RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x<" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_1" char="x" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_2" char="x" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_3" char="x" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_4" char="x" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" /> <!-- handle regular expressions -->- <RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />- <RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />- <RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />- <RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r<" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_1" char="r" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_2" char="r" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_3" char="r" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_4" char="r" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" /> @@ -818,10 +819,14 @@ be careful to make this the last GDL ruleset, because the rule for the short form %?foo? will otherwise catch any of the other formats -->- <RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />- <RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />- <RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />- <RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?<" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_1" char="Q" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_2" char="Q" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_3" char="Q" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_4" char="Q" char1="<" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_1" char="(" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_2" char="{" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_3" char="[" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_4" char="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
xml/ruby.xml view
@@ -31,7 +31,7 @@ <!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". --> <language name="Ruby" section="Scripts"- version="8" kateversion="3.3"+ version="9" kateversion="3.3" extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb;*.rake;Rakefile;Gemfile;*.gemspec;Vagrantfile" mimetype="application/x-ruby" style="ruby" indenter="ruby"@@ -274,7 +274,7 @@ <!-- regexp hack --> <RegExpr attribute="Operator" String="\s!" context="#stay"/> <RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>- <StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>+ <Detect2Chars attribute="Operator" char="%" char1="=" context="#stay"/> <Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/> <RegExpr attribute="Symbol" String=":(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?" context="check_div_1"/>@@ -287,7 +287,7 @@ <DetectChar attribute="Raw String" char="'" context="Apostrophed String"/> <DetectChar attribute="Command" char="`" context="Command String"/> - <StringDetect attribute="Normal Text" String="?#" context="#stay"/>+ <Detect2Chars attribute="Normal Text" char="?" char1="#" context="#stay"/> <RegExpr attribute="Comment" String="#\s*BEGIN.*$" context="#stay" beginRegion="marker" column="0"/> <RegExpr attribute="Comment" String="#\s*END.*$" context="#stay" endRegion="marker" column="0"/>@@ -364,22 +364,22 @@ </context> <context name="Quoted String" attribute="String" lineEndContext="#stay">- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\"" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1=""" context="#stay"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/> <DetectChar char=""" attribute="String" context="check_div_1_pop"/> </context> <context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\'" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="'" context="#stay"/> <DetectChar char="'" attribute="Raw String" context="check_div_1_pop"/> </context> <context name="Command String" attribute="Command" lineEndContext="#stay">- <StringDetect attribute="String" String="\\" context="#stay"/>- <RegExpr attribute="String" String="\\\`" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="`" context="#stay"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/> <DetectChar char="`" attribute="Command" context="check_div_1_pop"/>@@ -391,7 +391,7 @@ </context> <context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">- <RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>+ <Detect2Chars attribute="Regular Expression" char="\" char1="/" context="#stay"/> <RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/> <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/> <RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="check_div_1_pop"/>@@ -473,42 +473,42 @@ <context name="find_gdl_input" attribute="Normal Text" lineEndContext="#pop"> <!-- handle token arrays -->- <RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />- <RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />- <RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />- <RegExpr attribute="GDL input" context="gdl_token_array_4" String="w<" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_1" char="w" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_2" char="w" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_3" char="w" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_4" char="w" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" /> <!-- handle token arrays -->- <RegExpr attribute="GDL input" context="gdl_token_array_1" String="W\(" />- <RegExpr attribute="GDL input" context="gdl_token_array_2" String="W\{" />- <RegExpr attribute="GDL input" context="gdl_token_array_3" String="W\[" />- <RegExpr attribute="GDL input" context="gdl_token_array_4" String="W<" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_1" char="W" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_2" char="W" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_3" char="W" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_token_array_4" char="W" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_token_array_5" String="W([^\s\w])" /> <!-- handle apostrophed strings -->- <RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />- <RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q<" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_1" char="q" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_2" char="q" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_3" char="q" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_apostrophed_4" char="q" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" /> <!-- handle shell commands -->- <RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />- <RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />- <RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />- <RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x<" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_1" char="x" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_2" char="x" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_3" char="x" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_shell_command_4" char="x" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" /> <!-- handle regular expressions -->- <RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />- <RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />- <RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />- <RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r<" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_1" char="r" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_2" char="r" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_3" char="r" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_regexpr_4" char="r" char1="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" /> @@ -517,10 +517,14 @@ be careful to make this the last GDL ruleset, because the rule for the short form %?foo? will otherwise catch any of the other formats -->- <RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />- <RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />- <RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />- <RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?<" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_1" char="Q" char1="(" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_2" char="Q" char1="{" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_3" char="Q" char1="[" />+ <Detect2Chars attribute="GDL input" context="gdl_dq_string_4" char="Q" char1="<" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_1" char="(" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_2" char="{" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_3" char="[" />+ <DetectChar attribute="GDL input" context="gdl_dq_string_4" char="<" /> <!-- then we handle the 'any char' format --> <RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" /> @@ -650,7 +654,7 @@ <!-- rules to be included in all token_array contexts --> <context name="token_array_rules" attribute="String" lineEndContext="#stay" >- <StringDetect attribute="String" String="\\" context="#stay"/>+ <Detect2Chars attribute="String" char="\" char1="\" context="#stay"/> </context> <!-- apostrophed string specific contexts -->
xml/rust.xml view
@@ -28,13 +28,12 @@ --> <!DOCTYPE language SYSTEM "language.dtd" [- <!-- FIXME: Kate's regex engine has very limited support for- predefined char classes, so making rustIdent consistent with actual- Rust identifiers will be a bit difficult -->- <!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">- <!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">+ <!ENTITY rustIdent "([a-zA-Z_]|[^[:ascii:]])(\w|[^[:ascii:]])*">+ <!ENTITY rustIntSuf "([iu](8|16|32|64|128|size)?)?">+ <!ENTITY commonEscape "([trn0'"\\]|x[0-9a-fA-F]{2})">+ <!ENTITY unicodeEscape "u\{([0-9a-fA-F]_*){1,6}\}"> ]>-<language name="Rust" version="4" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">+<language name="Rust" version="5" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers"> <highlighting> <list name="fn"> <item>fn</item>@@ -52,6 +51,7 @@ <item>const</item> <item>continue</item> <item>crate</item>+ <item>default</item> <item>do</item> <item>else</item> <item>enum</item>@@ -85,6 +85,7 @@ <item>trait</item> <item>type</item> <item>typeof</item>+ <item>union</item> <item>unsafe</item> <item>unsized</item> <item>use</item>@@ -94,6 +95,9 @@ <item>yield</item> </list> <list name="traits">+ <!-- FIXME: Some traits may be obsolete and must be removed -->+ <item>AsMut</item>+ <item>AsRef</item> <item>AsSlice</item> <item>CharExt</item> <item>Clone</item>@@ -106,13 +110,16 @@ <item>Drop</item> <item>Encodable</item> <item>Eq</item>- <item>Default</item>+ <item>ExactSizeIterator</item> <item>Extend</item> <item>Fn</item> <item>FnMut</item> <item>FnOnce</item>+ <item>From</item> <item>FromPrimitive</item> <item>Hash</item>+ <item>Into</item>+ <item>IntoIterator</item> <item>Iterator</item> <item>IteratorExt</item> <item>MutPtrExt</item>@@ -121,6 +128,8 @@ <item>PartialOrd</item> <item>PtrExt</item> <item>Rand</item>+ <item>RustcDecodable</item>+ <item>RustcEncodable</item> <item>Send</item> <item>Sized</item> <item>SliceConcatExt</item>@@ -128,25 +137,25 @@ <item>Str</item> <item>StrExt</item> <item>Sync</item>+ <item>ToOwned</item> <item>ToString</item> </list> <list name="types"> <item>bool</item>- <item>int</item> <item>isize</item>- <item>uint</item> <item>usize</item> <item>i8</item> <item>i16</item> <item>i32</item> <item>i64</item>+ <item>i128</item> <item>u8</item> <item>u16</item> <item>u32</item> <item>u64</item>+ <item>u128</item> <item>f32</item> <item>f64</item>- <item>float</item> <item>char</item> <item>str</item> <item>Option</item>@@ -155,6 +164,8 @@ <item>Box</item> <item>Vec</item> <item>String</item>+ <item>Path</item>+ <item>PathBuf</item> </list> <list name="ctypes"> <item>c_float</item>@@ -261,11 +272,9 @@ <keyword String="cconstants" attribute="CConstant" context="#stay"/> <Detect2Chars char="/" char1="/" attribute="Comment" context="Commentar 1"/> <Detect2Chars char="/" char1="*" attribute="Comment" context="Commentar 2" beginRegion="Comment"/>- <RegExpr String="0x[0-9a-fA-F_]+&rustIntSuf;" attribute="Number" context="#stay"/>- <RegExpr String="0o[0-7_]+&rustIntSuf;" attribute="Number" context="#stay"/>- <RegExpr String="0b[0-1_]+&rustIntSuf;" attribute="Number" context="#stay"/>- <RegExpr String="[0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?" attribute="Number" context="#stay"/>- <RegExpr String="[0-9][0-9_]*&rustIntSuf;" attribute="Number" context="#stay"/>+ <RegExpr String="\b0(x[0-9a-fA-F_]+|o[0-7_]+|b[01_]+)&rustIntSuf;\b" attribute="Number" context="#stay"/> <!-- Hexadecimal, Octal & Binary -->+ <RegExpr String="\b[0-9][0-9_]*((\.[0-9][0-9_]*)?([eE][\+\-]?[0-9_]+)?(f32|f64)?|&rustIntSuf;)\b" attribute="Number" context="#stay"/> <!-- Float & Decimal -->+ <RegExpr String="\b0(b[01_]*[^01_]|o[0-7_]*[^0-7_]|x[0-9a-fA-F_]*[^0-9a-fA-F_])\w*&rustIntSuf;\b" attribute="Error" context="#stay"/> <!-- Invalid number --> <Detect2Chars char="#" char1="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/> <StringDetect String="#![" attribute="Attribute" context="Attribute" beginRegion="Attribute"/> <RegExpr String="&rustIdent;::" attribute="Scope"/>@@ -273,10 +282,10 @@ <RegExpr String="'&rustIdent;(?!')" attribute="Lifetime"/> <DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="Brace" /> <DetectChar char="}" attribute="Symbol" context="#stay" endRegion="Brace" />- <Detect2Chars char="r" char1=""" attribute="String" context="RawString"/>- <StringDetect String="r##"" attribute="String" context="RawHashed2"/>- <StringDetect String="r#"" attribute="String" context="RawHashed1"/>+ <RegExpr String="b?r(#*)"" attribute="String" context="RawString" dynamic="true"/>+ <Detect2Chars char="b" char1=""" attribute="String" context="ByteString"/> <DetectChar char=""" attribute="String" context="String"/>+ <RegExpr String="b'(?=([^'\\]|\\&commonEscape;)')" attribute="Character" context="Character"/> <!-- Byte --> <DetectChar char="'" attribute="Character" context="Character"/> <DetectChar char="[" attribute="Symbol" context="#stay" beginRegion="Bracket" /> <DetectChar char="]" attribute="Symbol" context="#stay" endRegion="Bracket" />@@ -300,31 +309,30 @@ <!-- Rustc allows strings to extend over multiple lines, and the only thing a backshash at end-of-line does is remove the whitespace. --> <context attribute="String" lineEndContext="#stay" name="String">- <DetectChar char="\" attribute="CharEscape" context="CharEscape"/>+ <DetectChar char="\" attribute="CharEscape" context="CharEscapeWithUnicode"/> <DetectChar attribute="String" context="#pop" char="""/> </context>- <context attribute="String" lineEndContext="#stay" name="RawString">+ <context attribute="String" lineEndContext="#stay" name="ByteString">+ <DetectChar char="\" attribute="CharEscape" context="CharEscape"/> <DetectChar attribute="String" context="#pop" char="""/> </context>- <!-- These rules are't complete: they won't match r###"abc"### -->- <context attribute="String" lineEndContext="#stay" name="RawHashed1">- <Detect2Chars attribute="String" context="#pop" char=""" char1="#"/>- </context>- <context attribute="String" lineEndContext="#stay" name="RawHashed2">- <StringDetect attribute="String" context="#pop" String=""##"/>- </context>- <context attribute="Character" lineEndContext="#pop" name="Character">- <DetectChar char="\" attribute="CharEscape" context="CharEscape"/>+ <context attribute="String" lineEndContext="#stay" name="RawString" dynamic="true">+ <RegExpr String=""%1" attribute="String" context="#pop" dynamic="true"/>+ </context> + <context attribute="Character" lineEndContext="#pop" name="Character" fallthrough="true" fallthroughContext="#pop">+ <RegExpr String="[^'\\](?=')" attribute="Character" context="#stay"/>+ <RegExpr String="\\(&unicodeEscape;|&commonEscape;)(?=')" attribute="CharEscape" context="#stay"/> <DetectChar attribute="Character" context="#pop" char="'"/>+ <RegExpr String="(\\.|[^'\\])[^']*(?='([\d\s!"#$%&'\(\)\*\+,\-\./:;<\=>\?@\[\\\]\^`\{\|\}~[:cntrl:]]|$))" attribute="Error" context="#stay"/> </context> <context attribute="CharEscape" lineEndContext="#pop" name="CharEscape">- <AnyChar String="nrt\'"" attribute="CharEscape" context="#pop"/>- <RegExpr String="x[0-9a-fA-F]{2}" attribute="CharEscape" context="#pop"/>- <RegExpr String="u\{[0-9a-fA-F]{1,6}\}" attribute="CharEscape" context="#pop"/>- <RegExpr String="u[0-9a-fA-F]{4}" attribute="CharEscape" context="#pop"/>- <RegExpr String="U[0-9a-fA-F]{8}" attribute="CharEscape" context="#pop"/>+ <RegExpr String="&commonEscape;" attribute="CharEscape" context="#pop"/> <RegExpr String="." attribute="Error" context="#pop"/> </context>+ <context attribute="CharEscape" lineEndContext="#pop" name="CharEscapeWithUnicode">+ <RegExpr String="&unicodeEscape;" attribute="CharEscape" context="#pop"/>+ <IncludeRules context="CharEscape"/>+ </context> <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/> <context attribute="Comment" lineEndContext="#stay" name="Commentar 2"> <DetectSpaces/>@@ -343,7 +351,7 @@ <itemData name="CConstant" defStyleNum="dsConstant" spellChecking="0"/> <itemData name="Definition" defStyleNum="dsNormal"/> <itemData name="Comment" defStyleNum="dsComment"/>- <itemData name="Scope" defStyleNum="dsNormal"/>+ <itemData name="Scope" defStyleNum="dsPreprocessor"/> <itemData name="Number" defStyleNum="dsDecVal"/> <itemData name="String" defStyleNum="dsString"/> <itemData name="CharEscape" defStyleNum="dsSpecialChar"/>
xml/scala.xml view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">-<language name="Scala" version="5" kateversion="2.3" section="Sources"+<language name="Scala" version="6" kateversion="2.3" section="Sources" extensions="*.scala;*.sbt" mimetype="text/x-scala" license="LGPL" author="Stephane Micheloud (stephane.micheloud@epfl.ch)"> <!--@@ -3406,21 +3406,10 @@ <keyword attribute="Data Type" context="#stay" String="types"/> <keyword attribute="Java15" context="#stay" String="java15"/> <keyword attribute="Scala2" context="#stay" String="scala2"/>- <Float attribute="Float" context="#stay">- <AnyChar String="fF" attribute="Float" context="#stay"/>- </Float>+ <Float attribute="Float" context="Float Suffixes"/> <HlCOct attribute="Octal" context="#stay"/> <HlCHex attribute="Hex" context="#stay"/>- <Int attribute="Decimal" context="#stay">- <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>- <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>- </Int>+ <Int attribute="Decimal" context="Int Suffixes"/> <HlCChar attribute="Char" context="#stay"/> <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/> <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>@@ -3438,6 +3427,19 @@ <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" /> <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" /> <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>+ </context>+ <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <AnyChar String="fF" attribute="Float" context="#pop"/>+ </context>+ <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">+ <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LUL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="U" insensitive="true"/>+ <StringDetect attribute="Decimal" context="#pop" String="L" insensitive="true"/> </context> <context attribute="String" lineEndContext="#pop" name="String"> <LineContinue attribute="String" context="#stay"/>
xml/sql-mysql.xml view
@@ -6,25 +6,46 @@ modifications by Milian Wolff (mail@milianw.de) v3 fix comments by Gene Thomas <gene@genethomas.com> -->-<language name="SQL (MySQL)" version="3" kateversion="3.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">+<language name="SQL (MySQL)" version="5" kateversion="5.0" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license=""> <highlighting>+ <list name="controlFlow">+ <item>BEGIN</item>+ <item>CASE</item>+ <item>DO</item>+ <item>ELSE</item>+ <item>ELSEIF</item>+ <item>END</item>+ <item>FOR</item>+ <item>IF</item>+ <item>LOOP</item>+ <item>RETURN</item>+ <item>THEN</item>+ <item>WHEN</item>+ <item>WHILE</item>+ </list>+ <list name="operators">+ <item>AND</item>+ <item>BETWEEN</item>+ <item>IN</item>+ <item>IS</item>+ <item>LIKE</item>+ <item>NOT</item>+ <item>OR</item>+ </list> <list name="keywords"> <item>ACCESS</item> <item>ADD</item> <item>ALL</item> <item>ALTER</item> <item>ANALYZE</item>- <item>AND</item> <item>AS</item> <item>ASC</item> <item>AUTO_INCREMENT</item> <item>BDB</item> <item>BERKELEYDB</item>- <item>BETWEEN</item> <item>BOTH</item> <item>BY</item> <item>CASCADE</item>- <item>CASE</item> <item>CHANGE</item> <!-- <item> CHARACTER SET </item> needs special regexp (see below) -->@@ -43,6 +64,7 @@ <item>DAY_MINUTE</item> <item>DAY_SECOND</item> <item>DEC</item>+ <item>DECLARE</item> <item>DEFAULT</item> <item>DELAYED</item> <item>DELETE</item>@@ -51,13 +73,11 @@ <item>DISTINCT</item> <item>DISTINCTROW</item> <item>DROP</item>- <item>ELSE</item> <item>ENCLOSED</item> <item>ESCAPED</item> <item>EXISTS</item> <item>EXPLAIN</item> <item>FIELDS</item>- <item>FOR</item> <item>FOREIGN</item> <item>FROM</item> <item>FULLTEXT</item>@@ -66,9 +86,7 @@ <item>GROUP</item> <item>HAVING</item> <item>HIGH_PRIORITY</item>- <item>IF</item> <item>IGNORE</item>- <item>IN</item> <item>INDEX</item> <item>INFILE</item> <item>INNER</item>@@ -76,14 +94,12 @@ <item>INSERT</item> <item>INTERVAL</item> <item>INTO</item>- <item>IS</item> <item>JOIN</item> <item>KEY</item> <item>KEYS</item> <item>KILL</item> <item>LEADING</item> <item>LEFT</item>- <item>LIKE</item> <item>LIMIT</item> <item>LINES</item> <item>LOAD</item>@@ -94,14 +110,12 @@ <item>MRG_MYISAM</item> <item>NATIONAL</item> <item>NATURAL</item>- <item>NOT</item> <item>NULL</item> <item>NUMERIC</item> <item>ON</item> <item>OPTIMIZE</item> <item>OPTION</item> <item>OPTIONALLY</item>- <item>OR</item> <item>ORDER</item> <item>OUTER</item> <item>OUTFILE</item>@@ -136,7 +150,6 @@ <item>TABLE</item> <item>TABLES</item> <item>TERMINATED</item>- <item>THEN</item> <item>TO</item> <item>TRAILING</item> <item>TRUNCATE</item>@@ -152,35 +165,13 @@ <item>USING</item> <item>VALUES</item> <item>VARYING</item>- <item>WHEN</item>- <item>WHERE</item>- <item>WHILE</item> <item>WITH</item>+ <item>WHERE</item> <item>WRITE</item> <item>XOR</item> <item>YEAR_MONTH</item> <item>ZEROFILL</item> </list>- <list name="operators">- <item>+</item>- <item>-</item>- <item>*</item>- <item>/</item>- <item>||</item>- <item>=</item>- <item>!=</item>- <item><></item>- <item><</item>- <item><=</item>- <item>></item>- <item>>=</item>- <item>~=</item>- <item>^=</item>- <item>:=</item>- <item>=></item>- <item>**</item>- <item>..</item>- </list> <list name="functions"> <!-- string functions --> <item>ASCII</item>@@ -189,6 +180,7 @@ <item>CHAR</item> <item>CHARACTER_LENGTH</item> <item>CHAR_LENGTH</item>+ <item>COALESCE</item> <item>CONCAT</item> <item>CONCAT_WS</item> <item>CONV</item>@@ -391,14 +383,26 @@ <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/> <RegExpr attribute="Comment" context="SingleLineComment" String="rem\b" insensitive="true" column="0"/> + <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/> <!-- conflict with "operators" keywords -->+ <!-- problematic special cases --> <!-- SET type --> <RegExpr attribute="Data Type" context="#stay" insensitive="true" String="SET(?=\s*\()"/> <!-- keyword character set -->- <RegExpr attribute="Keyword" context="#stay" insensitive="true" String="\bCHARACTER SET\b"/>+ <WordDetect attribute="Keyword" context="#stay" insensitive="true" String="CHARACTER SET"/> <!-- using the lists --> <keyword attribute="Keyword" context="#stay" String="keywords"/>- <keyword attribute="Operator" context="#stay" String="operators"/>+ <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/>+ <keyword attribute="Operator Keyword" context="#stay" String="operators"/>+ <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/>+ <AnyChar attribute="Operator" context="#stay" String="+-*/=<>"/>+ <Detect2Chars attribute="Operator" context="#stay" char="!" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="~" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="^" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>+ <Detect2Chars attribute="Operator" context="#stay" char="|" char1="|"/>+ <AnyChar attribute="Symbol" context="#stay" String=":&"/> <keyword attribute="Function" context="#stay" String="functions"/> <keyword attribute="Data Type" context="#stay" String="types"/> @@ -414,8 +418,6 @@ <DetectChar attribute="String" context="String2" char="""/> <DetectChar attribute="Name" context="Name" char="`"/> - <AnyChar attribute="Symbol" context="#stay" String=":&"/>- <RegExpr attribute="Symbol" context="#stay" String="/$" column="0"/> <RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/> <!-- for something like : SELECT DB.TABLE.ROW ... --> <DetectChar attribute="String Char" context="#stay" char="."/>@@ -452,7 +454,9 @@ <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/> <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>- <itemData name="Operator" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator Keyword" defStyleNum="dsKeyword" spellChecking="false"/> <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/> <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/> <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>@@ -471,7 +475,7 @@ <comment name="singleLine" start="--"/> <comment name="multiLine" start="/*" end="*/"/> </comments>- <keywords casesensitive="0" weakDeliminator="+-*/|=!<>~^:."/>+ <keywords casesensitive="0"/> <folding indentationsensitive="true"/> </general> </language>
xml/sql-postgresql.xml view
@@ -3,24 +3,55 @@ <!-- PostgreSQL SQL, syntax definition based on sql.xml by Yury Lebedev v5 fix comments by Gene Thomas <gene@genethomas.com> -->-<language name="SQL (PostgreSQL)" version="6" kateversion="2.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">+<language name="SQL (PostgreSQL)" version="7" kateversion="5.0" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license=""> <highlighting>+ <list name="controlFlow">+ <item>BEGIN</item>+ <item>CASE</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>EXCEPTION</item>+ <item>FOR</item>+ <item>IF</item>+ <item>LOOP</item>+ <item>RETURN</item>+ <item>THEN</item>+ <item>WHEN</item>+ </list>+ <list name="operators">+ <item>AND</item>+ <item>BETWEEN</item>+ <item>IN</item>+ <item>IS</item>+ <item>LIKE</item>+ <item>NOT</item>+ <item>OR</item>+ </list> <list name="keywords">+ <item>A</item> <item>ABORT</item>+ <item>ABSENT</item>+ <item>ABSOLUTE</item> <item>ACCESS</item>+ <item>ACCORDING</item> <item>ACTION</item>+ <item>ADA</item> <item>ADD</item> <item>ADMIN</item> <item>AFTER</item> <item>AGGREGATE</item>- <item>ALIAS</item> <item>ALL</item> <item>ALLOCATE</item>+ <item>ALSO</item> <item>ALTER</item>- <item>ANALYSE</item>+ <item>ALWAYS</item> <item>ANALYZE</item> <item>ANY</item> <item>ARE</item>+ <item>ARRAY</item>+ <item>ARRAY_AGG</item>+ <item>ARRAY_MAX_CARDINALITY</item> <item>AS</item> <item>ASC</item> <item>ASENSITIVE</item>@@ -30,12 +61,19 @@ <item>AT</item> <item>ATOMIC</item> <item>ATTACH</item>+ <item>ATTRIBUTE</item>+ <item>ATTRIBUTES</item> <item>AUTHORIZATION</item> <item>BACKWARD</item>+ <item>BASE64</item> <item>BEFORE</item>- <item>BEGIN</item>- <item>BETWEEN</item>+ <item>BEGIN_FRAME</item>+ <item>BEGIN_PARTITION</item>+ <item>BERNOULLI</item> <item>BINARY</item>+ <item>BLOB</item>+ <item>BLOCKED</item>+ <item>BOM</item> <item>BOTH</item> <item>BREADTH</item> <item>BY</item>@@ -46,90 +84,106 @@ <item>CARDINALITY</item> <item>CASCADE</item> <item>CASCADED</item>- <item>CASE</item> <item>CAST</item> <item>CATALOG</item> <item>CATALOG_NAME</item> <item>CHAIN</item> <item>CHARACTERISTICS</item>- <item>CHARACTER_LENGTH</item>+ <item>CHARACTERS</item> <item>CHARACTER_SET_CATALOG</item> <item>CHARACTER_SET_NAME</item> <item>CHARACTER_SET_SCHEMA</item>- <item>CHAR_LENGTH</item> <item>CHECK</item>- <item>CHECKED</item> <item>CHECKPOINT</item> <item>CLASS</item> <item>CLASS_ORIGIN</item> <item>CLOB</item> <item>CLOSE</item> <item>CLUSTER</item>- <item>COALESCE</item> <item>COBOL</item> <item>COLLATE</item> <item>COLLATION</item> <item>COLLATION_CATALOG</item> <item>COLLATION_NAME</item> <item>COLLATION_SCHEMA</item>+ <item>COLLECT</item> <item>COLUMN</item>+ <item>COLUMNS</item> <item>COLUMN_NAME</item> <item>COMMAND_FUNCTION</item> <item>COMMAND_FUNCTION_CODE</item> <item>COMMENT</item>+ <item>COMMENTS</item> <item>COMMIT</item> <item>COMMITTED</item>- <item>COMPLETION</item>+ <item>CONCURRENTLY</item>+ <item>CONDITION</item> <item>CONDITION_NUMBER</item>+ <item>CONFIGURATION</item>+ <item>CONFLICT</item> <item>CONNECT</item> <item>CONNECTION</item> <item>CONNECTION_NAME</item>- <item>CONSTRAINTS</item> <item>CONSTRAINT</item>+ <item>CONSTRAINTS</item> <item>CONSTRAINT_CATALOG</item> <item>CONSTRAINT_NAME</item> <item>CONSTRAINT_SCHEMA</item> <item>CONSTRUCTOR</item> <item>CONTAINS</item>+ <item>CONTENT</item> <item>CONTINUE</item>- <item>CONVERT</item>+ <item>CONTROL</item>+ <item>CONVERSION</item> <item>COPY</item>+ <item>CORR</item> <item>CORRESPONDING</item>- <item>COUNT</item>+ <item>COST</item>+ <item>COVAR_POP</item>+ <item>COVAR_SAMP</item> <item>CREATE</item>- <item>CREATEDB</item>- <item>CREATEUSER</item> <item>CROSS</item>+ <item>CSV</item> <item>CUBE</item>+ <item>CUME_DIST</item> <item>CURRENT</item>+ <item>CURRENT_CATALOG</item> <item>CURRENT_DATE</item>+ <item>CURRENT_DEFAULT_TRANSFORM_GROUP</item> <item>CURRENT_PATH</item> <item>CURRENT_ROLE</item>+ <item>CURRENT_ROW</item> <item>CURRENT_TIME</item> <item>CURRENT_TIMESTAMP</item>- <item>CURRENT_USER</item>+ <item>CURRENT_TRANSFORM_GROUP_FOR_TYPE</item> <item>CURSOR</item> <item>CURSOR_NAME</item> <item>CYCLE</item> <item>DATA</item> <item>DATABASE</item>- <item>DATE</item>+ <item>DATALINK</item> <item>DATETIME_INTERVAL_CODE</item> <item>DATETIME_INTERVAL_PRECISION</item> <item>DAY</item>+ <item>DB</item> <item>DEALLOCATE</item> <item>DEC</item>- <item>DECIMAL</item> <item>DECLARE</item> <item>DEFAULT</item>+ <item>DEFAULTS</item> <item>DEFERRABLE</item> <item>DEFERRED</item> <item>DEFINED</item> <item>DEFINER</item>+ <item>DEGREE</item> <item>DELETE</item>+ <item>DELIMITER</item> <item>DELIMITERS</item>+ <item>DENSE_RANK</item>+ <item>DEPENDS</item> <item>DEPTH</item> <item>DEREF</item>+ <item>DERIVED</item> <item>DESC</item> <item>DESCRIBE</item> <item>DESCRIPTOR</item>@@ -139,49 +193,78 @@ <item>DETERMINISTIC</item> <item>DIAGNOSTICS</item> <item>DICTIONARY</item>+ <item>DISABLE</item>+ <item>DISCARD</item> <item>DISCONNECT</item> <item>DISPATCH</item> <item>DISTINCT</item>+ <item>DLNEWCOPY</item>+ <item>DLPREVIOUSCOPY</item>+ <item>DLURLCOMPLETE</item>+ <item>DLURLCOMPLETEONLY</item>+ <item>DLURLCOMPLETEWRITE</item>+ <item>DLURLPATH</item>+ <item>DLURLPATHONLY</item>+ <item>DLURLPATHWRITE</item>+ <item>DLURLSCHEME</item>+ <item>DLURLSERVER</item>+ <item>DLVALUE</item> <item>DO</item>+ <item>DOCUMENT</item> <item>DOMAIN</item>- <item>DOUBLE</item> <item>DROP</item> <item>DYNAMIC</item> <item>DYNAMIC_FUNCTION</item> <item>DYNAMIC_FUNCTION_CODE</item> <item>EACH</item>- <item>ELSE</item>+ <item>ELEMENT</item>+ <item>EMPTY</item>+ <item>ENABLE</item> <item>ENCODING</item> <item>ENCRYPTED</item>- <item>END</item> <item>END-EXEC</item>+ <item>END_FRAME</item>+ <item>END_PARTITION</item>+ <item>ENFORCED</item>+ <item>ENUM</item> <item>EQUALS</item> <item>ESCAPE</item>- <item>EVERY</item>+ <item>EVENT</item> <item>EXCEPT</item>- <item>EXCEPTION</item>+ <item>EXCLUDE</item>+ <item>EXCLUDING</item> <item>EXCLUSIVE</item> <item>EXEC</item> <item>EXECUTE</item>- <item>EXISTING</item> <item>EXISTS</item> <item>EXPLAIN</item>+ <item>EXPRESSION</item>+ <item>EXTENSION</item> <item>EXTERNAL</item> <item>FALSE</item> <item>FETCH</item>+ <item>FILE</item>+ <item>FILTER</item> <item>FINAL</item> <item>FIRST</item>- <item>FOR</item>+ <item>FIRST_VALUE</item>+ <item>FLAG</item>+ <item>FLOAT</item>+ <item>FOLLOWING</item> <item>FORCE</item> <item>FOREIGN</item> <item>FORTRAN</item> <item>FORWARD</item> <item>FOUND</item>+ <item>FRAME_ROW</item> <item>FREE</item> <item>FREEZE</item> <item>FROM</item>+ <item>FS</item> <item>FULL</item> <item>FUNCTION</item>+ <item>FUNCTIONS</item>+ <item>FUSION</item> <item>G</item> <item>GENERAL</item> <item>GENERATED</item>@@ -191,28 +274,37 @@ <item>GOTO</item> <item>GRANT</item> <item>GRANTED</item>+ <item>GREATEST</item> <item>GROUP</item> <item>GROUPING</item>+ <item>GROUPS</item> <item>HANDLER</item> <item>HAVING</item>+ <item>HEADER</item>+ <item>HEX</item> <item>HIERARCHY</item> <item>HOLD</item>- <item>HOST</item> <item>HOUR</item>+ <item>ID</item> <item>IDENTITY</item> <item>IGNORE</item> <item>ILIKE</item> <item>IMMEDIATE</item>+ <item>IMMEDIATELY</item> <item>IMMUTABLE</item> <item>IMPLEMENTATION</item>- <item>IN</item>+ <item>IMPLICIT</item>+ <item>IMPORT</item>+ <item>INCLUDING</item> <item>INCREMENT</item>+ <item>INDENT</item> <item>INDEX</item>+ <item>INDEXES</item> <item>INDICATOR</item>- <item>INFIX</item>+ <item>INHERIT</item> <item>INHERITS</item>- <item>INITIALIZE</item> <item>INITIALLY</item>+ <item>INLINE</item> <item>INNER</item> <item>INOUT</item> <item>INPUT</item>@@ -221,31 +313,35 @@ <item>INSTANCE</item> <item>INSTANTIABLE</item> <item>INSTEAD</item>+ <item>INTEGRITY</item> <item>INTERSECT</item>- <item>INTERVAL</item>+ <item>INTERSECTION</item> <item>INTO</item> <item>INVOKER</item>- <item>IS</item> <item>ISNULL</item> <item>ISOLATION</item>- <item>ITERATE</item> <item>JOIN</item> <item>K</item> <item>KEY</item> <item>KEY_MEMBER</item> <item>KEY_TYPE</item>- <item>LANCOMPILER</item>+ <item>LABEL</item>+ <item>LAG</item> <item>LANGUAGE</item> <item>LARGE</item> <item>LAST</item>+ <item>LAST_VALUE</item> <item>LATERAL</item>+ <item>LEAD</item> <item>LEADING</item>+ <item>LEAKPROOF</item>+ <item>LEAST</item> <item>LEFT</item>- <item>LENGTH</item>- <item>LESS</item> <item>LEVEL</item>- <item>LIKE</item>+ <item>LIBRARY</item>+ <item>LIKE_REGEX</item> <item>LIMIT</item>+ <item>LINK</item> <item>LISTEN</item> <item>LOAD</item> <item>LOCAL</item>@@ -254,49 +350,64 @@ <item>LOCATION</item> <item>LOCATOR</item> <item>LOCK</item>- <item>LOWER</item>+ <item>LOCKED</item>+ <item>LOGGED</item> <item>M</item> <item>MAP</item>+ <item>MAPPING</item> <item>MATCH</item>- <item>MAX</item>+ <item>MATCHED</item>+ <item>MATERIALIZED</item> <item>MAXVALUE</item>+ <item>MAX_CARDINALITY</item>+ <item>MEMBER</item>+ <item>MERGE</item> <item>MESSAGE_LENGTH</item> <item>MESSAGE_OCTET_LENGTH</item> <item>MESSAGE_TEXT</item> <item>METHOD</item>- <item>MIN</item> <item>MINUTE</item> <item>MINVALUE</item>- <item>MOD</item> <item>MODE</item> <item>MODIFIES</item>- <item>MODIFY</item> <item>MODULE</item> <item>MONTH</item> <item>MORE</item> <item>MOVE</item>+ <item>MULTISET</item> <item>MUMPS</item> <item>NAME</item> <item>NAMES</item>+ <item>NAMESPACE</item> <item>NATIONAL</item> <item>NATURAL</item>+ <item>NCHAR</item>+ <item>NCLOB</item>+ <item>NESTING</item> <item>NEW</item> <item>NEXT</item>+ <item>NFC</item>+ <item>NFD</item>+ <item>NFKC</item>+ <item>NFKD</item>+ <item>NIL</item> <item>NO</item>- <item>NOCREATEDB</item>- <item>NOCREATEUSER</item> <item>NONE</item>- <item>NOT</item>+ <item>NORMALIZE</item>+ <item>NORMALIZED</item> <item>NOTHING</item> <item>NOTIFY</item> <item>NOTNULL</item>+ <item>NOWAIT</item>+ <item>NTH_VALUE</item>+ <item>NTILE</item> <item>NULL</item> <item>NULLABLE</item>- <item>NULLIF</item>+ <item>NULLS</item> <item>NUMBER</item>- <item>NUMERIC</item> <item>OBJECT</item>- <item>OCTET_LENGTH</item>+ <item>OCCURRENCES_REGEX</item>+ <item>OCTETS</item> <item>OF</item> <item>OFF</item> <item>OFFSET</item>@@ -305,69 +416,105 @@ <item>ON</item> <item>ONLY</item> <item>OPEN</item>- <item>OPERATION</item> <item>OPERATOR</item> <item>OPTION</item> <item>OPTIONS</item> <item>ORDER</item>+ <item>ORDERING</item> <item>ORDINALITY</item>+ <item>OTHERS</item> <item>OUT</item> <item>OUTER</item> <item>OUTPUT</item> <item>OVER</item> <item>OVERLAPS</item>- <item>OVERLAY</item> <item>OVERRIDING</item>+ <item>OWNED</item> <item>OWNER</item>+ <item>P</item> <item>PAD</item>+ <item>PARALLEL</item> <item>PARAMETER</item>- <item>PARAMETERS</item> <item>PARAMETER_MODE</item> <item>PARAMETER_NAME</item> <item>PARAMETER_ORDINAL_POSITION</item> <item>PARAMETER_SPECIFIC_CATALOG</item> <item>PARAMETER_SPECIFIC_NAME</item> <item>PARAMETER_SPECIFIC_SCHEMA</item>+ <item>PARSER</item> <item>PARTIAL</item> <item>PARTITION</item> <item>PASCAL</item>+ <item>PASSING</item>+ <item>PASSTHROUGH</item> <item>PASSWORD</item>- <item>PATH</item>- <item>PENDANT</item>+ <item>PERCENT</item>+ <item>PERCENTILE_CONT</item>+ <item>PERCENTILE_DISC</item>+ <item>PERCENT_RANK</item>+ <item>PERIOD</item>+ <item>PERMISSION</item>+ <item>PLACING</item>+ <item>PLANS</item> <item>PLI</item>- <item>POSITION</item>- <item>POSTFIX</item>+ <item>POLICY</item>+ <item>PORTION</item>+ <item>POSITION_REGEX</item>+ <item>PRECEDES</item>+ <item>PRECEDING</item> <item>PRECISION</item>- <item>PREFIX</item>- <item>PREORDER</item> <item>PREPARE</item>+ <item>PREPARED</item> <item>PRESERVE</item> <item>PRIMARY</item> <item>PRIOR</item> <item>PRIVILEGES</item> <item>PROCEDURAL</item> <item>PROCEDURE</item>+ <item>PROGRAM</item> <item>PUBLIC</item> <item>RANGE</item>+ <item>PUBLICATION</item>+ <item>QUOTE</item>+ <item>RANGE</item>+ <item>RANK</item> <item>READ</item> <item>READS</item>- <item>REAL</item>+ <item>REASSIGN</item>+ <item>RECHECK</item>+ <item>RECOVERY</item> <item>RECURSIVE</item> <item>REF</item> <item>REFERENCES</item> <item>REFERENCING</item>+ <item>REFRESH</item>+ <item>REGR_AVGX</item>+ <item>REGR_AVGY</item>+ <item>REGR_COUNT</item>+ <item>REGR_INTERCEPT</item>+ <item>REGR_R2</item>+ <item>REGR_SLOPE</item>+ <item>REGR_SXX</item>+ <item>REGR_SXY</item>+ <item>REGR_SYY</item> <item>REINDEX</item> <item>RELATIVE</item>+ <item>RELEASE</item> <item>RENAME</item> <item>REPEATABLE</item>- <item>REPLACE</item>+ <item>REPLICA</item>+ <item>REQUIRING</item> <item>RESET</item>+ <item>RESPECT</item>+ <item>RESTART</item>+ <item>RESTORE</item> <item>RESTRICT</item> <item>RESULT</item>- <item>RETURN</item>+ <item>RETURNED_CARDINALITY</item> <item>RETURNED_LENGTH</item> <item>RETURNED_OCTET_LENGTH</item> <item>RETURNED_SQLSTATE</item>+ <item>RETURNING</item> <item>RETURNS</item> <item>REVOKE</item> <item>RIGHT</item>@@ -381,25 +528,32 @@ <item>ROW</item> <item>ROWS</item> <item>ROW_COUNT</item>+ <item>ROW_NUMBER</item> <item>RULE</item> <item>SAVEPOINT</item> <item>SCALE</item> <item>SCHEMA</item>+ <item>SCHEMAS</item> <item>SCHEMA_NAME</item> <item>SCOPE</item>+ <item>SCOPE_CATALOG</item>+ <item>SCOPE_NAME</item>+ <item>SCOPE_SCHEMA</item> <item>SCROLL</item> <item>SEARCH</item> <item>SECOND</item> <item>SECTION</item> <item>SECURITY</item> <item>SELECT</item>+ <item>SELECTIVE</item> <item>SELF</item> <item>SENSITIVE</item> <item>SEQUENCE</item>+ <item>SEQUENCES</item> <item>SERIALIZABLE</item>+ <item>SERVER</item> <item>SERVER_NAME</item> <item>SESSION</item>- <item>SESSION_USER</item> <item>SET</item> <item>SETOF</item> <item>SETS</item>@@ -408,6 +562,8 @@ <item>SIMILAR</item> <item>SIMPLE</item> <item>SIZE</item>+ <item>SKIP</item>+ <item>SNAPSHOT</item> <item>SOME</item> <item>SOURCE</item> <item>SPACE</item>@@ -421,35 +577,46 @@ <item>SQLSTATE</item> <item>SQLWARNING</item> <item>STABLE</item>+ <item>STANDALONE</item> <item>START</item> <item>STATE</item> <item>STATEMENT</item> <item>STATIC</item> <item>STATISTICS</item>+ <item>STDDEV_POP</item>+ <item>STDDEV_SAMP</item> <item>STDIN</item> <item>STDOUT</item>+ <item>STORAGE</item>+ <item>STRICT</item>+ <item>STRIP</item> <item>STRUCTURE</item> <item>STYLE</item> <item>SUBCLASS_ORIGIN</item>- <item>SUBLIST</item>- <item>SUBSTRING</item>- <item>SUM</item>+ <item>SUBMULTISET</item>+ <item>SUBSCRIPTION</item>+ <item>SUBSTRING_REGEX</item>+ <item>SUCCEEDS</item> <item>SYMMETRIC</item> <item>SYSID</item> <item>SYSTEM</item>+ <item>SYSTEM_TIME</item> <item>SYSTEM_USER</item>+ <item>T</item> <item>TABLE</item>+ <item>TABLES</item>+ <item>TABLESAMPLE</item>+ <item>TABLESPACE</item> <item>TABLE_NAME</item> <item>TEMP</item> <item>TEMPLATE</item> <item>TEMPORARY</item>- <item>TERMINATE</item>- <item>THAN</item>- <item>THEN</item>+ <item>TIES</item> <item>TIMEZONE_HOUR</item> <item>TIMEZONE_MINUTE</item> <item>TO</item>- <item>TOAST</item>+ <item>TOKEN</item>+ <item>TOP_LEVEL_COUNT</item> <item>TRAILING</item> <item>TRANSACTION</item> <item>TRANSACTIONS_COMMITTED</item>@@ -457,119 +624,102 @@ <item>TRANSACTION_ACTIVE</item> <item>TRANSFORM</item> <item>TRANSFORMS</item>- <item>TRANSLATE</item>+ <item>TRANSLATE_REGEX</item> <item>TRANSLATION</item> <item>TREAT</item> <item>TRIGGER</item> <item>TRIGGER_CATALOG</item> <item>TRIGGER_NAME</item> <item>TRIGGER_SCHEMA</item>- <item>TRIM</item>+ <item>TRIM_ARRAY</item> <item>TRUE</item> <item>TRUNCATE</item> <item>TRUSTED</item> <item>TYPE</item>+ <item>TYPES</item>+ <item>UESCAPE</item>+ <item>UNBOUNDED</item> <item>UNCOMMITTED</item> <item>UNDER</item> <item>UNENCRYPTED</item> <item>UNION</item> <item>UNIQUE</item> <item>UNKNOWN</item>+ <item>UNLINK</item> <item>UNLISTEN</item>+ <item>UNLOGGED</item> <item>UNNAMED</item> <item>UNNEST</item> <item>UNTIL</item>+ <item>UNTYPED</item> <item>UPDATE</item>- <item>UPPER</item>+ <item>URI</item> <item>USAGE</item> <item>USER</item> <item>USER_DEFINED_TYPE_CATALOG</item>+ <item>USER_DEFINED_TYPE_CODE</item> <item>USER_DEFINED_TYPE_NAME</item> <item>USER_DEFINED_TYPE_SCHEMA</item> <item>USING</item> <item>VACUUM</item> <item>VALID</item>+ <item>VALIDATE</item>+ <item>VALIDATOR</item> <item>VALUE</item> <item>VALUES</item>- <item>VARIABLE</item>+ <item>VALUE_OF</item>+ <item>VARBINARY</item>+ <item>VARIADIC</item> <item>VARYING</item>+ <item>VAR_POP</item>+ <item>VAR_SAMP</item> <item>VERBOSE</item>- <item>VERSION</item>+ <item>VERSIONING</item> <item>VIEW</item>+ <item>VIEWS</item> <item>VOLATILE</item>- <item>WHEN</item> <item>WHENEVER</item> <item>WHERE</item>- <item>WHILE</item>+ <item>WHITESPACE</item>+ <item>WINDOW</item> <item>WITH</item>+ <item>WITHIN</item> <item>WITHOUT</item> <item>WORK</item>+ <item>WRAPPER</item> <item>WRITE</item>+ <item>XMLAGG</item>+ <item>XMLATTRIBUTES</item>+ <item>XMLBINARY</item>+ <item>XMLCAST</item>+ <item>XMLCOMMENT</item>+ <item>XMLCONCAT</item>+ <item>XMLDECLARATION</item>+ <item>XMLDOCUMENT</item>+ <item>XMLELEMENT</item>+ <item>XMLEXISTS</item>+ <item>XMLFOREST</item>+ <item>XMLITERATE</item>+ <item>XMLNAMESPACES</item>+ <item>XMLPARSE</item>+ <item>XMLPI</item>+ <item>XMLQUERY</item>+ <item>XMLROOT</item>+ <item>XMLSCHEMA</item>+ <item>XMLSERIALIZE</item>+ <item>XMLTABLE</item>+ <item>XMLTEXT</item>+ <item>XMLVALIDATE</item> <item>YEAR</item>+ <item>YES</item> <item>ZONE</item> </list>- <list name="operators">- <item>+</item>- <item>-</item>- <item>*</item>- <item>/</item>- <item>||</item>- <item>|/</item>- <item>||/</item>- <item>!</item>- <item>!!</item>- <item>@</item>- <item>&</item>- <item>|</item>- <item>#</item>- <item><<</item>- <item>>></item>- <item>%</item>- <item>^</item>- <item>=</item>- <item>!=</item>- <item><></item>- <item><</item>- <item><=</item>- <item>></item>- <item>>=</item>- <item>~</item>- <item>~*</item>- <item>!~</item>- <item>!~*</item>- <item>^=</item>- <item>:=</item>- <item>=></item>- <item>**</item>- <item>..</item>- <item>AND</item>- <item>OR</item>- <item>NOT</item>- <!-- geometric -->- <item>##</item>- <item>&&</item>- <item>&<</item>- <item>&></item>- <item><-></item>- <item><^</item>- <item>>^</item>- <item>?#</item>- <item>?-</item>- <item>?-|</item>- <item>@-@</item>- <item>?|</item>- <item>?||</item>- <item>@@</item>- <item>~=</item>- <!-- network address type -->- <item><<=</item>- <item>>>=</item>- </list> <list name="functions"> <!-- math --> <item>ABS</item> <item>CBRT</item> <item>CEIL</item>+ <item>CEILING</item> <item>DEGREES</item> <item>EXP</item> <item>FLOOR</item>@@ -578,12 +728,15 @@ <item>MOD</item> <item>PI</item> <item>POW</item>+ <item>POWER</item> <item>RADIANS</item> <item>RANDOM</item> <item>ROUND</item>+ <item>SETSEED</item> <item>SIGN</item> <item>SQRT</item> <item>TRUNC</item>+ <item>WIDTH_BUCKET</item> <!-- trig --> <item>ACOS</item> <item>ASIN</item>@@ -597,9 +750,14 @@ <item>BIT_LENGTH</item> <item>CHAR_LENGTH</item> <item>CHARACTER_LENGTH</item>+ <item>CONVERT</item>+ <item>GET_BYTE</item>+ <item>GET_BIT</item> <item>LOWER</item> <item>OCTET_LENGTH</item>+ <item>OVERLAY</item> <item>POSITION</item>+ <item>SET_BIT</item> <item>SUBSTRING</item> <item>TRIM</item> <item>UPPER</item>@@ -607,21 +765,27 @@ <item>ASCII</item> <item>BTRIM</item> <item>CHR</item>- <item>CONVERT</item>+ <item>DECODE</item>+ <item>ENCODE</item> <item>INITCAP</item> <item>LENGTH</item> <item>LPAD</item> <item>LTRIM</item>+ <item>MD5</item> <item>PG_CLIENT_ENCODING</item>+ <item>QUOTE_IDENT</item>+ <item>QUOTE_LITERAL</item>+ <item>REGEXP_REPLACE</item> <item>REPEAT</item>+ <item>REPLACE</item> <item>RPAD</item> <item>RTRIM</item>+ <item>SPLIT_PART</item> <item>STRPOS</item> <item>SUBSTR</item> <item>TO_ASCII</item>+ <item>TO_HEX</item> <item>TRANSLATE</item>- <item>ENCODE</item>- <item>DECODE</item> <!-- data type formatting --> <item>TO_CHAR</item> <item>TO_DATE</item>@@ -633,20 +797,20 @@ <item>DATE_TRUNC</item> <item>EXTRACT</item> <item>ISFINITE</item>+ <item>JUSTIFY_HOURS</item>+ <item>JUSTIFY_DAYS</item> <item>NOW</item> <item>TIMEOFDAY</item> <item>TIMESTAMP</item>- <item>EXTRACT</item> <!-- geometric --> <item>AREA</item>- <item>BOX</item> <item>CENTER</item> <item>DIAMETER</item> <item>HEIGHT</item> <item>ISCLOSED</item> <item>ISOPEN</item>+ <item>NPOINTS</item> <item>PCLOSE</item>- <item>NPOINT</item> <item>POPEN</item> <item>RADIUS</item> <item>WIDTH</item>@@ -657,37 +821,111 @@ <item>PATH</item> <item>POINT</item> <item>POLYGON</item>+ <!-- array -->+ <item>ARRAY_CAT</item>+ <item>ARRAY_APPEND</item>+ <item>ARRAY_PREPEND</item>+ <item>ARRAY_DIMS</item>+ <item>ARRAY_LOWER</item>+ <item>ARRAY_UPPER</item>+ <item>ARRAY_TO_STRING</item>+ <item>STRING_TO_ARRAY</item> <!-- network address type, TEXT is omitted as it is more commonly a data type --> <item>BROADCAST</item> <item>HOST</item> <item>MASKLEN</item> <item>SET_MASKLEN</item> <item>NETMASK</item>+ <item>HOSTMASK</item> <item>NETWORK</item>+ <item>TEXT</item> <item>ABBREV</item>+ <item>FAMILY</item> <!-- sequence manipulation --> <item>NEXTVAL</item> <item>CURRVAL</item>+ <item>LASTVAL</item> <item>SETVAL</item> <!-- conditional expressions --> <item>COALESCE</item> <item>NULLIF</item>- <!-- misc -->- <item>HAS_TABLE_PRIVILEGE</item>- <item>PG_GET_VIEWDEF</item>- <item>PG_GET_RULEDEF</item>- <item>PG_GET_INDEXDEF</item>- <item>PG_GET_USERBYID</item>- <item>OBJ_DESCRIPTION</item>- <item>COL_DESCRIPTION</item> <!-- aggregate --> <item>AVG</item>+ <item>BIT_AND</item>+ <item>BIT_OR</item>+ <item>BOOL_AND</item>+ <item>BOOL_OR</item> <item>COUNT</item>+ <item>EVERY</item> <item>MAX</item> <item>MIN</item> <item>STDDEV</item> <item>SUM</item> <item>VARIANCE</item>+ <!-- series generating -->+ <item>GENERATE_SERIES</item>+ <!-- system information -->+ <item>CURRENT_DATABASE</item>+ <item>CURRENT_SCHEMA</item>+ <item>CURRENT_SCHEMAS</item>+ <item>CURRENT_USER</item>+ <item>INET_CLIENT_ADDR</item>+ <item>INET_CLIENT_PORT</item>+ <item>INET_SERVER_ADDR</item>+ <item>INET_SERVER_PORT</item>+ <item>SESSION_USER</item>+ <item>PG_POSTMASTER_START_TIME</item>+ <item>VERSION</item>+ <!-- access privilege inquiry -->+ <item>HAS_TABLE_PRIVILEGE</item>+ <item>HAS_DATABASE_PRIVILEGE</item>+ <item>HAS_FUNCTION_PRIVILEGE</item>+ <item>HAS_LANGUAGE_PRIVILEGE</item>+ <item>PG_HAS_ROLE</item>+ <item>HAS_SCHEMA_PRIVILEGE</item>+ <item>HAS_TABLESPACE_PRIVILEGE</item>+ <!-- schema visibility inquiry -->+ <item>PG_TABLE_IS_VISIBLE</item>+ <item>PG_TYPE_IS_VISIBLE</item>+ <item>PG_FUNCTION_IS_VISIBLE</item>+ <item>PG_OPERATOR_IS_VISIBLE</item>+ <item>PG_OPCLASS_IS_VISIBLE</item>+ <item>PG_CONVERSION_IS_VISIBLE</item>+ <!-- system catalog information -->+ <item>FORMAT_TYPE</item>+ <item>PG_GET_CONSTRAINTDEF</item>+ <item>PG_GET_EXPR</item>+ <item>PG_GET_INDEXDEF</item>+ <item>PG_GET_RULEDEF</item>+ <item>PG_GET_SERIAL_SEQUENCE</item>+ <item>PG_TABLESPACE_DATABASES</item>+ <item>PG_GET_TRIGGERDEF</item>+ <item>PG_GET_USERBYID</item>+ <item>PG_GET_VIEWDEF</item>+ <!-- comment information -->+ <item>OBJ_DESCRIPTION</item>+ <item>COL_DESCRIPTION</item>+ <!-- configuration settings -->+ <item>CURRENT_SETTING</item>+ <item>SET_CONFIG</item>+ <!-- server signalling -->+ <item>PG_CANCEL_BACKEND</item>+ <item>PG_RELOAD_CONF</item>+ <item>PG_ROTATE_LOGFILE</item>+ <!-- backup control -->+ <item>PG_START_BACKUP</item>+ <item>PG_STOP_BACKUP</item>+ <!-- database object Sizes-->+ <item>PG_COLUMN_SIZE</item>+ <item>PG_TABLESPACE_SIZE</item>+ <item>PG_DATABASE_SIZE</item>+ <item>PG_RELATION_SIZE</item>+ <item>PG_TOTAL_RELATION_SIZE</item>+ <item>PG_SIZE_PRETTY</item>+ <!-- generic file access -->+ <item>PG_LS_DIR</item>+ <item>PG_READ_FILE</item>+ <item>PG_STAT_FILE</item> </list> <list name="types"> <!-- https://www.postgresql.org/docs/current/static/datatype.html#DATATYPE-TABLE -->@@ -704,6 +942,7 @@ <item>CIRCLE</item> <item>DATE</item> <item>DECIMAL</item>+ <item>DOUBLE</item> <item>FLOAT4</item> <item>FLOAT8</item> <item>INET</item>@@ -717,13 +956,12 @@ <item>JSONB</item> <item>LINE</item> <item>LSEG</item>- <item>LZTEXT</item> <item>MACADDR</item> <item>MACADDR8</item> <item>MONEY</item> <item>NUMERIC</item>- <item>OID</item> <item>PATH</item>+ <item>PG_LSN</item> <item>POINT</item> <item>POLYGON</item> <item>REAL</item>@@ -740,6 +978,7 @@ <item>TIMETZ</item> <item>TSQUERY</item> <item>TSVECTOR</item>+ <item>TXID_SNAPSHOT</item> <item>UUID</item> <item>VARBIT</item> <item>VARCHAR</item>@@ -758,37 +997,38 @@ <RegExpr String="create\s+(or\s+replace\s+)?function" insensitive="true" context="CreateFunction" attribute="Keyword"/> <RegExpr String="do\s+\$([^\$\n\r]*)\$" insensitive="true" context="FunctionBody" attribute="Keyword"/>+ <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/> <keyword attribute="Keyword" context="#stay" String="keywords"/>- <keyword attribute="Operator" context="#stay" String="operators"/>+ <keyword attribute="Operator Keyword" context="#stay" String="operators"/>+ <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/> <keyword attribute="Function" context="#stay" String="functions"/> <keyword attribute="Data Type" context="#stay" String="types"/>- <RegExpr attribute="Data Type" context="#stay" String="%bulk_exceptions\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%bulk_rowcount\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%found\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%isopen\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%notfound\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%rowcount\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%rowtype\b" insensitive="true"/>- <RegExpr attribute="Data Type" context="#stay" String="%type\b" insensitive="true"/>+ <RegExpr attribute="Data Type" context="#stay" String="%(bulk_(exceptions|rowcount)|(not)?found|isopen|rowcount|(row)?type)\b" insensitive="true"/> <Float attribute="Float" context="#stay"/> <Int attribute="Decimal" context="#stay"/> <DetectChar attribute="String" context="String" char="'"/> <DetectChar attribute="Comment" context="Identifier" char="""/> <AnyChar attribute="Symbol" context="#stay" String=":&"/>- <RegExpr attribute="Symbol" context="#stay" String="/$" column="0"/> <RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/> <RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$" dynamic="true"/>+ <AnyChar attribute="Operator" context="#stay" String="+-*/=%^!<>&|@~#"/>+ <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>+ <!-- geometric operators -->+ <Detect2Chars attribute="Operator" context="#stay" char="?" char1="#"/>+ <Detect2Chars attribute="Operator" context="#stay" char="?" char1="-"/>+ <Detect2Chars attribute="Operator" context="#stay" char="?" char1="|"/> </context> <context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay"> <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$" dynamic="true"/> <IncludeRules context="Normal"/> </context> <context name="FunctionBody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">- <RegExpr attribute="Function" context="#pop#pop" String="\$%1\$" dynamic="true"/>+ <StringDetect attribute="Function" context="#pop#pop" String="$%1$" dynamic="true"/> <IncludeRules context="Normal"/> </context> <context name="MultiLineString" attribute="String" lineEndContext="#stay" dynamic="true">- <RegExpr attribute="Operator" context="#pop" String="\$%1\$" dynamic="true"/>+ <StringDetect attribute="Operator" context="#pop" String="$%1$" dynamic="true"/> </context> <context name="String" attribute="String" lineEndContext="#stay"> <LineContinue attribute="String" context="#pop"/>@@ -807,19 +1047,21 @@ <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/> </contexts> <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal"/>- <itemData name="Keyword" defStyleNum="dsKeyword"/>- <itemData name="Operator" defStyleNum="dsNormal"/>- <itemData name="Function" defStyleNum="dsFunction"/>- <itemData name="Data Type" defStyleNum="dsDataType"/>- <itemData name="Decimal" defStyleNum="dsDecVal"/>- <itemData name="Float" defStyleNum="dsFloat"/>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> <itemData name="String" defStyleNum="dsString"/>- <itemData name="String Char" defStyleNum="dsChar"/>+ <itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/> <itemData name="Comment" defStyleNum="dsComment"/>- <itemData name="Identifier" defStyleNum="dsOthers"/>- <itemData name="Symbol" defStyleNum="dsChar"/>- <itemData name="Preprocessor" defStyleNum="dsOthers"/>+ <itemData name="Identifier" defStyleNum="dsOthers" spellChecking="false"/>+ <itemData name="Symbol" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/> </itemDatas> </highlighting> <general>@@ -827,6 +1069,6 @@ <comment name="singleLine" start="--"/> <comment name="multiLine" start="/*" end="*/"/> </comments>- <keywords casesensitive="0" weakDeliminator="+-*/|=!<>~^:.@&#%?"/>+ <keywords casesensitive="0"/> </general> </language>
xml/sql.xml view
@@ -5,8 +5,31 @@ v3 fix comments by Gene Thomas <gene@genethomas.com> --> <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->-<language name="SQL" version="3" kateversion="2.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL">+<language name="SQL" version="5" kateversion="5.0" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL"> <highlighting>+ <list name="controlFlow">+ <item>BEGIN</item>+ <item>CASE</item>+ <item>ELSE</item>+ <item>ELSIF</item>+ <item>END</item>+ <item>FOR</item>+ <item>IF</item>+ <item>LOOP</item>+ <item>RETURN</item>+ <item>THEN</item>+ <item>WHEN</item>+ <item>WHILE</item>+ </list>+ <list name="operators">+ <item>AND</item>+ <item>BETWEEN</item>+ <item>IN</item>+ <item>IS</item>+ <item>LIKE</item>+ <item>NOT</item>+ <item>OR</item>+ </list> <list name="keywords"> <item>ACCESS</item> <item>ACCOUNT</item>@@ -22,7 +45,6 @@ <item>ALTER</item> <item>ANALYZE</item> <item>ANCILLARY</item>- <item>AND</item> <item>ANY</item> <item>ARCHIVE</item> <item>ARCHIVELOG</item>@@ -43,9 +65,7 @@ <item>BACKUP</item> <item>BECOME</item> <item>BEFORE</item>- <item>BEGIN</item> <item>BEHALF</item>- <item>BETWEEN</item> <item>BINDING</item> <item>BITMAP</item> <item>BLOCK</item>@@ -65,7 +85,6 @@ <item>CALL</item> <item>CANCEL</item> <item>CASCADE</item>- <item>CASE</item> <item>CATEGORY</item> <item>CHAINED</item> <item>CHANGE</item>@@ -80,7 +99,6 @@ <item>CLOSE</item> <item>CLOSE_CACHED_OPEN_CURSORS</item> <item>CLUSTER</item>- <item>COALESCE</item> <item>COLUMN</item> <item>COLUMNS</item> <item>COLUMN_VALUE</item>@@ -101,6 +119,7 @@ <item>CONSTRAINT</item> <item>CONSTRAINTS</item> <item>CONTAINER</item>+ <item>CONTAINS</item> <item>CONTENTS</item> <item>CONTEXT</item> <item>CONTINUE</item>@@ -149,11 +168,8 @@ <item>DROP</item> <item>DYNAMIC</item> <item>EACH</item>- <item>ELSE</item>- <item>ELSIF</item> <item>EMPTY</item> <item>ENABLE</item>- <item>END</item> <item>ENFORCE</item> <item>ENTRY</item> <item>ESCAPE</item>@@ -185,7 +201,6 @@ <item>FLASHBACK</item> <item>FLUSH</item> <item>FOLLOWING</item>- <item>FOR</item> <item>FORCE</item> <item>FOREIGN</item> <item>FREELIST</item>@@ -214,9 +229,7 @@ <item>IDENTIFIER</item> <item>IDGENERATORS</item> <item>IDLE_TIME</item>- <item>IF</item> <item>IMMEDIATE</item>- <item>IN</item> <item>INCLUDING</item> <item>INCREMENT</item> <item>INCREMENTAL</item>@@ -239,7 +252,6 @@ <item>INTERSECT</item> <item>INTO</item> <item>INVALIDATE</item>- <item>IS</item> <item>ISOLATION</item> <item>ISOLATION_LEVEL</item> <item>JAVA</item>@@ -254,7 +266,6 @@ <item>LESS</item> <item>LEVEL</item> <item>LIBRARY</item>- <item>LIKE</item> <item>LIMIT</item> <item>LINK</item> <item>LIST</item>@@ -268,7 +279,6 @@ <item>LOGICAL_READS_PER_SESSION</item> <item>LOGOFF</item> <item>LOGON</item>- <item>LOOP</item> <item>MANAGE</item> <item>MANAGED</item> <item>MANAGEMENT</item>@@ -345,7 +355,6 @@ <item>NORMAL</item> <item>NOSEGMENT</item> <item>NOSORT</item>- <item>NOT</item> <item>NOTHING</item> <item>NOVALIDATE</item> <item>NOWAIT</item>@@ -368,7 +377,6 @@ <item>OPTIMAL</item> <item>OPTIMIZER_GOAL</item> <item>OPTION</item>- <item>OR</item> <item>ORDER</item> <item>ORGANIZATION</item> <item>OUT</item>@@ -538,7 +546,6 @@ <item>TEMPORARY</item> <item>THAN</item> <item>THE</item>- <item>THEN</item> <item>THREAD</item> <item>THROUGH</item> <item>TIMEOUT</item>@@ -584,35 +591,13 @@ <item>VALIDATION</item> <item>VALUES</item> <item>VIEW</item>- <item>WHEN</item> <item>WHENEVER</item> <item>WHERE</item>- <item>WHILE</item> <item>WITH</item> <item>WITHOUT</item> <item>WORK</item> <item>WRITE</item> </list>- <list name="operators">- <item>+</item>- <item>-</item>- <item>*</item>- <item>/</item>- <item>||</item>- <item>=</item>- <item>!=</item>- <item><></item>- <item><</item>- <item><=</item>- <item>></item>- <item>>=</item>- <item>~=</item>- <item>^=</item>- <item>:=</item>- <item>=></item>- <item>**</item>- <item>..</item>- </list> <list name="functions"> <item>ABS</item> <item>ACOS</item>@@ -894,8 +879,18 @@ <Detect2Chars attribute="Comment" context="Multiline C-style comment" char="/" char1="*" beginRegion="Comment"/> <RegExpr attribute="Comment" context="SQL*Plus remark directive" String="^rem\b" insensitive="true" column="0"/> + <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/> <!-- conflict with "operators" keywords --> <keyword attribute="Keyword" String="keywords" context="#stay"/>- <keyword attribute="Operator" String="operators" context="#stay"/>+ <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/>+ <keyword attribute="Operator Keyword" context="#stay" String="operators"/>+ <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/>+ <AnyChar attribute="Operator" context="#stay" String="+-*/=<>"/>+ <Detect2Chars attribute="Operator" context="#stay" char="!" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="~" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="^" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>+ <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>+ <Detect2Chars attribute="Operator" context="#stay" char="|" char1="|"/> <keyword attribute="Function" String="functions" context="#stay"/> <keyword attribute="Data Type" String="types" context="#stay"/> @@ -911,7 +906,6 @@ <DetectChar attribute="Identifier" context="User-defined identifier" char="""/> <RegExpr attribute="External Variable" context="#stay" String="(:|&&?)\w+"/>- <RegExpr attribute="Symbol" context="#stay" String="^/$" column="0"/> <RegExpr attribute="Preprocessor" context="SQL*Plus directive to include file" String="^@@?[^@ \t\r\n]" column="0"/> </context> <context name="String literal" attribute="String" lineEndContext="#stay">@@ -932,21 +926,23 @@ <context name="SQL*Plus directive to include file" attribute="Preprocessor" lineEndContext="#pop"/> </contexts> <itemDatas>- <itemData name="Normal Text" defStyleNum="dsNormal"/>- <itemData name="Keyword" defStyleNum="dsKeyword"/>- <itemData name="Operator" defStyleNum="dsNormal"/>- <itemData name="Function" defStyleNum="dsFunction"/>- <itemData name="Data Type" defStyleNum="dsDataType"/>- <itemData name="Decimal" defStyleNum="dsDecVal"/>- <itemData name="Hex" defStyleNum="dsBaseN"/>- <itemData name="Float" defStyleNum="dsFloat"/>+ <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>+ <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="false"/>+ <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>+ <itemData name="Operator Keyword" defStyleNum="dsKeyword" spellChecking="false"/>+ <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>+ <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>+ <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>+ <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>+ <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> <itemData name="String" defStyleNum="dsString"/>- <itemData name="String Char" defStyleNum="dsChar"/>+ <itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/> <itemData name="Comment" defStyleNum="dsComment"/>- <itemData name="Identifier" defStyleNum="dsOthers"/>- <itemData name="External Variable" defStyleNum="dsChar"/>- <itemData name="Symbol" defStyleNum="dsChar"/>- <itemData name="Preprocessor" defStyleNum="dsOthers"/>+ <itemData name="Identifier" defStyleNum="dsOthers" spellChecking="false"/>+ <itemData name="External Variable" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="Symbol" defStyleNum="dsChar" spellChecking="false"/>+ <itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/> </itemDatas> </highlighting> <general>@@ -954,6 +950,6 @@ <comment name="singleLine" start="--"/> <comment name="multiLine" start="/*" end="*/"/> </comments>- <keywords casesensitive="0" weakDeliminator="+-*/|=!<>~^:."/>+ <keywords casesensitive="0"/> </general> </language>
xml/tcl.xml view
@@ -28,7 +28,7 @@ - Fixed detection of varaibles with names containing serval namespace delimiters (::) --> -<language name="Tcl/Tk" version="3" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl" license="BSD">+<language name="Tcl/Tk" version="4" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl" license="BSD"> <highlighting> <list name="keywords"> <item>after</item>@@ -511,8 +511,8 @@ <RegExpr String = "\$(::|\w)+" attribute = "Variable" context="#stay"/> <!-- Strings -->- <RegExpr String = ""{2}" attribute = "String" context="#stay"/>- <RegExpr String = """ attribute = "String" context="String"/>+ <Detect2Chars char = """ char1 = """ attribute = "String" context="#stay"/>+ <DetectChar char = """ attribute = "String" context="String"/> <!-- Comments --> <DetectChar char = ";" attribute = "Normal Text" context="New command line" />
xml/vhdl.xml view
@@ -8,7 +8,7 @@ <!ENTITY label "((&varname;)\s*:\s*)?"> ]>-<language name="VHDL" version="5" kateversion="3.0" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de), Luigi Calligaris (luigi.calligaris@stfc.ac.uk)">+<language name="VHDL" version="6" kateversion="3.0" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de), Luigi Calligaris (luigi.calligaris@stfc.ac.uk)"> <highlighting> <list name="keywordsToplevel"> <item>file</item>@@ -508,10 +508,8 @@ <context name="caseWhen2" attribute="Normal Text" lineEndContext="#stay" dynamic="true"> <IncludeRules context="preDetection"/>- <RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"- String="^\s*when&eos;"/>- <RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"- String="^\s*end\s+case&eos;"/>+ <RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1" firstNonSpace="true"+ String="(when|end\s+case)&eos;"/> <IncludeRules context="proc_rules"/> </context> <!-- 'when' and 'end case' are checked at the beginning of the line for better code folding -->@@ -536,8 +534,8 @@ String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;"/> <RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1" String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;"/>- <RegExpr attribute="Control" context="#stay" insensitive="true" String="generic"/>- <RegExpr attribute="Control" context="#stay" insensitive="true" String="port"/>+ <StringDetect attribute="Control" context="#stay" insensitive="true" String="generic"/>+ <StringDetect attribute="Control" context="#stay" insensitive="true" String="port"/> <IncludeRules context="generalDetection"/> </context>
xml/xml.xml view
@@ -6,7 +6,7 @@ <!ENTITY name "(?![0-9])[\w_:][\w.:_-]*"> <!ENTITY entref "&(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);"> ]>-<language name="XML" version="7" kateversion="3.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">+<language name="XML" version="9" kateversion="3.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae;*.sch;*.brd" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL"> <highlighting> <contexts>@@ -145,6 +145,5 @@ <comments> <comment name="multiLine" start="<!--" end="-->" /> </comments>- <indentation mode="xml" /> </general> </language>
xml/xul.xml view
@@ -4,7 +4,7 @@ <!ENTITY name "[A-Za-z_:][\w.:_-]*"> <!ENTITY entref "&(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);"> ]>- <language name="XUL" version="4" kateversion="2.4" section="Markup" extensions="*.xul;*.xbl" mimetype="text/xul" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl), Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net), Marc Dassonneville (marc.dassonneville@gmail.com)" license="LGPL">+<language name="XUL" version="5" kateversion="5.0" section="Markup" extensions="*.xul;*.xbl" mimetype="text/xul" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl), Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net), Marc Dassonneville (marc.dassonneville@gmail.com)" license="LGPL"> <highlighting> <list name="keywords">@@ -619,7 +619,6 @@ <comment name="singleLine" start="//" /> <comment name="multiLine" start="/*" end="*/" /> </comments>- <indentation mode="xml" /> <keywords casesensitive="1" /> </general> </language>
xml/yaml.xml view
@@ -1,21 +1,55 @@ <?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE language SYSTEM "language.dtd">+<!DOCTYPE language SYSTEM "language.dtd"+[+ <!ENTITY null "(null|Null|NULL|~)">+ <!ENTITY bool "(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)">++ <!ENTITY int "(0|[\-\+]?[1-9][0-9_]*)">+ <!ENTITY intOther "[\-\+]?0(x_*[0-9a-fA-F][0-9a-fA-F_]*|o?_*[0-7][0-7_]*|b_*[01][01_]*)"> <!-- Hex, Octal, Binary -->+ <!ENTITY intBase60 "[\-\+]?[1-9][0-9_]*(:[0-5]?[0-9])+">+ <!ENTITY allInt "(&intBase60;|&intOther;|∫)">++ <!ENTITY float "[\-\+]?([0-9][0-9_]*\.[0-9\._]*|\._*[0-9][0-9\._]*)([eE][\-\+]?[0-9]+)?">+ <!ENTITY floatExp "[\-\+]?[0-9][0-9_]*[eE][\-\+]?[0-9]+">+ <!ENTITY floatBase60 "[\-\+]?[0-9][0-9_]*(:[0-5]?[0-9])+\.[0-9_]*">+ <!ENTITY inf "[\-\+]?\.(inf|Inf|INF)\b">+ <!ENTITY nan "\.(nan|NaN|NAN)\b">+ <!ENTITY allFloat "(&float;|&floatExp;|&floatBase60;|&inf;|&nan;)">++ <!ENTITY endValue "(?:\s*$|\s+#)">+ <!ENTITY endValueInline "\s*[:,\[\]\{\}]">+ <!ENTITY space "[ ]">++ <!-- Key quoted -->+ <!ENTITY keyDQ ""(?:\\.|[^"])+"\s*">+ <!ENTITY keySQ "'(?:[^']|'')+'\s*">+ <!-- Literal/folded operator -->+ <!ENTITY literalOp "[\|>][\-\+]?">+ <!-- Key after "?" or "-", used to detect literal/folded operator -->+ <!ENTITY keyAfterOp "(?:[^"'#\-\?\s][^:#]*|\-(?:[^\s:#][^:#]*)?|&keyDQ;|&keySQ;)">+]>+ <!-- Author: Dr Orlovsky MA <maxim@orlovsky.info> //-->-<language name="YAML" version="3" kateversion="5.0" section="Markup"+<!-- Modifications, values & support for literal/folded style:+ Nibaldo González S. <nibgonz@gmail.com> //-->+<language name="YAML" version="5" kateversion="5.0" section="Markup" extensions="*.yaml;*.yml" mimetype="text/yaml" author="Dr Orlovsky MA (dr.orlovsky@gmail.com)" license="LGPL"> <highlighting> <contexts> <context attribute="Normal Text" lineEndContext="#stay" name="normal" >- <RegExpr attribute="Document Header" context="header" String="^---"/>+ <StringDetect attribute="Document Header" context="header" String="---" column="0"/> <RegExpr attribute="End of Document" context="EOD" String="^\.\.\.$"/>- <RegExpr attribute="Directive" context="directive" String="^%"/>+ <DetectChar attribute="Directive" context="directive" char="%" column="0"/> - <DetectSpaces/> <DetectChar attribute="Comment" context="comment" char="#" /> - <DetectChar attribute="Operator" firstNonSpace="true" context="dash" char="-" />+ <!-- Literal/Folded Style -->+ <IncludeRules context="find-literal-block" /> + <RegExpr attribute="Operator" firstNonSpace="true" context="dash" String="\-(?=\s|$)" />+ <DetectChar attribute="Operator" firstNonSpace="true" context="mapping-key" char="?" />+ <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" /> <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" /> @@ -23,26 +57,40 @@ <RegExpr attribute="Alias" firstNonSpace="true" context="#stay" String="&\S+" /> <RegExpr attribute="Reference" firstNonSpace="true" context="#stay" String="\*\S+" /> - <RegExpr attribute="Key" context="attribute-pre" String="\??\s*[^"'#-][^:#]*:"/>- <RegExpr attribute="Key" context="attribute-pre" String="\??\s*"[^"#]+"\s*:"/>- <RegExpr attribute="Key" context="attribute-pre" String="\??\s*'[^'#]+'\s*:"/>+ <RegExpr attribute="Key" context="attribute-pre" String="[^"'#\-\s][^:#]*:(?=\s|$)"/>+ <RegExpr attribute="Key" context="attribute-pre" String="\-([^\s:#][^:#]*)?\:(?=\s|$)"/>+ <RegExpr attribute="Key" context="attribute-pre" String="&keyDQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="attribute-pre" String="&keySQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="attribute-pre" String=":(?=\s|$)"/> <DetectChar attribute="String" context="string" char="'" beginRegion="String" /> <DetectChar attribute="String" context="stringx" char=""" beginRegion="String" />+ <IncludeRules context="values-firstnonspace" />+ <DetectSpaces/> </context> - <context attribute="List" lineEndContext="#pop" name="dash">+ <context attribute="Normal Text" lineEndContext="#pop" name="mapping-key" fallthrough="true" fallthroughContext="#pop">+ <DetectSpaces />+ <RegExpr attribute="Operator" context="#pop!dash" String="\-(?=\s|$)" />+ <RegExpr attribute="Data Types" context="#pop" String="!!\S+" />+ <RegExpr attribute="Alias" context="#pop" String="&\S+" />+ <RegExpr attribute="Reference" context="#pop" String="\*\S+" />+ </context>++ <context attribute="List" lineEndContext="#pop" name="dash" fallthrough="true" fallthroughContext="#pop"> <DetectSpaces/> <DetectChar attribute="Comment" context="comment" char="#" />- <RegExpr attribute="Data Types" context="#stay" String="null$" /> <RegExpr attribute="Data Types" context="#stay" String="!!\S+" /> <RegExpr attribute="Alias" context="#stay" String="&\S+" /> <RegExpr attribute="Reference" context="#stay" String="\*\S+" />- <RegExpr attribute="Normal Text" lookAhead="true" context="#pop" String="." />+ <IncludeRules context="values" />+ <DetectChar attribute="Operator" context="#pop!mapping-key" char="?" />+ <RegExpr attribute="Operator" context="#stay" String="\-(?=\s|$)" /> </context> <context attribute="Document Header" lineEndContext="#pop" name="header"> <DetectChar attribute="Comment" context="comment" char="#" />+ <RegExpr attribute="Literal/Folded Operator" context="#pop!literal-block-simple" String="&literalOp;(?=&endValue;)" beginRegion="Literal" /> </context> <context attribute="End of Document" lineEndContext="#stay" name="EOD">@@ -55,120 +103,437 @@ <DetectChar attribute="Comment" context="comment" char="#" /> </context> - <context attribute="Attribute" lineEndContext="#stay" name="attribute-inline">- <DetectChar attribute="Operator" context="#pop#pop" char="," />- <DetectChar attribute="Operator" context="#pop#pop" lookAhead="true" char="}" />+ <context attribute="Attribute" lineEndContext="#stay" name="list-attribute-inline">+ <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",]" /> <DetectChar attribute="Comment" context="comment" char="#" /> </context>+ <context attribute="Attribute" lineEndContext="#stay" name="hash-attribute-inline">+ <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",}" />+ <DetectChar attribute="Comment" context="comment" char="#" />+ </context> - <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre">+ <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre" fallthrough="true" fallthroughContext="attribute"> <DetectSpaces/> <DetectChar attribute="Comment" context="comment" char="#" />- <RegExpr attribute="Data Types" context="#stay" String="null$" />+ <DetectChar attribute="Operator" context="#stay" char="?" /> <RegExpr attribute="Data Types" context="#stay" String="!!\S+" /> <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" /> <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" /> <DetectChar attribute="String" context="attribute-string" char="'" beginRegion="String" /> <DetectChar attribute="String" context="attribute-stringx" char=""" beginRegion="String" />+ <RegExpr attribute="Alias" context="#stay" String="&\S+(?=\s+[\[\{])" />+ <RegExpr attribute="Reference" context="#stay" String="\*\S+(?=\s+[\[\{])" /> <RegExpr attribute="Alias" context="attribute" String="&\S+" /> <RegExpr attribute="Reference" context="attribute" String="\*\S+" />- <RegExpr attribute="Attribute" context="attribute" String="." />+ <IncludeRules context="values" /> </context> - <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre-inline">+ <context attribute="Attribute" lineEndContext="#pop" name="default-attribute-pre-inline"> <DetectSpaces/> <DetectChar attribute="Comment" context="comment" char="#" /> - <StringDetect attribute="Data Types" context="#stay" String="null" />+ <DetectChar attribute="Operator" context="#stay" char="?" /> <RegExpr attribute="Data Types" context="#stay" String="!!\S+" /> <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" /> <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" /> <DetectChar attribute="String" context="attribute-string-inline" char="'" beginRegion="String" /> <DetectChar attribute="String" context="attribute-stringx-inline" char=""" beginRegion="String" />- <RegExpr attribute="Alias" context="attribute-inline" String="&\S+" />- <RegExpr attribute="Reference" context="attribute-inline" String="\*\S+" />+ <RegExpr attribute="Alias" context="#stay" String="&\S+(?=\s+[\[\{])" />+ <RegExpr attribute="Reference" context="#stay" String="\*\S+(?=\s+[\[\{])" />+ </context> - <DetectChar attribute="Operator" context="#pop" char="," />- <DetectChar attribute="Operator" context="#pop" lookAhead="true" char="}" />- <RegExpr attribute="Attribute" context="attribute-inline" String="." />+ <context attribute="Attribute" lineEndContext="#pop" name="list-attribute-pre-inline" fallthrough="true" fallthroughContext="list-attribute-inline">+ <IncludeRules context="default-attribute-pre-inline" />+ <RegExpr attribute="Alias" context="list-attribute-inline" String="&\S+" />+ <RegExpr attribute="Reference" context="list-attribute-inline" String="\*\S+" />++ <AnyChar attribute="Operator" context="#pop" lookAhead="true" String=",]" />+ <IncludeRules context="values-inline" /> </context>+ <context attribute="Attribute" lineEndContext="#pop" name="hash-attribute-pre-inline" fallthrough="true" fallthroughContext="hash-attribute-inline">+ <IncludeRules context="default-attribute-pre-inline" />+ <RegExpr attribute="Alias" context="hash-attribute-inline" String="&\S+" />+ <RegExpr attribute="Reference" context="hash-attribute-inline" String="\*\S+" /> - <context attribute="List" lineEndContext="#stay" name="list">- <DetectSpaces/>+ <AnyChar attribute="Operator" context="#pop" lookAhead="true" String=",}" />+ <IncludeRules context="values-inline" />+ </context>++ <!-- Context "find-values-list" highlights values and then sends to "list-element" -->+ <context attribute="List" lineEndContext="#stay" name="list" fallthrough="true" fallthroughContext="#pop!find-values-list">+ <DetectSpaces />+ <DetectChar attribute="Operator" context="#pop!find-values-list" char="?" /> <DetectChar attribute="Comment" context="comment" char="#" />+ </context>+ <context attribute="List" lineEndContext="#stay" name="list-element">+ <DetectChar attribute="Comment" context="comment" char="#" /> <DetectChar attribute="Operator" context="#pop" char="]" endRegion="List" />+ <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />+ <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" /> - <RegExpr attribute="Key" context="attribute-pre" String="\??\s*[^"'#-][^:#]*:"/>- <RegExpr attribute="Key" context="attribute-pre" String="\??\s*"[^"#]+"\s*:"/>- <RegExpr attribute="Key" context="attribute-pre" String="\??\s*'[^'#]+'\s*:"/>+ <RegExpr attribute="Key" context="list-attribute-pre-inline" String="[^"'#\-,\]\s][^:#,\]]*:(?=\s|$)"/>+ <RegExpr attribute="Key" context="list-attribute-pre-inline" String="\-([^\s:#,\]][^:#,\]]*)?\:(?=\s|$)"/>+ <RegExpr attribute="Key" context="list-attribute-pre-inline" String="&keyDQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="list-attribute-pre-inline" String="&keySQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="list-attribute-pre-inline" String=":(?=\s|$)" firstNonSpace="true" /> - <StringDetect attribute="Data Types" context="#stay" String="null" /> <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />- <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />- <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" /> <RegExpr attribute="Alias" context="#stay" String="&\S+" /> <RegExpr attribute="Reference" context="#stay" String="\*\S+" /> <DetectChar attribute="String" context="string" char="'" beginRegion="String" /> <DetectChar attribute="String" context="stringx" char=""" beginRegion="String" /> - <DetectChar attribute="Operator" context="#stay" char="," />+ <DetectChar attribute="Operator" context="#pop!list" char="," />+ <IncludeRules context="values-list" /> </context> - <context attribute="Hash" lineEndContext="#stay" name="hash">+ <context attribute="Hash" lineEndContext="#stay" name="hash" fallthrough="true" fallthroughContext="#pop!hash-element">+ <DetectSpaces />+ <DetectChar attribute="Operator" context="#pop!hash-element" char="?" />+ <DetectChar attribute="Comment" context="comment" char="#" />+ </context>+ <context attribute="Hash" lineEndContext="#stay" name="hash-element"> <DetectSpaces/> <DetectChar attribute="Comment" context="comment" char="#" /> - <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*[^"'#-][^:#]*:"/>- <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*"[^"#]+"\s*:"/>- <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*'[^'#]+'\s*:"/>+ <RegExpr attribute="Key" context="hash-attribute-pre-inline" String="[^\s"'#\-,\}\s][^:#,\}]*:(?=\s|$)"/>+ <RegExpr attribute="Key" context="hash-attribute-pre-inline" String="\-([^\s:#,\}][^:#,\}]*)?\:(?=\s|$)"/>+ <RegExpr attribute="Key" context="hash-attribute-pre-inline" String="&keyDQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="hash-attribute-pre-inline" String="&keySQ;:(?=\s|$)"/>+ <RegExpr attribute="Key" context="hash-attribute-pre-inline" String=":(?=\s|$)"/> <DetectChar attribute="Operator" context="#pop" char="}" endRegion="Hash" />+ <DetectChar attribute="Operator" context="#pop!hash" char="," />++ <!-- This improves highlighting in keys with multiple lines -->+ <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />+ <RegExpr attribute="Alias" context="#stay" String="&\S+" />+ <RegExpr attribute="Reference" context="#stay" String="\*\S+" />+ <DetectChar attribute="String" context="string" char="'" beginRegion="String" />+ <DetectChar attribute="String" context="stringx" char=""" beginRegion="String" /> </context> <context attribute="String" lineEndContext="#stay" name="attribute-string"> <DetectIdentifier />+ <IncludeRules context="escaped-char-singleq" /> <DetectChar attribute="String" context="attribute-end" char="'" endRegion="String" /> </context> <context attribute="String" lineEndContext="#stay" name="attribute-stringx"> <DetectIdentifier />+ <IncludeRules context="escaped-char-doubleq" /> <DetectChar attribute="String" context="attribute-end" char=""" endRegion="String" /> </context> <context attribute="String" lineEndContext="#stay" name="attribute-string-inline"> <DetectIdentifier />+ <IncludeRules context="escaped-char-singleq" /> <DetectChar attribute="String" context="attribute-end-inline" char="'" endRegion="String" /> </context> <context attribute="String" lineEndContext="#stay" name="attribute-stringx-inline"> <DetectIdentifier />+ <IncludeRules context="escaped-char-doubleq" /> <DetectChar attribute="String" context="attribute-end-inline" char=""" endRegion="String" /> </context> <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end">+ <DetectSpaces attribute="Normal Text" context="#stay"/>+ <DetectChar attribute="Comment" context="comment" char="#" /> </context> <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end-inline">- <RegExpr attribute="Normal Text" context="#stay" String="\s*"/>- <DetectChar attribute="String" context="#pop#pop#pop" lookAhead="true" char="}"/>- <RegExpr attribute="Operator" context="#pop#pop#pop" String=",\s"/>+ <DetectSpaces attribute="Normal Text" context="#stay"/>+ <AnyChar attribute="String" context="#pop#pop#pop" lookAhead="true" String="}]"/>+ <DetectChar attribute="Operator" context="#pop#pop#pop" lookAhead="true" char="," />+ <DetectChar attribute="Comment" context="comment" char="#" /> </context> <context attribute="String" lineEndContext="#stay" name="string"> <DetectIdentifier />+ <IncludeRules context="escaped-char-singleq" /> <DetectChar attribute="String" context="#pop" char="'" endRegion="String" /> </context> <context attribute="String" lineEndContext="#stay" name="stringx"> <DetectIdentifier />+ <IncludeRules context="escaped-char-doubleq" /> <DetectChar attribute="String" context="#pop" char=""" endRegion="String" /> </context> + <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-doubleq">+ <RegExpr attribute="Escaped Character" context="#stay" String="\\([\s0abtnvfre"/\\N_Lp]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-singleq">+ <Detect2Chars attribute="Escaped Character" context="#stay" char="'" char1="'" />+ </context>+ <context attribute="Comment" lineEndContext="#pop" name="comment"> <IncludeRules context="##Alerts" /> <IncludeRules context="##Modelines" /> </context>++ <!-- Values -->+ <context attribute="Normal Text" lineEndContext="#stay" name="values">+ <RegExpr attribute="Null" context="#stay" String="&null;(?=&endValue;)"/>+ <RegExpr attribute="Boolean" context="#stay" String="&bool;(?=&endValue;)"/>+ <RegExpr attribute="Float" context="#stay" String="&allFloat;(?=&endValue;)"/>+ <RegExpr attribute="Integer" context="#stay" String="&allInt;(?=&endValue;)"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="values-firstnonspace">+ <RegExpr attribute="Null" firstNonSpace="true" context="#stay" String="&null;(?=&endValue;)"/>+ <RegExpr attribute="Boolean" firstNonSpace="true" context="#stay" String="&bool;(?=&endValue;)"/>+ <RegExpr attribute="Float" firstNonSpace="true" context="#stay" String="&allFloat;(?=&endValue;)"/>+ <RegExpr attribute="Integer" firstNonSpace="true" context="#stay" String="&allInt;(?=&endValue;)"/>+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="values-inline">+ <RegExpr attribute="Null" context="#stay" String="&null;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Boolean" context="#stay" String="&bool;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Float" context="#stay" String="&allFloat;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Integer" context="#stay" String="&allInt;(?=&endValueInline;|&endValue;)"/>+ </context>++ <context attribute="Normal Text" lineEndContext="#stay" name="values-list">+ <RegExpr attribute="Null" context="#stay" String="(\s|^)&null;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Boolean" context="#stay" String="(\s|^)&bool;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Float" context="#stay" String="(\s|^)&allFloat;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Integer" context="#stay" String="(\s|^)&allInt;(?=&endValueInline;|&endValue;)"/>+ </context>+ <!-- If the value is found immediately at the beginning of the list item -->+ <context attribute="Normal Text" lineEndContext="#pop!list-element" name="find-values-list" fallthrough="true" fallthroughContext="#pop!list-element">+ <RegExpr attribute="Null" context="#pop!list-element" String="&null;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Boolean" context="#pop!list-element" String="&bool;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Float" context="#pop!list-element" String="&allFloat;(?=&endValueInline;|&endValue;)"/>+ <RegExpr attribute="Integer" context="#pop!list-element" String="&allInt;(?=&endValueInline;|&endValue;)"/>+ </context>++ <!-- Literal/Folded Style: http://yaml.org/spec/1.2/spec.html#id2795688 -->++ <context attribute="Normal Text" lineEndContext="#stay" name="find-literal-block">+ <!-- Do not allow indentation with tabs: -->+ <RegExpr attribute="Alert" context="#stay" column="0"+ String="^&space;*\t+\s*(?=((&keyDQ;|&keySQ;|[^#])*[^#\w\|<>"'])?&literalOp;&endValue;)" />++ <!-- CASE 1: The literal/folded operator is the first character of a line.+ The text after a space is considered literal.+ Ex:+ > |+ > ^Start the literal text+ -->+ <RegExpr attribute="Literal/Folded Operator" context="literal-block-simple" column="0"+ String="^&literalOp;(?=&endValue;)" beginRegion="Literal" />++ <!-- CASE 2: Only the literal/folded operator is present in a line, after a space (the indentation+ is captured). The text with the same indentation of the operator will be highlighted as literal.+ Ex:+ > key:+ > |+ > ^Start the literal text++ However, in this case, the correct way is to use the indentation of the block, not the+ indentation of the the operator. The problem is that it is difficult to capture.+ > key1:+ > key2:+ > key3:+ > |+ > ^Block indentation (correct literal text)+ -->+ <RegExpr attribute="Literal/Folded Operator" context="literal-block-only-operator" column="0"+ String="^(&space;+)&literalOp;(?=&endValue;)" beginRegion="Literal" />++ <!-- CASE 3: There is a Key before the literal/folded operator (Key indentation is captured).+ The text with the Key's indentation plus a space is considered literal.+ Ex:+ > key: |+ > ^Start the literal text+ > key: !!type >-+ > ^Start the folded text+ -->+ <RegExpr attribute="Key" context="literal-block-key" column="0"+ String="^(&space;*)(?:[^"'#\-\?\s][^:#]*|\-(?:[^\s:#][^:#]*)?|&keyDQ;|&keySQ;)?\:(?=\s+(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|<>"'])?&literalOp;&endValue;)" />++ <!-- CASE 4: Is there an operator "?" or "-" at the beginning of the line.+ NOTE: Nested characters "-" and "?" are considered as part of the indentation.+ Therefore, the indentation of the Key or the last operator "?" or "-" is captured.+ Ex:+ > ? |+ > ^Start the literal Text+ > ? - - |+ > ^Start the literal text+ > - Key: |+ > ^Start the literal text+ > ? - - - - Key: |+ > ^Start the literal text+ -->+ <RegExpr context="start-literal-block-withdash" lookAhead="true" column="0"+ String="^&space;*(\?&space;*|\-&space;+){1,6}((&keyDQ;|&keySQ;|[^#\-\?\s]|\-[^\s#])((&keyDQ;|&keySQ;|[^#])*[^#\w\|<>"'])?)?&literalOp;&endValue;" />++ <!-- CASE 5: Literal/folded operator after a data type or other content.+ Ex:+ > !!type |+ > ^Start the literal text+ > key1:+ > key2:+ > !!type |+ > ^Start the literal text+ -->+ <RegExpr context="start-literal-block-other" lookAhead="true" column="0"+ String="^&space;*(([&\*]|!!)\S+\s+)+&literalOp;&endValue;" />+ </context>++ <!-- If the line with the literal operator starts with the "-" or "?" operator.+ NOTE: The indentation capture is limited to 6 nested operators. -->+ <context attribute="Normal Text" lineEndContext="#pop" name="start-literal-block-withdash">+ <!-- With Key: Capture the Key indentation -->+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s2" String="^(&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s3" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s4" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s5" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s6" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s7" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>+ <!-- Without Key: Capture the indentation of the last operator "?" or "-" -->+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s1" String="^(&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s2" String="^(&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s3" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s4" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s5" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s6" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>+ </context>+ <!-- Capture the indentation of data type, reference or alias -->+ <context attribute="Normal Text" lineEndContext="#pop" name="start-literal-block-other">+ <!-- The text with the same indentation will be considered literal -->+ <RegExpr attribute="Data Types" context="#pop!literal-block-after-data" String="^(&space;+)!!\S+" column="0" />+ <RegExpr attribute="Alias" context="#pop!literal-block-after-data" String="^(&space;+)&\S+" column="0" />+ <RegExpr attribute="Reference" context="#pop!literal-block-after-data" String="^(&space;+)\*\S+" column="0" />+ <!-- The text after a space will be considered literal (empty text is captured) -->+ <RegExpr attribute="Data Types" context="#pop!literal-block-withdash-s1" String="^()!!\S+" column="0" />+ <RegExpr attribute="Alias" context="#pop!literal-block-withdash-s1" String="^()&\S+" column="0" />+ <RegExpr attribute="Reference" context="#pop!literal-block-withdash-s1" String="^()\*\S+" column="0" />+ </context>++ <!-- Highlight data/attribute before the literal operator (Note that if there is a line+ break within a string or bracket, the literal line will not be highlighted). -->+ <context attribute="Normal Text" lineEndContext="#pop#pop" name="before-literal-operator">+ <RegExpr attribute="Literal/Folded Operator" context="#pop!end-literal-operator" String="&literalOp;(?=&endValue;)" beginRegion="Literal" />++ <RegExpr attribute="Error" context="#pop#pop" String="([&\*]|!!)\S*&literalOp;(?=&endValue;)" />+ <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />+ <RegExpr attribute="Alias" context="#stay" String="&\S+" />+ <RegExpr attribute="Reference" context="#stay" String="\*\S+" />++ <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />+ <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />+ <DetectChar attribute="String" context="string" char="'" beginRegion="String" />+ <DetectChar attribute="String" context="stringx" char=""" beginRegion="String" />+ </context>+ <context attribute="Attribute" lineEndContext="#pop#pop" name="key-before-literal-operator">+ <IncludeRules context="before-literal-operator" />+ <DetectChar attribute="Operator" context="#stay" char="?" />+ </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="end-literal-operator">+ <DetectChar attribute="Comment" context="#pop!comment" char="#" />+ </context>++ <!-- Common rules for the content of the literal blocks -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-default">+ <!-- End literal/folded block -->+ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <!-- Find literal/folded operator -->+ <RegExpr context="before-literal-operator" String="\S" lookAhead="true" />+ </context>+ <context attribute="Normal Text" lineEndContext="#pop" name="literal-block-key-default">+ <!-- End literal/folded block -->+ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <!-- Detect Key before the literal/folded operator -->+ <RegExpr attribute="Key" context="key-before-literal-operator" String="&keyAfterOp;:(?=\s)" />+ <RegExpr attribute="Normal Text" context="#pop" String="\S" lookAhead="true" endRegion="Literal" />+ </context>++ <!-- Content of the literal block: -->++ <!-- If the literal operator is starting the line (after a space, use block indentation) -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-only-operator" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1.*$" dynamic="true" column="0" />++ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <DetectChar attribute="Comment" context="comment" char="#" />+ <RegExpr context="#pop" String="\S" lookAhead="true" endRegion="Literal" />+ </context>+ <!-- If the literal operator is the first character of a line (or after header) -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-simple">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^\s.*$" column="0" />++ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <DetectChar attribute="Comment" context="comment" char="#" />+ </context>+ <!-- If there is a data type or other content before the liretal operator (use block indentation) -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-after-data" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1.*$" dynamic="true" column="0" />++ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <RegExpr context="before-literal-operator" String="\S" lookAhead="true" />+ </context>+ <!-- If there is a key before the literal operator -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1\s.*$" dynamic="true" column="0" />++ <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />+ <!-- Attribute of the Key (the Key was previously highlighted) -->+ <RegExpr context="key-before-literal-operator" String="\S" lookAhead="true" />+ </context>++ <!-- If there are dashes/"?" before the literal operator -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s1" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s2" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2&space;\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s3" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3&space;{2}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s4" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4&space;{3}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s5" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4%5&space;{4}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s6" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4%5%6&space;{5}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-default" />+ </context>+ <!-- If there are dashes/"?" and a Key before the literal operator -->+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s2" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2&space;\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s3" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3&space;{2}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s4" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4&space;{3}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s5" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4%5&space;{4}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s6" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4%5%6&space;{5}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context>+ <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s7" dynamic="true">+ <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1%2%3%4%5%6%7&space;{6}\s.*$" dynamic="true" column="0" />+ <IncludeRules context="literal-block-key-default" />+ </context> </contexts> <itemDatas>@@ -186,7 +551,15 @@ <itemData name="Directive" defStyleNum="dsOthers" /> <itemData name="Operator" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" />+ <itemData name="Escaped Character" defStyleNum="dsSpecialChar" />+ <itemData name="Literal/Folded Operator" defStyleNum="dsString" bold="1" />+ <itemData name="Literal/Folded Block" defStyleNum="dsNormal" />+ <itemData name="Null" defStyleNum="dsChar" />+ <itemData name="Boolean" defStyleNum="dsChar" />+ <itemData name="Integer" defStyleNum="dsDecVal" />+ <itemData name="Float" defStyleNum="dsFloat" /> <itemData name="Error" defStyleNum="dsError" />+ <itemData name="Alert" defStyleNum="dsAlert" backgroundColor="#EF9A9A" /> </itemDatas> </highlighting>
xml/zsh.xml view
@@ -8,7 +8,7 @@ <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following --> <!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- valid character in a file name --> ]>-<language name="Zsh" version="2" kateversion="2.4" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Kolberg (bulldog98@kubuntu-de.org)" license="LGPL">+<language name="Zsh" version="3" kateversion="2.4" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Kolberg (bulldog98@kubuntu-de.org)" license="LGPL"> <!-- (c) 2011 by Jonathan Kolberg (bulldog98@kubuntu-de.org) modified for zsh -->@@ -598,7 +598,7 @@ <!-- handle here-string --> <RegExpr attribute="Redirection" context="#stay" String="\d*<<<" /> <!-- handle here document -->- <StringDetect attribute="Redirection" context="HereDoc" String="<<" lookAhead="true" />+ <Detect2Chars attribute="Redirection" context="HereDoc" char="<" char1="<" lookAhead="true" /> <!-- handle process subst --> <RegExpr attribute="Redirection" context="ProcessSubst" String="[<>]\(" /> <!-- handle redirection -->@@ -642,7 +642,7 @@ <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" /> <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" /> <StringDetect attribute="Redirection" context="SubstFile" String="$(<" />- <StringDetect attribute="Variable" context="SubstCommand" String="$(" />+ <Detect2Chars attribute="Variable" context="SubstCommand" char="$" char1="(" /> <DetectChar attribute="Backquote" context="SubstBackq" char="`" /> <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" /> </context>