# Define SciTE settings for sdlBasic files.
# version for sdlBasic editor


filter.sdlBasic=(sdlbas sdlblib)|*.sdlbas;*.sdlblib|

file.patterns.sdlBasic=*.sdlbas;*.sdlblib

lexer.$(file.patterns.sdlBasic)=sdlb

# Keyword
keywordsclass.sdlBasic= \
const \
option explicit \
option qbasic \
include \
argc \
argv \
command \
command$ \
argument \
argument$ \
getenv \
shell \
end \
stop \
os \
isfbsd \
isosx \
islinux \
iswin32 \
ismos \
isnetbsd \
isamigaos \
debug \
declare \
sub \
exit sub \
end sub \
function \
exit function \
end function \
return \
while \
wend \
end while \
exit while \
continue \
if \
then \
else \
elseif \
end if \
select case \
case \
case else \
end select \
for \
for each \
continue \
exit for \
next \
end for \
do \
loop \
exit do \
or \
and \
xor \
not \
mod \
shl \
shr \
dim \
shared \
common \
lbound \
ubound \
erase \
asc \
chr \
chr$ \
insert \
insert$ \
instr \
lcase \
lcase$ \
left \
left$ \
len \
length \
ltrim \
ltrim$ \
mid \
mid$ \
replace \
replace$ \
replacesubstr \
replacesubstr$ \
reverse \
reverse$ \
right \
right$ \
rinstr \
rtrim \
rtrim$ \
space \
space$ \
str \
str$ \
strf \
strf$ \
string \
string$ \
tally \
trim \
trim$ \
typeof \
typeof$ \
ucase \
ucase$ \
val \
abs \
acos \
asin \
atan \
bin \
bin$ \
cos \
exp \
fix \
floor \
frac \
hex \
hex$ \
int \
log \
randomize \
rnd \
round \
sgn \
sin \
sqr \
tan \
min \
max \
bitwiseand \
andbit \
bitwiseor \
orbit \
bitwisexor \
xorbit \
open \
file input \
input \
file output \
print \
close \
eof \
fileexists \
filecopy \
filemove \
filerename \
freefile \
kill \
filedelete \
loc \
lof \
readbyte \
rename \
seek \
writebyte \
chdir \
dir dir$ \
direxists \
dirfirst \
dirnext \
mkdir \
rmdir \
data \
read \
print \
date \
date$ \
time \
time$ \
ticks \
reservebank \
baseimage \
baseimageCC \
basescreen \
basesound \
freebase \
freebank \
copybank \
loadbank \
savebank \
setbank \
currentbank \
sizebank \
banksize \
poke \
doke \
loke \
peek \
deek \
leek \
memcopy \
setdefaults \
setdisplay \
setalphachannel \
setcaption \
caption \
displaywidth \
displayheight \
displaybpp \
screen \
screenz \
lastscreen \
directscreen \
screenopen \
screenclose \
screenclone \
screencopy \
screenfade \
screenfadeout \
screenfadein \
screencrossfade \
screenalpha \
screenlock \
screenunlock \
screenrect \
screenviewport \
xscreenrect \
screenviewportx \
yscreenrect \
screenviewporty \
wscreenrect \
screenviewportw \
hscreenrect \
screenviewporth \
flagscreenrect \
screenviewportflag \
screenwidth \
screenheight \
offset \
screenoffset \
xoffset \
screenoffsetx \
yoffset \
screenoffsety \
cls \
screenswap \
autoback \
setautoback \
dualplayfield \
waitvbl \
fps \
rgb \
enablepalette \
color \
palette \
colorcycling \
colorcycling \
ink \
point \
getpixel \
dot \
setpixel \
putpixel \
plot \
line \
box \
bar \
circle \
fillcircle \
ellipse \
fillellipse \
paint \
triangle \
polyline \
polygon \
loadimage \
loadzipimage \
saveimage \
loadsound \
loadzipsound \
loadmusic \
hotspot \
setcolorkey \
colorkey \
imageexists \
imagewidth \
imageheight \
deleteimage \
copyimage \
setalpha \
imagealpha \
zoomimage \
rotateimage \
rotozoomimage \
mirrorimage \
blt \
pastebob \
pasteicon \
grab \
spriteclip \
sprite \
deletesprite \
xsprite \
spritex \
ysprite \
spritey \
spritewidth \
spriteheight \
frsprite \
spriteimage \
livesprite \
spriteexist \
spritehit \
spritez \
lastsprite \
autoupdatesprite \
updatesprite \
setbob \
bob \
deletebob \
xbob \
bobx \
ybob \
boby \
bobwidth \
bobheight \
frbob \
bobimage \
livebob \
bobexist \
bobhit \
bobz \
lastbob \
autoupdatebob \
updatebob \
text \
setfont \
getfont \
textrender \
pen \
paper \
fprints \
prints \
locate \
atx \
aty \
curson \
cursoff \
inputs \
zoneinputs \
isenabledsound \
soundenabled \
soundexists \
deletesound \
copysound \
musicexists \
playsound \
playfreqsound \
volumesound \
soundvolume \
stopsound \
pausesound \
resumesound \
sound3d \
positionsound \
soundchannels \
playmusic \
positionmusic \
stopmusic \
pausemusic \
resumemusic \
rewindmusic \
fademusic \
volumemusic \
musicvolume \
speedmusic \
musicspeed \
numdrivescd \
countcddrives \
namecd \
cdname \
opencd \
indrivecd \
cdinserted \
trackscd \
countcdtracks \
curtrackcd \
cdcurtrack \
curframecd \
cdcurframe \
playcd \
playtrackscd \
playtrackscd \
playtrackscd \
playcdtracks \
playcdtracks \
playcdtracks \
pausecd \
resumecd \
stopcd \
ejectcd \
closecd \
tracktypecd \
cdtracktype \
tracklengthcd \
cdtracklength \
trackoffsetcd \
cdtrackoffset \
loadmpeg \
plaympeg \
stopmpeg \
deletempeg \
pausempeg \
rewindmpeg \
seekmpeg \
skipmpeg \
statusmpeg \
key \
inkey \
waitkey \
xmouse \
ymouse \
mousex \
mousey \
xmousescreen \
ymousescreen \
mousescreenx \
mousescreeny \
bmouse \
mousebutton \
changemouse \
mousepointer \
locatemouse \
placemouse \
mouseshow \
howmouse \
mousehide \
hidemouse \
mousezone \
numjoysticks \
namejoystick \
numaxesjoystick \
numballsjoystick \
numhatsjoystick \
numbuttonsjoystick \
getaxisjoystick \
gethatjoystick \
getbuttonjoystick \
xgetballjoystick \
ygetballjoystick \
joy \
bjoy \
joybuttons \
fire \
waitbjoy \
wait \
timer \
isenabledsock \
getfreesock \
OpenSock \
AcceptSock \
IsServerReady \
ConnectSock \
IsClientReady \
CloseSock \
ReadSock \
ReadByteSock \
ReadLineSock \
WriteSock \
WriteByteSock \
WriteLineSock \
getremoteip \
getremoteport

keywords.$(file.patterns.sdlBasic)=$(keywordsclass.sdlBasic)

# constants
constantsclass.sdlBasic= \
dcbasic_version \
dcbasic_date \
true \
false \
null \
num_screens \
num_images \
num_sprites \
num_bobs \
num_waves \
num_socks \
num_membank \
dual_playfields \
screen_colorkey \
k_backspace \
k_tab \
k_clear \
k_return \
k_pause \
k_escape \
k_esc \
k_space \
k_exclaim \
k_quotedbl \
k_hash \
k_dollar \
k_ampersand \
k_quote \
k_leftparen \
k_rightparent \
k_asterisk \
k_plus \
k_comma \
k_minus \
k_period \
k_slash \
k_colon \
k_semicolon \
k_less \
k_equals \
k_greater \
k_question \
k_at \
k_leftbracket \
k_backslash \
k_rightbracket \
k_caret \
k_underscore \
k_backquote \
k_delete \
k_1 \
k_2 \
k_3 \
k_4 \
k_5 \
k_6 \
k_7 \
k_8 \
k_9 \
k_0 \
k_kp0 \
k_kp1 \
k_kp2 \
k_kp3 \
k_kp4 \
k_kp5 \
k_kp6 \
k_kp7 \
k_kp8 \
k_kp9 \
k_kp_period \
k_kp_divide \
k_kp_multiply \
k_kp_minus \
k_kp_plus \
k_kp_enter \
k_kp_equals \
k_up \
k_down \
k_right \
k_left \
k_insert \
k_home \
k_end \
k_pageup \
k_pagedown \
k_f1 \
k_f2 \
k_f3 \
k_f4 \
k_f5 \
k_f6 \
k_f7 \
k_f8 \
k_f9 \
k_f10 \
k_f11 \
k_f12 \
k_f13 \
k_f14 \
k_f15 \
k_numlock \
k_capslock \
k_scrollock \
k_rshift \
k_lshift \
k_rctrl \
k_lctrl \
k_ralt \
k_lalt \
k_rmeta \
k_lmeta \
k_lsuper \
k_rsuper \
k_mode \
k_compose \
k_help \
k_print \
k_sysreq \
k_break \
k_menu \
k_power \
k_euro \
k_undo

keywords2.$(file.patterns.sdlBasic)=$(constantsclass.sdlBasic)


# Comments
comment.block.sdlb=--

# VB styles
# White space
style.sdlb.0=fore:#000000,$(font.vbs)
# Comment
style.sdlb.1=$(colour.code.comment.line), $(font.small)
# Number
style.sdlb.2=$(colour.number)
# Keyword
style.sdlb.3=$(colour.keyword)
# String
style.sdlb.4=$(colour.string)
# Preprocessor
style.sdlb.5=$(colour.preproc)
# Operator
style.sdlb.6=$(colour.operator)
# Identifier
style.sdlb.7=
# Date
style.sdlb.8=$(colour.number)
# user1
style.sdlb.10=$(colour.constant)



braces.sdlbas.style=4


if PLAT_WIN
	BASEDIR=$(SciteDefaultHome)\..
	SDLBRT="$(BASEDIR)\bin\sdlBrt.exe"
    command.go.*.sdlbas=$(SDLBRT) "$(FilePath)"
	command.help.*.sdlbas=explorer $(BASEDIR)\share\doc\sdlBasic\english\QuickHelp.html

if PLAT_GTK
	BASEDIR=$(SciteDefaultHome)/../..
	# uncomment this if you use kde and have problems with audio
	#ARTSDSP=artsdsp -m
	SDLBRT=$(ARTSDSP) $(BASEDIR)/bin/sdlBrt
	BROWSER=firefox
    command.go.*.sdlbas=$(SDLBRT) "$(FilePath)"
	command.help.*.sdlbas=$(BROWSER) "file:$(BASEDIR)/share/doc/sdlBasic/english/QuickHelp.html"


command.name.1.*.sdlbas=Autoindent
command.1.*.sdlbas=$(SDLBRT) --nodefaults $(BASEDIR)/share/sdlBasic/plugins/autoindent.sdlbas "$(FilePath)"
command.is.filter.1.*.sdlbas=1

command.name.2.*.sdlbas=Unindent
command.2.*.sdlbas=$(SDLBRT) --nodefaults $(BASEDIR)/share/sdlBasic/plugins/unindent.sdlbas "$(FilePath)"
command.is.filter.2.*.sdlbas=1

command.name.3.*.sdlbas=make executable
command.3.*.sdlbas=$(SDLBRT)  --nodefaults $(BASEDIR)/share/sdlBasic/plugins/bind.sdlbas $(SDLBRT) "$(FilePath)"
command.is.filter.3.*.sdlbas=1

