<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">

<language name="Jolie" version="1.0alpha1" kateversion="2.5" section="Scripts" extensions="*.ol;*.iol" author="Fabrizio Montesi" license="LGPLv2.1" casesensitive="true" priority="5" mimetype="application/jolie">
	<highlighting>
		<list name="keywords">
			<item> csets </item>
			<item> type </item>
			<item> raw </item>
			<item> any </item>
			<item> undefined </item>
			<item> void </item>
			<item> default </item>
			<item> if </item>
			<item> for </item>
			<item> while </item>
			<item> spawn </item>
			<item> foreach </item>
			<item> else </item>
			<item> define </item>
			<item> main </item>
			<item> include </item>
			<item> constants </item>
			<item> inputPort </item>
			<item> outputPort </item>
			<item> interface </item>
			<item> execution </item>
			<item> cset </item>
			<item> nullProcess </item>
			<item> RequestResponse </item>
			<item> OneWay </item>
			<item> throw </item>
			<item> throws </item>
			<item> install </item>
			<item> scope </item>
			<item> embedded </item>
			<item> init </item>
			<item> synchronized </item>
			<item> global </item>
			<item> is_defined </item>
			<item> is_int </item>
			<item> is_bool </item>
			<item> is_long </item>
			<item> is_string </item>
			<item> bool </item>
			<item> long </item>
			<item> int </item>
			<item> string </item>
			<item> double </item>
			<item> undef </item>
			<item> with </item>
			<item> Location </item>
			<item> Protocol </item>
			<item> Interfaces </item>
			<item> Aggregates </item>
			<item> Redirects </item>
		</list>
		<contexts>
			<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
				<DetectSpaces/>
				<keyword attribute="Keyword" context="#stay" String="keywords"/>
				<Int attribute="Decimal" context="#stay" />
				<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
				<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
				<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
				<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
				<DetectChar attribute="String" context="String" char="&quot;" beginRegion="String"/>
			</context>
			<context attribute="Region Marker" lineEndContext="#pop" name="Region Marker" />
			<context attribute="String" lineEndContext="#stay" name="String">
				<!--<LineContinue attribute="String" context="#stay"/>-->
				<HlCStringChar attribute="String Char" context="#stay"/>
				<!--<DetectChar attribute="String" context="#pop" char="&quot;"/>-->
				<DetectChar attribute="String" context="#pop" char="&quot;" endRegion="String"/>
			</context>
			<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>
			<itemData name="Normal Text" defStyleNum="dsNormal" />
			<itemData name="Keyword" defStyleNum="dsKeyword" />
			<itemData name="Decimal" defStyleNum="dsDecVal" />
			<itemData name="String" defStyleNum="dsString" />
			<itemData name="Comment" defStyleNum="dsComment" />
			<itemData name="Symbol" defStyleNum="dsNormal"/>
			<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
			<itemData name="String Char" defStyleNum="dsChar"/>
			<itemData name="Operation" defStyleNum="dsFunction" />
		</itemDatas>
		<general>
			<comments>
				<comment name="singleLine" start="//" />
				<comment name="multiLine" start="/*" end="*/" />
			</comments>
			<keywords casesensitive="true" />
		</general>
	</highlighting>
</language>
