<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Pig syntax highlighting v3.0, Copyright © 2012 Johannes Schwenk, johannes.schwenk@adition.com -->
<language name="Pig" version="6" kateversion="3.4" section="Scripts" extensions="*.pig" mimetype="application/x-pig;text/x-pig" casesensitive="0" author="Johannes Schwenk, johannes.schwenk@adition.com" license="GPL">
<highlighting>
<list name="keywords">
<item>load</item>
<item>store</item>
<item>filter</item>
<item>foreach</item>
<item>order</item>
<item>arrange</item>
<item>distinct</item>
<item>cogroup</item>
<item>join</item>
<item>cross</item>
<item>union</item>
<item>onschema</item>
<item>split</item>
<item>into</item>
<item>if</item>
<item>all</item>
<item>any</item>
<item>as</item>
<item>by</item>
<item>using</item>
<item>inner</item>
<item>outer</item>
<item>parallel</item>
<item>group</item>
<item>continuously</item>
<item>window</item>
<item>tuples</item>
<item>generate</item>
<item>eval</item>
<item>define</item>
<item>returns</item>
<item>input</item>
<item>output</item>
<item>ship</item>
<item>cache</item>
<item>stream</item>
<item>through</item>
<item>seconds</item>
<item>minutes</item>
<item>hours</item>
<item>asc</item>
<item>desc</item>
<item>null</item>
<item>left</item>
<item>right</item>
<item>full</item>
</list>
<list name="grunts">
<item>cat</item>
<item>cd</item>
<item>cp</item>
<item>copyFromLocal</item>
<item>copyToLocal</item>
<item>define</item>
<item>dump</item>
<item>illustrate</item>
<item>describe</item>
<item>explain</item>
<item>exec</item>
<item>help</item>
<item>kill</item>
<item>ls</item>
<item>mv</item>
<item>mkdir</item>
<item>pwd</item>
<item>quit</item>
<item>register</item>
<item>import</item>
<item>rm</item>
<item>set</item>
</list>
<list name="types">
<item>chararray</item>
<item>bytearray</item>
<item>int</item>
<item>long</item>
<item>float</item>
<item>double</item>
<item>tuple</item>
<item>bag</item>
<item>map</item>
</list>
<list name="operators">
<item>and</item>
<item>is</item>
<item>not</item>
<item>or</item>
<item>eq</item>
<item>neq</item>
<item>gt</item>
<item>lt</item>
<item>gte</item>
<item>lte</item>
<item>matches</item>
</list>
<list name="functions">
<item>flatten</item>
<item>sum</item>
<item>count</item>
<item>min</item>
<item>max</item>
<item>avg</item>
<item>arity</item>
<item>tokenize</item>
<item>diff</item>
<item>size</item>
<item>concat</item>
<item>BinStorage</item>
<item>PigStorage</item>
<item>TextLoader</item>
<item>PigDump</item>
<item>IsEmpty</item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Keyword" String="keywords" context="#stay"/>
<keyword attribute="Operator" String="operators" context="#stay"/>
<keyword attribute="Type" String="types" context="#stay"/>
<keyword attribute="Grunt" String="grunts" context="#stay"/>
<keyword attribute="Function" String="functions" context="#stay"/>
<RegExpr attribute="Statement" String="[%](declare|default)" context="#stay"/>
<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>
<Detect2Chars attribute="Comment" char="/" char1="*" context="Multiline comment" beginRegion="Comment"/>
<DetectChar attribute="String" char="'" context="Single A-string"/>
<!-- <DetectChar attribute="String" char=""" context="Single Q-string"/>-->
<Detect2Chars attribute="Comment" char="-" char1='-' context="Dash comment"/>
<IncludeRules context="Parameter variable" />
</context>
<context name="Parameter variable" attribute="Normal Text" lineEndContext="#pop">
<DetectSpaces />
<RegExpr attribute="Parameter" String="[$][a-zA-Z0-9_]+" context="#stay" />
</context>
<context name="Single A-string" attribute="String" lineEndContext="#pop">
<IncludeRules context="Parameter variable" />
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" char="'" context="#pop"/>
</context>
<!-- <context name="Single Q-string" attribute="String" lineEndContext="#stay">
<IncludeRules context="Parameter variable" />
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" char=""" context="#pop"/>
</context>-->
<context name="Dash comment" attribute="Comment" lineEndContext="#pop">
<LineContinue attribute="Comment" context="#stay"/>
<DetectSpaces />
<IncludeRules context="##Alerts_indent" />
<DetectIdentifier />
</context>
<context name="Multiline comment" attribute="Comment" lineEndContext="#stay">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
</contexts>
<itemDatas>
<!-- Adapted to work with Syntax::Kamelon-->
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Statement" defStyleNum="dsOthers" bold="1" spellChecking="false"/>
<itemData name="Operator" defStyleNum="dsOperator" bold="1" spellChecking="false"/>
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Grunt" defStyleNum="dsAttribute" color="#BA8200" selColor="#FFFFFF" bold="1" italic="0" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" bold="1" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsSpecialChar"/>
<itemData name="Parameter" defStyleNum="dsVariable" color="#25A000" selColor="#FFFFFF" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="1" />
<emptyLines>
<emptyLine regexpr="(?:\s+|\s*#.*)"/>
</emptyLines>
<comments>
<comment name="singleLine" start="--" position="afterwhitespace"/>
<comment name="multiLine" start="/*" end="*/" region="Comment" />
</comments>
<keywords casesensitive="0" />
</general>
</language>