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

List:       kwrite-devel
Subject:    Re: Syntax Highlighting
From:       Chris Neugebauer <chrisjrn () gmail ! com>
Date:       2005-10-11 7:33:25
Message-ID: 70d969600510110033l7a824e09l () mail ! gmail ! com
[Download RAW message or body]

FreeBASIC highlighting rules are attached.
On 11/10/05, Dominik Haumann <dhdev@gmx.de> wrote:
> send it to this mailing list.
> --
> Dominik
>


--
--Chris Neugebauer

AIM: chrisjrn157 -- ICQ: 349538111 -- MSN: chrisjrn@gol.biz.ly
My Geek Code: http://gol.biz.ly/ungeek.html -- The w00t!ware Project:
http://w00tware.ne1.net

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="FreeBASIC" version="0.14" kateversion="2.3" \
section="Sources" extensions="*.bas" mimetype="text/x-freebasic" \
author="Chris Neugebauer (chrisjrn@gmail.com)" license="GPL">  \
<highlighting>  <list name="preproc">
    
      <item> #DEFINE </item>
      <item> #ELSE </item>
      <item> #ELSEIF </item>
      <item> #ENDIF </item>
      <item> #IF </item>
      <item> #IFDEF </item>
      <item> #IFNDEF </item>
      <item> #UNDEF </item>
      <item> $DYNAMIC </item>
      <item> $INCLIB </item>
      <item> $INCLUDE </item>
      <item> $STATIC </item>
    
    </list>
    
    <list name="keywords">
      <item> Declare </item>
      
      <item> Open </item>
      
      <item> For </item>
      
      <item> For Input </item>
      <item> For Output </item>
      <item> For Binary </item>
      <item> For Random </item>
      <item> Close </item>
      
      <item> To </item>
      <item> Step </item>
      <item> Next </item>
      <item> As </item>
      <item> Break </item>
      <item> Exit </item>
      <item> If </item>
      <item> Then </item>
      <item> Else </item>
      <item> Until </item>
      <item> Select </item>
      <item> System </item>
      <item> Case </item>
      <item> Default </item>
      <item> EndSelect </item>
      <item> Do </item>
      <item> Loop </item>
      <item> While </item>
      <item> Wend </item>
      <item> End </item>
      <item> Type </item>
      <item> DefType </item>
      <item> Dim </item>
      <item> Global </item>
      <item> Function </item>
      <item> Sub </item>
      <item> Shared </item>
      <item> Protected </item>
      <item> Static </item>
      <item> Declare </item>

      <item> Unsigned </item>
      
      <item> Data </item>
      <item> Restore </item>
      <item> Read </item>


      <item> Goto </item>
      <item> Gosub </item>
      <item> Return </item>
      
      <item> DEFBYTE </item>
      <item> DEFDBL </item>
      <item> DEFINT </item>
      <item> DEFLNG </item>
      <item> DEFSHORT </item>
      <item> DEFSNG </item>
      <item> DEFSTR </item>
      <item> DEFUBYTE </item>
      <item> DEFUINT </item>
      <item> DEFUSHORT </item>
    </list>
    
    <list name="Data Types">  
      <item> Integer </item>
      <item> Long </item>
      <item> Single </item>
      <item> Double </item>
      <item> String </item>
    </list>
        
    <list name="functions">
      <item> ABS </item>
      <item> ACOS </item>
      <item> ALLOCATE </item>
      <item> AND </item>
      <item> ASC </item>
      <item> ASIN </item>
      <item> ASM </item>
      <item> ATAN2 </item>
      <item> ATN </item>
      <item> BEEP </item>
      <item> BIN$ </item>
      <item> BLOAD </item>
      <item> BSAVE </item>
      <item> BYREF </item>
      <item> CALL </item>
      <item> CALLOCATE </item>
      <item> CALLS </item>
      <item> CBYTE </item>
      <item> CDBL </item>
      <item> CHAIN </item>
      <item> CHDIR </item>
      <item> CHR$ </item>
      <item> CINT </item>
      <item> CIRCLE </item>
      <item> CLEAR </item>
      <item> CLNG </item>
      <item> CLOSE </item>
      <item> COLOR </item>
      <item> COMMAND$ </item>
      <item> COMMON </item>
      <item> CONST </item>
      <item> CONTINUE </item>
      <item> COS </item>
      <item> CSHORT </item>
      <item> CSIGN </item>
      <item> CSNG </item>
      <item> CUNSG </item>
      <item> CURDIR$ </item>
      <item> CVD </item>
      <item> CVI </item>
      <item> CVL </item>
      <item> CVS </item>
      <item> DATA </item>
      <item> DATE$ </item>
      <item> DEALLOCATE </item>
      
      <item> DIM </item>
      <item> DIR$ </item>
      <item> DRAW </item>
      <item> END </item>
      <item> ENUM </item>
      <item> ENVIRON </item>
      <item> ENVIRON$ </item>
      <item> EOF </item>
      <item> EQV </item>
      <item> ERASE </item>
      <item> EXEC </item>
      <item> EXEPATH </item>
      <item> EXP </item>
      <item> FIX </item>
      <item> FLIP </item>
      <item> FRE </item>
      <item> FREEFILE </item>
      <item> GET </item>
      <item> GETKEY </item>
      <item> GETMOUSE </item>
      <item> HEX$ </item>
      <item> IMP </item>
      <item> INKEY$ </item>
      <item> INP </item>
      <item> INPUT </item>
      <item> INPUT$ </item>
      <item> INSTR </item>
      <item> INT </item>
      <item> KILL </item>
      <item> LBOUND </item>
      <item> LCASE$ </item>
      <item> LEFT$ </item>
      <item> LEN </item>
      <item> LET </item>
      <item> LIB </item>
      <item> LINE </item>
      <item> LOC </item>
      <item> LOCK </item>
      <item> LOF </item>
      <item> LOG </item>
      <item> LSET </item>
      <item> LTRIM$ </item>
      <item> MID$ </item>
      <item> MKD$ </item>
      <item> MKDIR </item>
      <item> MKI$ </item>
      <item> MKL$ </item>
      <item> MKS$ </item>
      <item> MOD </item>
      <item> MULTIKEY </item>
      <item> NAME </item>
      <item> NOT </item>
      <item> OCT$ </item>
      <item> OPTION BASE </item>
      <item> OPTION PRIVATE </item>
      <item> OR </item>
      <item> OUT </item>
      <item> PAINT </item>
      <item> PALETTE </item>
      <item> PCOPY </item>
      <item> PEEK </item>
      <item> PEEKI </item>
      <item> PEEKS </item>
      <item> PMAP </item>
      <item> POINT </item>
      <item> POKE </item>
      <item> POKEI </item>
      <item> POKES </item>
      <item> POS </item>
      <item> PRESERVE </item>
      <item> PRESET </item>
      <item> PRINT </item>
      <item> PRIVATE </item>
      <item> PROCPTR </item>
      <item> PSET </item>
      <item> PTR </item>
      <item> PUBLIC </item>
      <item> PUT </item>
      <item> RANDOMIZE </item>
      <item> REALLOCATE </item>
      <item> REDIM </item>
      <item> REM </item>
      <item> RESET </item>
      <item> RETURN </item>
      <item> RGB </item>
      <item> RIGHT$ </item>
      <item> RMDIR </item>
      <item> RND </item>
      <item> RSET </item>
      <item> RTRIM$ </item>
      <item> RUN </item>
      <item> SADD </item>
      <item> SCREEN </item>
      <item> SCREENCOPY </item>
      <item> SCREENINFO </item>
      <item> SCREENLOCK </item>
      <item> SCREENPTR </item>
      <item> SCREENSET </item>
      <item> SCREENUNLOCK </item>
      <item> SEEK </item>
      <item> SETDATE </item>
      <item> SETENVIRON </item>
      <item> SGN </item>
      <item> SHARED </item>
      <item> SHELL </item>
      <item> SHL </item>
      <item> SHR </item>
      <item> SIN </item>
      <item> SLEEP </item>
      <item> SPACE$ </item>
      <item> SQR </item>
      <item> STATIC </item>
      <item> STOP </item>
      <item> STR$ </item>
      <item> STRING$ </item>
      <item> SWAP </item>
      <item> TAN </item>
      <item> TIME$ </item>
      <item> TIME$ </item>
      <item> TIMER </item>
      <item> TRIM$ </item>
      <item> TYPE </item>
      <item> UBOUND </item>
      <item> UCASE$ </item>
      <item> UNION </item>
      <item> UNLOCK </item>
      <item> VAL </item>
      <item> VARPTR </item>
      <item> VIEW </item>
      <item> WAIT </item>
      <item> WINDOWTITLE </item>
      <item> WRITE </item>
      <item> XOR </item>
    </list>

    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" \
name="Normal">

        <RegExpr attribute="Keyword" context="#stay" String="\b(exit \
                (function|sub|for|do|while|type|select))([\s]|$)" \
                insensitive="true" />
        <RegExpr attribute="Keyword" context="#stay" String="\b(declare \
(function|sub))([\s]|$)" insensitive="true" />

        <RegExpr attribute="Keyword" context="#stay" \
                String="\b(while)([\s]|$)" insensitive="true" \
                beginRegion="WhileRegion"/>
        <RegExpr attribute="Keyword" context="#stay" \
String="\b(wend)([\s]|$)" insensitive="true" endRegion="WhileRegion"/>  
        <RegExpr attribute="Keyword" context="#stay" \
                String="\b(do)([\s]|$)" insensitive="true" \
                beginRegion="DoRegion"/>
        <RegExpr attribute="Keyword" context="#stay" \
String="\b(loop)([\s]|$)" insensitive="true" endRegion="DoRegion"/>

        <RegExpr attribute="Keyword" context="#stay" \
                String="\b(select)([\s]|$)" insensitive="true" \
                beginRegion="SelectRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(end \
select)([\s]|$)" insensitive="true" endRegion="SelectRegion"/>

        <RegExpr attribute="Keyword" context="#stay" String="\b(for \
(input|output|binary|random))([\s]|$)" insensitive="true" />  
        <RegExpr attribute="Keyword" context="#stay" \
                String="\b(for)([\s]|$)" insensitive="true" \
                beginRegion="ForRegion"/>
        <RegExpr attribute="Keyword" context="#stay" \
String="\b(next)([\s]|$)" insensitive="true" endRegion="ForRegion"/>

        <RegExpr attribute="Keyword" context="#stay" \
String="\b(function)([.\s]|$)" insensitive="true" \
                beginRegion="fProcedureRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(end \
function)([\s]|$)" insensitive="true" endRegion="fProcedureRegion"/>  
        <RegExpr attribute="Keyword" context="#stay" \
String="\b(sub)([.\s]|$)" insensitive="true" \
                beginRegion="sProcedureRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(end \
sub)([\s]|$)" insensitive="true" endRegion="sProcedureRegion"/>

        <RegExpr attribute="Keyword" context="#stay" \
String="\b(type)([\s]|$)" insensitive="true" \
                beginRegion="StructureRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(end \
type)([\s]|$)" insensitive="true" endRegion="StructureRegion"/>

        <RegExpr attribute="Keyword" context="#stay" \
                String="\b(if)([\s]|$)" insensitive="true" \
                beginRegion="IfRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(then \
                )[a-zA-Z_\x7f-\xff]." insensitive="true" \
                endRegion="IfRegion"/>
        <RegExpr attribute="Keyword" context="#stay" String="\b(end \
if)([\s]|$)" insensitive="true" endRegion="IfRegion"/>


        <keyword attribute="Keyword" context="#stay" String="keywords"/>
        <keyword attribute="Data Types" context="#stay" String="Data \
                Types"/>
        <keyword attribute="preproc" context="#stay" lineEndContext="#pop" \
String="Preprocessor"/>  
        <keyword attribute="Functions" context="#stay" String="functions"/>
        <RegExpr attribute="Constant" context="#stay" \
String="\#+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"/>  <Float \
attribute="Number" context="#stay"/>  <Int attribute="Number" \
context="#stay"/>  <DetectChar attribute="String" context="String" \
                char="&quot;" />
        <RegExpr attribute="Region Marker" context="#stay" \
                String="^\s*;+\s*BEGIN.*$" beginRegion="marker"/>
        <RegExpr attribute="Region Marker" context="#stay" \
String="^\s*;+\s*END.*$" endRegion="marker"/>  <DetectChar \
attribute="Comment" context="Comment1" char="'"/>  </context>
      <context attribute="String" lineEndContext="#pop" name="String">
        <DetectChar attribute="String" context="#pop" char="&quot;"/>
      </context>
      <context attribute="Comment" lineEndContext="#pop" name="Comment1">
        <keyword attribute="Number" context="#stay" String="attention" />
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal"/>
      <itemData name="Keyword" defStyleNum="dsKeyword"/>
      <itemData name="Functions" defStyleNum="dsFunction"/>
      <itemData name="Data Types" defStyleNum="dsDataType"/>
      <itemData name="Constant" defStyleNum="dsConstant"/>
      <itemData name="Number" defStyleNum="dsDecVal"/>
      <itemData name="String" defStyleNum="dsString"/>
      <itemData name="Comment" defStyleNum="dsComment"/>
      <itemData name="Region Marker " defStyleNum="dsRegionMarker"/>
      <itemData name="Preprocessor" defStyleNum="dsPreProc"/>
    </itemDatas>
  </highlighting>
  <general>
    <keywords casesensitive="0" />
    <comments>
      <comment name="singleLine" start="'" />
      <comment name="remark" start="REM " />
    </comments>
  </general>
</language>
<!-- // kate: space-indent on; indent-width 2; replace-tabs on; -->



_______________________________________________
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