<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="ActionScript 2.0" version="2" kateversion="5.0" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)">
  <highlighting>
    
    <list name="properties">
      <item> _accProps </item>
      <item> _focusrect </item>
      <item> _global </item>
      <item> _highquality </item>
      <item> _level </item>
      <item> _parent </item>
      <item> _quality </item>
      <item> _root </item>
      <item> _soundbuftime </item>
      <item> maxscroll </item>
      <item> scroll </item>
      <item> this </item>
    </list>
    
    <list name="global_functions">
      <item> asfunction </item>
      <item> call </item>
      <item> chr </item>
      <item> clearInterval </item>
      <item> duplicateMovieClip </item>
      <item> escape </item>
      <item> eval </item>
      <item> fscommand </item>
      <item> getProperty </item>
      <item> getTimer </item>
      <item> getURL </item>
      <item> getVersion </item>
      <item> gotoAndPlay </item>
      <item> gotoAndStop </item>
      <item> ifFrameLoaded </item>
      <item> int </item>
      <item> isFinite </item>
      <item> isNaN </item>
      <item> length </item>
      <item> loadMovie </item>
      <item> loadMovieNum </item>
      <item> loadVariables </item>
      <item> loadVariablesNum </item>
      <item> mbchr </item>
      <item> mblength </item>
      <item> mbord </item>
      <item> mbsubstring </item>
      <item> nextFrame </item>
      <item> nextScene </item>
      <item> on </item>
      <item> onClipEvent </item>
      <item> ord </item>
      <item> parseFloat </item>
      <item> parseInt </item>
      <item> play </item>
      <item> prevFrame </item>
      <item> prevScene </item>
      <item> print </item>
      <item> printAsBitmap </item>
      <item> printAsBitmapNum </item>
      <item> printNum </item>
      <item> random </item>
      <item> removeMovieClip </item>
      <item> setInterval </item>
      <item> setProperty </item>
      <item> showRedrawRegions </item>
      <item> startDrag </item>
      <item> stop </item>
      <item> stopAllSounds </item>
      <item> stopDrag </item>
      <item> substring </item>
      <item> targetPath </item>
      <item> tellTarget </item>
      <item> toggleHighQuality </item>
      <item> trace </item>
      <item> typeof </item>
      <item> unescape </item>
      <item> unloadMovie </item>
      <item> unloadMovieNum </item>
    <item> updateAfterEvent </item>
    </list>
      
    <list name="classes">
      <item> Accessibility </item>
      <item> Accordion </item>
      <item> Alert </item>
      <item> Binding </item>
      <item> Button </item>
      <item> Camera </item>
      <item> CellRenderer </item>
      <item> CheckBox </item>
      <item> Collection </item>
      <item> Color </item>
      <item> ComboBox </item>
      <item> ComponentMixins </item>
      <item> ContextMenu </item>
      <item> ContextMenuItem </item>
      <item> CustomActions </item>
      <item> CustomFormatter </item>
      <item> CustomValidator </item>
      <item> DataGrid </item>
      <item> DataHolder </item>
      <item> DataProvider </item>
      <item> DataSet </item>
      <item> DataType </item>
      <item> Date </item>
      <item> DateChooser </item>
      <item> DateField </item>
      <item> Delta </item>
      <item> DeltaItem </item>
      <item> DeltaPacket </item>
      <item> DepthManager </item>
      <item> EndPoint </item>
      <item> Error </item>
      <item> FaultEvent </item>
      <item> FocusManager </item>
      <item> Form </item>
      <item> Function </item>
      <item> Iterator </item>
      <item> Key </item>
      <item> Label </item>
      <item> List </item>
      <item> LoadVars </item>
      <item> Loader </item>
      <item> LocalConnection </item>
      <item> Log </item>
      <item> Math </item>
      <item> Media </item>
      <item> Menu </item>
      <item> MenuBar </item>
      <item> Microphone </item>
      <item> Mouse </item>
      <item> MovieClip </item>
      <item> MovieClipLoader </item>
      <item> NetConnection </item>
      <item> NetStream </item>
      <item> Number </item>
      <item> NumericStepper </item>
      <item> PendingCall </item>
      <item> PopUpManager </item>
      <item> PrintJob </item>
      <item> ProgressBar </item>
      <item> RDBMSResolver </item>
      <item> RadioButton </item>
      <item> RelayResponder </item>
      <item> SOAPCall </item>
      <item> Screen </item>
      <item> ScrollPane </item>
      <item> Selection </item>
      <item> SharedObject </item>
      <item> Slide </item>
      <item> Sound </item>
      <item> Stage </item>
      <item> StyleManager </item>
      <item> System </item>
      <item> TextArea </item>
      <item> TextField </item>
      <item> TextFormat </item>
      <item> TextInput </item>
      <item> TextSnapshot </item>
      <item> TransferObject </item>
      <item> Tree </item>
      <item> TreeDataProvider </item>
      <item> TypedValue </item>
      <item> UIComponent </item>
      <item> UIEventDispatcher </item>
      <item> UIObject </item>
      <item> Video </item>
      <item> WebService </item>
      <item> WebServiceConnector </item>
      <item> Window </item>
      <item> XML </item>
      <item> XMLConnector </item>
      <item> XUpdateResolver </item>
    </list>
    
    <list name="keywords">
      <item> add </item>
      <item> and </item>
      <item> break </item>
      <item> case </item>
      <item> catch </item>
      <item> class </item>
      <item> continue </item>
      <item> default </item>
      <item> delete </item>
      <item> do </item>
      <item> dynamic </item>
      <item> else </item>
      <item> eq </item>
      <item> extends </item>
      <item> finally </item>
      <item> for </item>
      <item> function </item>
      <item> ge </item>
      <item> get </item>
      <item> gt </item>
      <item> if </item>
      <item> implements </item>
      <item> import </item>
      <item> in </item>
      <item> instanceof </item>
      <item> interface </item>
      <item> intrinsic </item>
      <item> le </item>
      <item> lt </item>
      <item> ne </item>
      <item> new </item>
      <item> not </item>
      <item> or </item>
      <item> private </item>
      <item> public </item>
      <item> return </item>
      <item> set </item>
      <item> static </item>
      <item> switch </item>
      <item> throw </item>
      <item> try </item>
      <item> var </item>
      <item> void </item>
      <item> while </item>
      <item> with </item>
    </list>
    
    <list name="const">
      <item> false </item>
      <item> Infinity </item>
      <item> -Infinity </item>
      <item> NaN </item>
      <item> newline </item>
      <item> null </item>
      <item> true </item>
      <item> undefined </item>
    </list>
    
    <list name="types">
      <item> Array </item>
      <item> Boolean </item>
      <item> Number </item>
      <item> Object </item>
      <item> String </item>
      <item> Void </item>
    </list>
    
    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
        <!-- Comment next line if you don't use Javadoc tool -->
        <IncludeRules context="##Javadoc"/>
        <keyword attribute="Properties" context="#stay" String="properties"/>
        <keyword attribute="Global Functions" context="#stay" String="global_functions"/>
        <keyword attribute="Classes" context="#stay" String="classes"/>
        <keyword attribute="Keyword" context="#stay" String="keywords"/>
        <keyword attribute="Constants" context="#stay" String="const"/>
        <keyword attribute="Data Type" context="#stay" String="types"/>
        <Float attribute="Float" context="#stay">
          <AnyChar String="fF" attribute="Float" context="#stay"/>
        </Float>
        <HlCOct attribute="Octal" context="#stay"/>
        <HlCHex attribute="Hex" context="#stay"/>
        <Int attribute="Decimal" context="#stay">
          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
        </Int>
        <HlCChar attribute="Char" context="#stay"/>
        <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
        <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
        <DetectChar attribute="String" context="String" char="&quot;"/> 
        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/> 
        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>  
        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
        <RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+" />  
        <RegExpr attribute="Keyword" context="StaticImports" String="\b(import\s+static)\b" />
        <RegExpr attribute="Keyword" context="Imports" String="\b(package|import)\b" /> 
        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />
        <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" /> 
        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
      </context>
      <context attribute="String" lineEndContext="#pop" name="String">
        <LineContinue attribute="String" context="#stay"/>
        <HlCStringChar attribute="String Char" context="#stay"/>
        <DetectChar attribute="String" context="#pop" char="&quot;"/>
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">  
        <RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="StaticImports">
        <RegExpr attribute="StaticImports" context="#pop" String="\s*.*$" />
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
        <RegExpr attribute="Imports" context="#pop" String="\s*.*$" />
      </context>
      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
      <itemData name="Keyword"      defStyleNum="dsKeyword"/>
      <itemData name="Function"     defStyleNum="dsFunction"/>
      <itemData name="StaticImports" defStyleNum="dsImport"/>
      <itemData name="Imports"      defStyleNum="dsImport"/>
      <itemData name="Data Type"    defStyleNum="dsDataType"/>
      <itemData name="Decimal"      defStyleNum="dsDecVal"/>
      <itemData name="Octal"        defStyleNum="dsBaseN"/>
      <itemData name="Hex"          defStyleNum="dsBaseN"/>
      <itemData name="Float"        defStyleNum="dsFloat"/>
      <itemData name="Char"         defStyleNum="dsChar"/>
      <itemData name="String"       defStyleNum="dsString"/>
      <itemData name="String Char"  defStyleNum="dsSpecialString"/>
      <itemData name="Comment"      defStyleNum="dsComment"/>
      <itemData name="Symbol"       defStyleNum="dsNormal"/>
      <itemData name="Properties"   defStyleNum="dsAttribute" bold="1"/>
      <itemData name="Global Functions"   defStyleNum="dsOperator" bold="1"/>
      <itemData name="Classes"   defStyleNum="dsBuiltIn" bold="1"/>
      <itemData name="Constants" defStyleNum="dsConstant" bold="1"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="//"/>
      <comment name="multiLine" start="/*" end="*/"/>
    </comments>
    <keywords casesensitive="1"/>
  </general>
</language>
