<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language>
<!-- Python syntax highlightning v0.9 by Per Wigren -->
<!-- Python syntax highlighting v1.9 by Michael Bueker (improved keyword differentiation) -->
<!-- Python syntax highlighting v1.97 by Paul Giannaros -->
<!-- Python syntax highlighting v1.99 by Primoz Anzur -->
<language name="Python" version="2.00" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
	<highlighting>
		<list name="prep">
			<item> import </item>
			<item> from </item>
			<item> as </item>
		</list>
		<list name="defs">
			<item> class </item>
			<item> def </item>
			<item> del </item>
			<item> global </item>
			<item> lambda </item>
		</list>
		<list name="operators">
			<item> and </item>
			<item> assert </item>
			<item> in </item>
			<item> is </item>
			<item> not </item>
			<item> or </item>
		</list>
		<list name="commands">
			<item> exec </item>
			<item> print </item>
		</list>
		<list name="flow">
			<item> break </item>
			<item> continue </item>
			<item> elif </item>
			<item> else </item>
			<item> except </item>
			<item> finally </item>
			<item> for </item>
			<item> if </item>
			<item> pass </item>
			<item> raise </item>
			<item> return </item>
			<item> try </item>
			<item> while </item>
			<item> yield </item>
		</list>
		<list name="builtinfuncs">
			<item> __future__ </item>
			<item> __import__ </item>
			<item> __name__ </item>
			<item> abs </item>
			<item> all </item>
			<item> any </item>
			<item> apply </item>
			<item> basestring </item>
			<item> bool </item>
			<item> buffer </item>
			<item> callable </item>
			<item> chr </item>
			<item> classmethod </item>
			<item> cmp </item>
			<item> coerce </item>
			<item> compile </item>
			<item> complex </item>
			<item> delattr </item>
			<item> dict </item>
			<item> dir </item>
			<item> divmod </item>
			<item> enumerate </item>
			<item> eval </item>
			<item> execfile </item>
			<item> file </item>
			<item> filter </item>
			<item> float </item>
			<item> frozenset </item>
			<item> getattr </item>
			<item> globals </item>
			<item> hasattr </item>
			<item> hash </item>
			<item> hex </item>
			<item> id </item>
			<item> input </item>
			<item> int </item>
			<item> intern </item>
			<item> isinstance </item>
			<item> issubclass </item>
			<item> iter </item>
			<item> len </item>
			<item> list </item>
			<item> locals </item>
			<item> long </item>
			<item> map </item>
			<item> max </item>
			<item> min </item>
			<item> object </item>
			<item> oct </item>
			<item> open </item>
			<item> ord </item>
			<item> pow </item>
			<item> property </item>
			<item> range </item>
			<item> raw_input </item>
			<item> reduce </item>
			<item> reload </item>
			<item> repr </item>
			<item> reversed </item>
			<item> round </item>
			<item> set </item>
			<item> setattr </item>
			<item> slice </item>
			<item> sorted </item>
			<item> staticmethod </item>
			<item> str </item>
			<item> sum </item>
			<item> super </item>
			<item> tuple </item>
			<item> type </item>
			<item> unichr </item>
			<item> unicode </item>
			<item> vars </item>
			<item> xrange </item>
			<item> zip </item>
		</list>
		<list name="specialvars">
			<item> None </item>
			<item> self </item>
			<item> True </item>
			<item> False </item>
			<item> NotImplemented </item>
			<item> Ellipsis </item>
		</list>
		<list name="bindings">
			<item> SIGNAL </item>
			<item> SLOT </item>
			<item> connect </item>
		</list>
		<list name="overloaders">
			<item>__new__</item>
			<item>__init__</item>
			<item>__del__</item>
			<item>__repr__</item>
			<item>__str__</item>
			<item>__lt__</item>
			<item>__le__</item>
			<item>__eq__</item>
			<item>__ne__</item>
			<item>__gt__</item>
			<item>__ge__</item>
			<item>__cmp__</item>
			<item>__rcmp__</item>
			<item>__hash__</item>
			<item>__nonzero__</item>
			<item>__unicode__</item>
		</list>
		<list name="exceptions">
			<item>ArithmeticError</item>
			<item>AssertionError</item>
			<item>AttributeError</item>
			<item>BaseException</item>
			<item>DeprecationWarning</item>
			<item>EnvironmentError</item>
			<item>EOFError</item>
			<item>Exception</item>
			<item>FloatingPointError</item>
			<item>FutureWarning</item>
			<item>GeneratorExit</item>
			<item>IOError</item>
			<item>ImportError</item>
			<item>ImportWarning</item>
			<item>IndexError</item>
			<item>KeyError</item>
			<item>KeyboardInterrupt</item>
			<item>LookupError</item>
			<item>MemoryError</item>
			<item>NameError</item>
			<item>NotImplementedError</item>
			<item>OSError</item>
			<item>OverflowError</item>
			<item>PendingDeprecationWarning</item>
			<item>ReferenceError</item>
			<item>RuntimeError</item>
			<item>RuntimeWarning</item>
			<item>StandardError</item>
			<item>StopIteration</item>
			<item>SyntaxError</item>
			<item>SyntaxWarning</item>
			<item>SystemError</item>
			<item>SystemExit</item>
			<item>TypeError</item>
			<item>UnboundLocalError</item>
			<item>UserWarning</item>
			<item>UnicodeError</item>
			<item>UnicodeWarning</item>
			<item>UnicodeEncodeError</item>
			<item>UnicodeDecodeError</item>
			<item>UnicodeTranslateError</item>
			<item>ValueError</item>
			<item>Warning</item>
			<item>WindowsError</item>
			<item>ZeroDivisionError</item>
		</list>
		<contexts>
			<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
				<keyword attribute="Preprocessor" String="prep" context="#stay"/>
				<keyword attribute="Definition Keyword" String="defs" context="#stay"/>
				<keyword attribute="Operator" String="operators" context="#stay"/>
				<keyword attribute="Command Keyword" String="commands" context="#stay"/>
				<keyword attribute="Flow Control Keyword" String="flow" context="#stay"/>
				<keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>
				<keyword attribute="Special Variable" String="specialvars" context="#stay"/>
				<keyword attribute="Extensions" String="bindings" context="#stay"/>
				<keyword attribute="Exceptions" String="exceptions" context="#stay"/>
				<keyword attribute="Overloaders" String="overloaders" context="#stay"/>
				<RegExpr attribute="Normal" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>

				<RegExpr attribute="Complex" String=" ((([0-9]*\.[0-9]+|[0-9]+\.)|([0-9]+|([0-9]*\.[0-9]+|[0-9]+\.))[eE](\+|-)?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
				<RegExpr attribute="Float" String="([0-9]+\.[0-9]*|\.[0-9]+)([eE][0-9]+)?" context="#stay"/>
				<RegExpr attribute="Int" String="([1-9][0-9]*([eE][0-9]+)?|0)" context="#stay"/>
				<RegExpr attribute="Long" String="[1-9][0-9]*([eE][0-9.]+)?[Ll]" context="#stay"/>
				<RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
				<RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
  
				<RegExpr attribute="Raw String" String="[rR]'''" context="Raw Tripple A-string"/>
				<RegExpr attribute="Raw String" String="[rR]&quot;&quot;&quot;" context="Raw Tripple Q-string"/>

				<RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
				<RegExpr attribute="Raw String" String="[rR]&quot;" context="Raw Q-string"/>

				<DetectChar attribute="Comment" char="#" context="Hash comment"/>
				<RegExpr attribute="Comment" String="^\s*u?'''" context="Tripple A-comment" beginRegion="Tripple A-region"/>
				<RegExpr attribute="Comment" String="^\s*u?&quot;&quot;&quot;" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>

				<StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
				<StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
				<DetectChar attribute="String" char="'" context="Single A-string"/>
				<DetectChar attribute="String" char="&quot;" context="Single Q-string"/>
				
				<DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
				<DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
				
				<RegExpr attribute="Operator" String="[+*/%\|=;\!&lt;&gt;!^&amp;~-]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>

			</context>
			
			<context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
				<IncludeRules context="Normal" />
			</context>
			
			<context name="Hash comment" attribute="Comment" lineEndContext="#pop">
				<IncludeRules context="##Alerts" />
			</context>

			<context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
				<StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Tripple A-region"/>
				<IncludeRules context="##Alerts" />
			</context>

			<context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
				<HlCChar attribute="Comment" context="#stay"/>
				<StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
				<IncludeRules context="##Alerts" />
			</context>

			<context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
				<HlCStringChar attribute="String Char" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/> 
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
			</context>

			<context name="Raw Tripple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
				<HlCStringChar attribute="Raw String" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/> 
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
			</context>

			<context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
				<HlCStringChar attribute="String Char" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
			</context>

			<context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
				<HlCStringChar attribute="Raw String" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
			</context>

			<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
				<HlCStringChar attribute="Comment" context="#stay"/>
				<DetectChar attribute="Comment" char="'" context="#pop"/>
				<IncludeRules context="##Alerts" />
			</context>

			<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
				<HlCStringChar attribute="Comment" context="#stay"/>
				<DetectChar attribute="Comment" char="&quot;" context="#pop"/>
				<IncludeRules context="##Alerts" />
			</context>

			<context name="Single A-string" attribute="String" lineEndContext="#stay">
				<HlCStringChar attribute="String Char" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<DetectChar attribute="String" char="'" context="#pop"/>
			</context>

			<context name="Single Q-string" attribute="String" lineEndContext="#stay">
				<HlCStringChar attribute="String Char" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<DetectChar attribute="String" char="&quot;" context="#pop"/>
			</context>

			<context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
				<HlCStringChar attribute="Raw String" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<DetectChar attribute="Raw String" char="'" context="#pop"/>
			</context>

			<context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
				<HlCStringChar attribute="Raw String" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
				<DetectChar attribute="Raw String" char="&quot;" context="#pop"/>
			</context>


		</contexts>
		<itemDatas>
			<itemData name="Normal Text" defStyleNum="dsNormal"/>
			<itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
			<itemData name="Operator" defStyleNum="dsNormal"/>
			<itemData name="String Substitution" defStyleNum="dsNormal"/>
			<itemData name="Command Keyword" defStyleNum="dsKeyword"/>
			<itemData name="Flow Control Keyword" defStyleNum="dsKeyword"/>
			<itemData name="Builtin Function" defStyleNum="dsDataType"/>
			<itemData name="Special Variable" defStyleNum="dsOthers"/>
			<itemData name="Extensions" defStyleNum="dsOthers" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
			<itemData name="Exceptions" defStyleNum="dsOthers" color="#054d00" selColor="#ffffff" bold="1" italic="0"/>
			<itemData name="Overloaders" defStyleNum="dsOthers" color="#000e52" selColor="#ffffff" bold="1" italic="0"/>
			<itemData name="Preprocessor" defStyleNum="dsChar"/>
			<itemData name="String Char" defStyleNum="dsChar"/>
			<itemData name="Long" defStyleNum="dsOthers"/>
			<itemData name="Float" defStyleNum="dsFloat"/>
			<itemData name="Int" defStyleNum="dsDecVal"/>
			<itemData name="Hex" defStyleNum="dsOthers"/>
			<itemData name="Octal" defStyleNum="dsOthers"/>
			<itemData name="Complex" defStyleNum="dsOthers"/>
			<itemData name="Comment" defStyleNum="dsComment"/>
			<itemData name="String" defStyleNum="dsString"/>
			<itemData name="Raw String" defStyleNum="dsString"/>
		</itemDatas>
	</highlighting>
   <general>
     <folding indentationsensitive="1" />
     <emptyLines>
       <emptyLine regexpr="\s+" casesensitive="false"/>
       <emptyLine regexpr="\s*#.*$" casesensitive="false"/>
     </emptyLines>
     <comments>
        <comment name="singleLine" start="#" position="afterwhitespace"/>
     </comments>
     <keywords casesensitive="1" />
   </general>
</language>
