[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    updated syntax highlighting schema for Actionscript 2.0
From:       "Aaron Miller" <armantic101 () gmail ! com>
Date:       2006-09-23 22:24:05
Message-ID: 5d12691e0609231524o67ec238am45a62a65729eb835 () mail ! gmail ! com
[Download RAW message or body]

Hello,

I had to do some coding in action script and was getting annoyed at
using the syntax highlighting schema for similar language, so I
started to write my own. After about 1/4 of the way though it I saw
Marc Reichelt had already written one, so I just modified his instead.
Nothing wrong with it, just cleaned it up according to preference
really.

Basically all I did was further define the keyword categories
(properties, reserved functions, reserved classes, and core data
types) and assigned unique colors to each, removed some duplicate
entries, removed some items that did not pertain to Actionscript, and
cleaned up the code formatting. I also added in a few items into the
Class list for the Remoting add on libraries (mainly because that's
the project I'm working on).

Anyways, I included it as an attachment if anyone else would like to
use it. Marc, if you are reading this, thanks for the work you put
into this. Saved me a lot of time.

...aaron

["actionscript.xml" (text/xml)]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="ActionScript 2.0" version="0.2" kateversion="2.4" section="Sources" \
extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Marc Reichelt \
modified by Aaron Miller (armantic101@gmail.com)">   <highlighting>
    
    <list name="properties">
      <item> _focusRect </item>
      <item> _global </item>
      <item> _highquality </item>
      <item> Infinity </item>
      <item> NaN </item>
      <item> _quality </item>
      <item> _root </item>
      <item> _soundbuftime </item>
    </list>
    
    <list name="global_functions">
      <item> call </item>
      <item> clearInterval </item>
      <item> Date </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> int </item>
      <item> isFinite </item>
      <item> isNaN </item>
      <item> loadMovie </item>
      <item> loadMovieNum </item>
      <item> loadVariables </item>
      <item> loadVariablesNum </item>
      <item> nextFrame </item>
      <item> nextScene </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> startDrag </item>
      <item> stop </item>
      <item> stopAllSounds </item>
      <item> stopDrag </item>
      <item> targetPath </item>
      <item> toggleHighQuality </item>
      <item> trace </item>
      <item> unescape </item>
      <item> unloadMovie </item>
      <item> unloadMovieNum </item>
      <item> updateAfterEvent </item>
    </list>
      
    <list name="classes">
      <item> Accessibility </item>
      <item> Arguments </item>
      <item> Button </item>
      <item> Camera </item>
      <item> Color </item>
      <item> ContextMenu </item>
      <item> ContextMenuItem </item>
      <item> Date </item>
      <item> Error </item>
      <item> Function </item>
      <item> FaultEvent </item>
      <item> Key </item>
      <item> LoadVars </item>
      <item> LocalConnection </item>
      <item> Math </item>
      <item> Microphone </item>
      <item> Mouse </item>
      <item> MovieClip </item>
      <item> MovieClipLoader </item>
      <item> NetConnection </item>
      <item> NetStream </item>
      <item> ResultEvent </item>
      <item> PrintJob </item>
      <item> Selection </item>
      <item> Service </item>
      <item> SharedObject </item>
      <item> Sound </item>
      <item> Stage </item>
      <item> System </item>
      <item> TextField </item>
      <item> TextFormat </item>
      <item> TextSnapshot </item>
      <item> Video </item>
      <item> XML </item>
      <item> XMLNode </item>
      <item> XMLSocket </item>
    </list>
    
    <list name="keywords">
      <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> extends </item>
      <item> false </item>
      <item> finally </item>
      <item> for </item>
      <item> function </item>
      <item> if </item>
      <item> implements </item>
      <item> in </item>
      <item> instanceof </item>
      <item> interface </item>
      <item> new </item>
      <item> null </item>
      <item> private </item>
      <item> public </item>
      <item> return </item>
      <item> static </item>
      <item> super </item>
      <item> switch </item>
      <item> this </item>
      <item> throw </item>
      <item> true </item>
      <item> try </item>
      <item> undefined </item>
      <item> var </item>
      <item> while </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="Keyword" context="#stay" String="keywords"/>
        <keyword attribute="Data Type" context="#stay" String="types"/>
        <keyword attribute="Properties" context="#stay" String="properties"/>
        <keyword attribute="Global Functions" context="#stay" \
String="global_functions"/>  <keyword attribute="Classes" context="#stay" \
String="classes"/>    <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="dsKeyword" color="#800080" \
                selColor="#FFFFFF" bold="0" italic="0"/>
      <itemData name="Imports" defStyleNum="dsKeyword" color="#808000" \
selColor="#FFFFFF" bold="0" italic="0"/>  <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="dsChar"/>
      <itemData name="Comment"      defStyleNum="dsComment"/>
      <itemData name="Symbol"       defStyleNum="dsNormal"/>
      <itemData name="Properties"   defStyleNum="dsNormal" color="#336600" \
                selColor="#CCCCCC" bold="1" italic="0"/> 
      <itemData name="Global Functions"   defStyleNum="dsNormal" color="#006666" \
                selColor="#CCCCCC" bold="1" italic="0"/>
      <itemData name="Classes"   defStyleNum="dsNormal" color="#660066" \
selColor="#CCCCCC" bold="1" italic="0"/>  </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="//"/>
      <comment name="multiLine" start="/*" end="*/"/>
    </comments>
    <keywords casesensitive="1"/>
  </general>
</language>



_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic