# Define SciTE settings for BlitzBasic files.

file.patterns.blitzbasic=*.bb

filter.blitzbasic=BlitzBasic (bb)|$(file.patterns.blitzbasic)|

lexer.$(file.patterns.blitzbasic)=blitzbasic

# keywords must be all lowercase

keywordclass.blitzbasic=abs accepttcpstream acos after and apptitle asc asin atan atan2 \
automidhandle autosuspend availvidmem backbuffer banksize before bin calldll \
case ceil changedir channelpan channelpitch channelplaying channelvolume chr \
closedir closefile closemovie closetcpserver closetcpstream closeudpstream cls \
clscolor color colorblue colorgreen colorred commandline const copybank copyfile \
copyimage copypixel copypixelfast copyrect copystream cos countgfxdrivers \
countgfxmodes counthostips createbank createdir createimage createnetplayer \
createprocess createtcpserver createtimer createudpstream currentdate currentdir \
currenttime data debuglog default delay delete deletedir deletefile \
deletenetplayer desktopbuffer dim dottedip drawblock drawblockrect drawimage \
drawimagerect drawmovie each else else if elseif end end function end if end \
select end type endgraphics endif eof execfile exit exp false field filepos \
filesize filetype first flip float floor flushjoy flushkeys flushmouse \
fontheight fontname fontsize fontstyle fontwidth for forever freebank freefont \
freeimage freesound freetimer frontbuffer function gammablue gammagreen gammared \
getcolor getenv getkey getmouse gfxdrivername gfxmodedepth gfxmodeexists \
gfxmodeformat gfxmodeheight gfxmodewidth global gosub goto grabimage graphics \
graphicsbuffer graphicsdepth graphicsformat graphicsheight graphicswidth \
handleimage hex hidepointer hostip hostnetgame if imagebuffer imageheight \
imagerectcollide imagerectoverlap imagescollide imagesoverlap imagewidth \
imagexhandle imageyhandle include input insert instr int joinnetgame joydown \
joyhat joyhit joypitch joyroll joytype joyu joyudir joyv joyvdir joyx joyxdir \
joyy joyyaw joyydir joyz joyzdir keydown keyhit keywait last left len line \
loadanimimage loadbuffer loadfont loadimage loadsound local lockbuffer \
lockedformat lockedpitch lockedpixels log log10 loopsound lower lset maskimage \
mid midhandle millisecs mod morefiles mousedown mousehit mousex mousexspeed \
mousey mouseyspeed mousez mousezspeed movemouse movieheight movieplaying \
moviewidth netmsgdata netmsgfrom netmsgto netmsgtype netplayerlocal \
netplayername new next nextfile not null openfile openmovie opentcpstream or \
origin oval pausechannel pausetimer peekbyte peekfloat peekint peekshort pi \
playcdtrack playmusic playsound plot pokebyte pokefloat pokeint pokeshort print \
queryobject rand read readavail readbyte readbytes readdir readfile readfloat \
readint readline readpixel readpixelfast readshort readstring rect rectsoverlap \
recvnetmsg recvudpmsg repeat replace resettimer resizebank resizeimage restore \
resumechannel resumetimer return right rnd rndseed rotateimage rset runtimeerror \
sar savebuffer saveimage scaleimage scanline seedrnd seekfile select sendnetmsg \
sendudpmsg setbuffer setenv setfont setgamma setgfxdriver sgn shl showpointer \
shr sin soundpan soundpitch soundvolume sqr startnetgame step stop stopchannel \
stopnetgame str string stringheight stringwidth systemproperty tan tcpstreamip \
tcpstreamport tcptimeouts text tformfilter tformimage then tileblock tileimage \
timerticks to totalvidmem trim true type udpmsgip udpmsgport udpstreamip \
udpstreamport udptimeouts unlockbuffer until updategamma upper viewport vwait \
waitkey waitmouse waittimer wend while write writebyte writebytes writefile \
writefloat writeint writeline writepixel writepixelfast writeshort writestring \
xor

keywords.$(file.patterns.blitzbasic)=$(keywordclass.blitzbasic)

# BB styles
# Default
style.blitzbasic.0=fore:#000000
# Comment
style.blitzbasic.1=$(colour.code.comment.line),$(font.code.comment.line)
# Number
style.blitzbasic.2=$(colour.number)
# Keyword1
style.blitzbasic.3=$(colour.keyword)
# String
style.blitzbasic.4=$(colour.string)
# Preprocessor
# style.blitzbasic.5=$(colour.error)
# Operator
style.blitzbasic.6=$(colour.operator)
# Identifier
style.blitzbasic.7=$(style.blitzbasic.0)
# Date
# style.blitzbasic.8=$(colour.error)
# StringEOL
# style.blitzbasic.9=$(colour.error)
# Keyword2
style.blitzbasic.10=$(colour.keyword)
# Keyword3
style.blitzbasic.11=$(colour.keyword)
# Keyword4
style.blitzbasic.12=$(colour.keyword)
# Constant
# style.blitzbasic.13=$(colour.error)
# Asm
# style.blitzbasic.14=$(colour.error)
# Label
style.blitzbasic.15=$(colour.preproc)
# Error
style.blitzbasic.16=$(colour.error)
# HexNumber
style.blitzbasic.17=$(colour.number)
# BinNumber
style.blitzbasic.18=$(colour.number)