You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/freebasic.xml

608 lines
18 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="FreeBASIC" version="0.15" kateversion="2.3" section="Sources" extensions="*.bas;*.bi;*.BAS;*.BI" 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="Assembly Operators">
<item> AH </item>
<item> AL </item>
<item> AX </item>
<item> BH </item>
<item> BL </item>
<item> BP </item>
<item> BX </item>
<item> CH </item>
<item> CL </item>
<item> CS </item>
<item> CX </item>
<item> DH </item>
<item> DI </item>
<item> DL </item>
<item> DS </item>
<item> DX </item>
<item> EAX </item>
<item> EBP </item>
<item> EBX </item>
<item> ECX </item>
<item> EDI </item>
<item> EDX </item>
<item> ES </item>
<item> ESI </item>
<item> ESP </item>
<item> FS </item>
<item> GS </item>
<item> SI </item>
<item> SP </item>
<item> SS </item>
</list>
<list name="Data Types">
<item> Integer </item>
<item> Long </item>
<item> Single </item>
<item> Double </item>
<item> String </item>
<item> Byte PTR </item>
<item> Dword PTR </item>
<item> Qword PTR </item>
<item> Word PTR </item>
</list>
<list name="functions">
<item> AAA </item>
<item> AAD </item>
<item> AAM </item>
<item> AAS </item>
<item> ABS </item>
<item> ACOS </item>
<item> ADC </item>
<item> ADD </item>
<item> ALLOCATE </item>
<item> AND </item>
<item> AND </item>
<item> ARPL </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> BOUND </item>
<item> BREAK </item>
<item> BSAVE </item>
<item> BSF </item>
<item> BSR </item>
<item> BSWAP </item>
<item> BT </item>
<item> BTC </item>
<item> BTR </item>
<item> BTS </item>
<item> BYREF </item>
<item> CALL </item>
<item> CALLOCATE </item>
<item> CALLS </item>
<item> CBW </item>
<item> CBYTE </item>
<item> CDBL </item>
<item> CDQ </item>
<item> CHAIN </item>
<item> CHDIR </item>
<item> CHR$ </item>
<item> CINT </item>
<item> CIRCLE </item>
<item> CLC </item>
<item> CLD </item>
<item> CLEAR </item>
<item> CLI </item>
<item> CLNG </item>
<item> CLOSE </item>
<item> CLTS </item>
<item> CMC </item>
<item> CMP </item>
<item> CMPS </item>
<item> CMPSB </item>
<item> CMPSD </item>
<item> CMPSW </item>
<item> CMPXCHG </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> CWD </item>
<item> CWDE </item>
<item> DAA </item>
<item> DAS </item>
<item> DATA </item>
<item> DATE$ </item>
<item> DEALLOCATE </item>
<item> DEC </item>
<item> DIM </item>
<item> DIR$ </item>
<item> DIV </item>
<item> DRAW </item>
<item> END </item>
<item> ENTER </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> HLT </item>
<item> IDIV </item>
<item> IMP </item>
<item> IMUL </item>
<item> IN </item>
<item> INC </item>
<item> INKEY$ </item>
<item> INP </item>
<item> INPUT </item>
<item> INPUT$ </item>
<item> INS </item>
<item> INSB </item>
<item> INSD </item>
<item> INSTR </item>
<item> INT </item>
<item> INT </item>
<item> INTO </item>
<item> INVD </item>
<item> INVLPG </item>
<item> IRET </item>
<item> IRETD </item>
<item> JA </item>
<item> JAE </item>
<item> JB </item>
<item> JBE </item>
<item> JC </item>
<item> JCXZ </item>
<item> JE </item>
<item> JECXZ </item>
<item> JG </item>
<item> JGE </item>
<item> JL </item>
<item> JLE </item>
<item> JMP </item>
<item> JNA </item>
<item> JNAE </item>
<item> JNB </item>
<item> JNBE </item>
<item> JNC </item>
<item> JNE </item>
<item> JNG </item>
<item> JNGE </item>
<item> JNL </item>
<item> JNLE </item>
<item> JNO </item>
<item> JNP </item>
<item> JNS </item>
<item> JNZ </item>
<item> JO </item>
<item> JP </item>
<item> JPE </item>
<item> JPO </item>
<item> JS </item>
<item> JUMP </item>
<item> JZ </item>
<item> KILL </item>
<item> LAHF </item>
<item> LAR </item>
<item> LBOUND </item>
<item> LCASE$ </item>
<item> LDS </item>
<item> LEA </item>
<item> LEAVE </item>
<item> LEAVED </item>
<item> LEAVEW </item>
<item> LEFT$ </item>
<item> LEN </item>
<item> LES </item>
<item> LET </item>
<item> LFS </item>
<item> LGDT </item>
<item> LGS </item>
<item> LIB </item>
<item> LIDT </item>
<item> LINE </item>
<item> LLDT </item>
<item> LMSW </item>
<item> LOC </item>
<item> LOCK </item>
<item> LOCK </item>
<item> LODS </item>
<item> LODSB </item>
<item> LODSD </item>
<item> LODSW </item>
<item> LOF </item>
<item> LOG </item>
<item> LOOPD </item>
<item> LOOPDE </item>
<item> LOOPDNE </item>
<item> LOOPDNZ </item>
<item> LOOPDZ </item>
<item> LOOPE </item>
<item> LOOPNE </item>
<item> LOOPNZ </item>
<item> LOOPW </item>
<item> LOOPWE </item>
<item> LOOPWNE </item>
<item> LOOPWNZ </item>
<item> LOOPWZ </item>
<item> LOOPZ </item>
<item> LSET </item>
<item> LSL </item>
<item> LSS </item>
<item> LTR </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> MOV </item>
<item> MOVS </item>
<item> MOVSB </item>
<item> MOVSD </item>
<item> MOVSW </item>
<item> MOVSX </item>
<item> MOVZX </item>
<item> MUL </item>
<item> MULTIKEY </item>
<item> NAME </item>
<item> NEG </item>
<item> NOP </item>
<item> NOT </item>
<item> NOTHING </item>
<item> OCT$ </item>
<item> OPTION BASE </item>
<item> OPTION PRIVATE </item>
<item> OR </item>
<item> OUT </item>
<item> OUTS </item>
<item> OUTSB </item>
<item> OUTSD </item>
<item> OUTSW </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> POP </item>
<item> POPA </item>
<item> POPAD </item>
<item> POPF </item>
<item> POPFD </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> PUSH </item>
<item> PUSHA </item>
<item> PUSHAD </item>
<item> PUSHF </item>
<item> PUSHFD </item>
<item> PUT </item>
<item> RANDOMIZE </item>
<item> RCL </item>
<item> RCR </item>
<item> REALLOCATE </item>
<item> REDIM </item>
<item> REM </item>
<item> REP </item>
<item> REPE </item>
<item> REPNE </item>
<item> REPNZ </item>
<item> REPZ </item>
<item> RESET </item>
<item> RET </item>
<item> RETURN </item>
<item> RGB </item>
<item> RIGHT$ </item>
<item> RMDIR </item>
<item> RND </item>
<item> ROL </item>
<item> ROR </item>
<item> RSET </item>
<item> RTRIM$ </item>
<item> RUN </item>
<item> SADD </item>
<item> SAHF </item>
<item> SAL </item>
<item> SAR </item>
<item> SBB </item>
<item> SCAS </item>
<item> SCASB </item>
<item> SCASD </item>
<item> SCASW </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> SETA </item>
<item> SETAE </item>
<item> SETB </item>
<item> SETBE </item>
<item> SETC </item>
<item> SETDATE </item>
<item> SETE </item>
<item> SETENVIRON </item>
<item> SETG </item>
<item> SETGE </item>
<item> SETL </item>
<item> SETLE </item>
<item> SETNA </item>
<item> SETNAE </item>
<item> SETNB </item>
<item> SETNBE </item>
<item> SETNC </item>
<item> SETNE </item>
<item> SETNG </item>
<item> SETNGE </item>
<item> SETNL </item>
<item> SETNLE </item>
<item> SETNO </item>
<item> SETNP </item>
<item> SETNS </item>
<item> SETNZ </item>
<item> SETO </item>
<item> SETP </item>
<item> SETPE </item>
<item> SETPO </item>
<item> SETS </item>
<item> SETZ </item>
<item> SGDT </item>
<item> SGN </item>
<item> SHARED </item>
<item> SHELL </item>
<item> SHL </item>
<item> SHLD </item>
<item> SHR </item>
<item> SHRD </item>
<item> SIDT </item>
<item> SIN </item>
<item> SLDT </item>
<item> SLEEP </item>
<item> SMSW </item>
<item> SPACE$ </item>
<item> SQR </item>
<item> STATIC </item>
<item> STC </item>
<item> STD </item>
<item> STI </item>
<item> STOP </item>
<item> STOS </item>
<item> STOSB </item>
<item> STOSD </item>
<item> STOSW </item>
<item> STR </item>
<item> STR$ </item>
<item> STRING$ </item>
<item> SWAP </item>
<item> TAN </item>
<item> TEST </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> VERR </item>
<item> VERW </item>
<item> VIEW </item>
<item> WAIT </item>
<item> WINDOWTITLE </item>
<item> WRITE </item>
<item> XADD </item>
<item> XCHG </item>
<item> XLAT </item>
<item> XLATB </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" 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="dsPreprocessor"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" />
<comments>
<comment name="singleLine" start="'" />
</comments>
</general>
</language>