summaryrefslogtreecommitdiffstats
path: root/kate/data/awk.xml
diff options
context:
space:
mode:
Diffstat (limited to 'kate/data/awk.xml')
-rw-r--r--kate/data/awk.xml151
1 files changed, 124 insertions, 27 deletions
diff --git a/kate/data/awk.xml b/kate/data/awk.xml
index bdfc275c9..28a2b06d8 100644
--- a/kate/data/awk.xml
+++ b/kate/data/awk.xml
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
-<language name="AWK" version="0.93" kateversion="2.5" section="Scripts" extensions="*.awk" mimetype="text/x-awk">
+<language name="AWK" version="0.92" kateversion="2.3" section="Scripts"
+ extensions="*.awk" mimetype="text/x-awk" indenter="cstyle"
+ license="LGPL">
+<!-- patched by igli#kate@irc:chat.freenode.net -->
<highlighting>
<list name="keywords">
<item>if</item>
@@ -62,45 +65,139 @@
<item>fflush</item>
<item>system</item>
</list>
+ <list name="special">
+ <item> BEGIN </item>
+ <item> END </item>
+ </list>
+
+<contexts>
+<!-- START CONTEXTS -->
+<context name="Pattern" attribute="Normal" lineEndContext="#stay">
+ <DetectChar char="{" context="Block" attribute="Keyword" beginRegion="block" />
+ <DetectChar char="}" attribute="Error" context="#stay"/>
+ <DetectChar char="/" firstNonSpace="true" lookAhead="true" context="MatchPattern"/>
+ <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" />
+ <IncludeRules context="base" />
+ <keyword String="special" attribute="Error" context="#stay"/>
+</context>
+
+<context name="base">
+ <DetectSpaces />
+ <DetectChar char="#" context="Comment" attribute="Comment"/>
+ <DetectChar char="~" context="Match" attribute="Operator"/>
+ <DetectChar char="&quot;" context="String" attribute="String"/>
+ <AnyChar String="!%&amp;*+,-./:;&lt;=&gt;?^|" attribute="Operator" 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"/>
+</context>
+
+<context name="String" attribute="String" lineEndContext="#stay">
+ <DetectChar char="&quot;" attribute="String" context="#pop"/>
+ <HlCStringChar attribute="Escape" context="#stay"/>
+ <DetectChar char="\" context="Escape" attribute="Operator"/>
+</context>
+
+<context name="Comment" attribute="Comment" lineEndContext="#pop">
+ <IncludeRules context="##Alerts"/>
+</context>
- <contexts>
+<context name="Escape" attribute="Normal" lineEndContext="#pop">
+ <RegExpr String="." attribute="String" context="#pop"/>
+</context>
- <context name="Base" attribute="Normal" lineEndContext="#stay">
- <RegExpr String="\b(BEGIN|END)\b" attribute="Pattern" context="#stay" />
- <DetectChar char="{" attribute="Keyword" context="#stay" beginRegion="block" />
- <DetectChar char="}" attribute="Keyword" context="#stay" endRegion="block" />
- <DetectChar char="#" attribute="Comment" context="Comment" />
- <DetectChar char="&quot;" attribute="String" context="String"/>
- <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"/>
- <HlCStringChar attribute="Base" context="#stay"/>
- </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"/>
+</context>
+<context name="Regex" attribute="Regex" lineEndContext="#stay">
+ <IncludeRules context="regex"/>
+ <DetectChar char="/" context="#pop#pop" attribute="Regex Op"/>
+</context>
+<context name="regex">
+ <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"/>
+</context>
+<context name="Regex Escape" attribute="Normal" lineEndContext="#pop">
+ <RegExpr String="." attribute="Regex" context="#pop"/>
+</context>
- <context name="String" attribute="String" lineEndContext="#stay">
- <DetectChar char="&quot;" attribute="String" context="#pop"/>
- <HlCStringChar attribute="String" context="#stay"/>
- </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"/>
+ <DetectChar char="\" context="Regex Escape" attribute="Regex Op"/>
+ <Detect2Chars char="-" char1="]" context="Regex Escape" 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="Comment" attribute="Comment" lineEndContext="#pop">
- <IncludeRules context="##Alerts" />
- </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>
+<context name="RegexPattern" attribute="Regex" lineEndContext="#stay">
+ <IncludeRules context="regex"/>
+ <DetectChar char="/" context="CheckRange" attribute="Regex Op"/>
+</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>
+<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>
+<context name="Pattern2" attribute="Regex" lineEndContext="#stay">
+ <IncludeRules context="regex"/>
+ <DetectChar char="/" context="#pop#pop#pop#pop#pop" attribute="Regex Op"/>
+</context>
- </contexts>
+<!-- END OF CONTEXTS -->
+</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
- <itemData name="Builtin" defStyleNum="dsDataType"/>
+ <itemData name="Builtin" defStyleNum="dsNormal" color="#CC8822"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
- <itemData name="Pattern" defStyleNum="dsString"/>
- <itemData name="Field" defStyleNum="dsOthers"/>
+ <itemData name="Escape" defStyleNum="dsString" color="#4A5704"/>
+ <itemData name="Field" defStyleNum="dsDataType"/>
+ <itemData name="Error" defStyleNum="dsError"/>
+ <itemData name="Special" defStyleNum="dsKeyword" color="#FF9225" bold="0"/>
+ <itemData name="Operator" defStyleNum="dsNormal" color="#FF80E0"/>
+ <itemData name="Regex" defStyleNum="dsString" color="#4A5704"/>
+ <itemData name="Regex Op" defStyleNum="dsOthers" color="#FF80E0"/>
+ <itemData name="CharClass" defStyleNum="dsString" color="#008080"/>
+ <itemData name="Custom" defStyleNum="dsString" color="#449944"/>
</itemDatas>
</highlighting>
<general>