<?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; -->