diff options
Diffstat (limited to 'kate/data/awk.xml')
-rw-r--r-- | kate/data/awk.xml | 151 |
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=""" context="String" attribute="String"/> + <AnyChar String="!%&*+,-./:;<=>?^|" 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=""" 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=""" 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=""" 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> |