diff options
Diffstat (limited to 'kate/data/freebasic.xml')
-rw-r--r-- | kate/data/freebasic.xml | 609 |
1 files changed, 609 insertions, 0 deletions
diff --git a/kate/data/freebasic.xml b/kate/data/freebasic.xml new file mode 100644 index 000000000..d3bf41243 --- /dev/null +++ b/kate/data/freebasic.xml @@ -0,0 +1,609 @@ +<?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;*.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" 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=""" /> + <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="""/> + </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; --> |