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

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

Hmm, I should have done a little homework before I sent that. Looks
like the script I modified was missing a lot (over half) of the
reserved keywords so I just ended up making my own anyways. I pulled
the docs from Macromedia and updated the highlighting schema
accordingly (note: there is a new category for reserved constants
now). Please view the updated attachment.  Now I can get back to what
I was doing, glad that's over with ;-)

Sorry for the inbox clutter!
...aaron

On 9/23/06, Aaron Miller <armantic101@gmail.com> wrote:
> 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="1.0" kateversion="2.4" 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="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="#000033" \
                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"/>
      <itemData name="Constants" defStyleNum="dsNormal" color="#003300" \
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