[PowerBasic]
lexer=powerbasic
keywords.0=name:Keywords::abs acode$ and array arrayattr as asc asm asmdata atn beep bgr bin$ bit bitmap bitmap bits bits$ bitse build$ byref byval call callstk callstk$ callstkcount cbyt \
ccur ccux cdbl cdwd ceil cext chdir chdrive choose choose$ chr$ chr$$ chrbytes chrtooem$ chrtoutf8$ cint class clip$ clipboard clng close \
cls clsid$ codeptr color comm command$ con.caption$ con.cell con.cell.col con.cell.row con.cls con.color con.cursor con.cursor.off con.cursor.on \
con.end con.focus con.getstderr con.getstdin con.getstdkbd con.getstdout con.getstdvid con.handle con.in con.inkey$ con.input con.input.flush \
con.inshiftcon.instatcon.keycon.key$con.line.input con.loc con.loc.x con.loc.y con.locate con.locate.col con.locate.row con.mouse \
con.mouse.buttons con.mouse.col con.mouse.off con.mouse.on con.mouse.row con.mouse.stat con.new con.out con.page.active con.page.visible \
con.pcopy con.print con.screen con.screen.attr con.screen.char con.screen.col con.screen.row con.scroll.down con.scroll.left con.scroll.right \
con.scroll.up con.size con.size.x con.size.y con.stdeof con.stderr con.stdin.line con.stdout con.view con.view.col con.view.row con.virtual \
con.virtual.col con.virtual.row con.waitkey$ con.waitstat conshndl consin consname$ console consout cos cqud cset cset$ csng curdir$ \
cursor cursorx cursory cvbyt cvcur cvcux cvd cvdwd cve cvi cvl cvq cvs cvwrd cwrd data datacount date$ dayname$ dec$ declare decr \
defbyt defcur defcux defdbl defdwd defext defint deflng defqud defsng defstr defwrd desktop dim dir$ diskfree disksize do \
each end else elseif enum environ environ$ eof eqv erase erl erl$ err errclear error error$ eventsource events exe.extn$member exe.full$member exe.instmember \
exe.name$member exe.namex$member exe.path$member exit exp exp10 exp2 extract$ fastproc field field fileattr filecopy filename$ \
filescan fix flush focus font for format$ frac freefile funcname$ function get get$ get$$ getattr getstderr getstdin getstdkbd getstdout \
getstdvid global globalmem gosub goto graphic guid$ guidtxt$ hex$ hi host idispinfo if iif iif$ iif& ilinklistcollection.add \
ilinklistcollection.clear ilinklistcollection.count ilinklistcollection.first ilinklistcollection.index ilinklistcollection.insert \
ilinklistcollection.item ilinklistcollection.last ilinklistcollection.next ilinklistcollection.previous ilinklistcollection.remove \
ilinklistcollection.replace imp import incr inkey$ input input# inshift instance instat instr int interface ipoweraraay.valueset \
ipowerarray.arraybase ipowerarray.arraydesc ipowerarray.arrayinfo ipowerarray.arrayinfo ipowerarray.cloneipowerarray.copyfromvariant \
ipowerarray.copytovariant ipowerarray.dim ipowerarray.elementptr ipowerarray.elementsize ipowerarray.erase ipowerarray.lbound \
ipowerarray.lock ipowerarray.movefromvariant ipowerarray.movetovariant ipowerarray.redim ipowerarray.redimpreserve ipowerarray.reset \
ipowerarray.subscripts ipowerarray.ubound ipowerarray.unlock ipowerarray.valueget ipowerarray.valuetype ipowercollection.add \
ipowercollection.clear ipowercollection.contains ipowercollection.count ipowercollection.entry ipowercollection.first ipowercollection.index \
ipowercollection.item ipowercollection.last ipowercollection.next ipowercollection.previous ipowercollection.remove ipowercollection.replace \
ipowercollection.sort ipowerthread.close ipowerthread.equals ipowerthread.handle ipowerthread.id ipowerthread.isalive ipowerthread.join \
ipowerthread.launch ipowerthread.priority ipowerthread.priority ipowerthread.result ipowerthread.resume ipowerthread.stacksize ipowerthread.stacksize\
ipowerthread.suspend ipowerthread.timecreate ipowerthread.timeexit ipowerthread.timekernel ipowerthread.timeuser ipowertime.adddays \
ipowertime.addhours ipowertime.addminutes ipowertime.addmonths ipowertime.addmseconds ipowertime.addseconds ipowertime.addticks ipowertime.addyears \
ipowertime.datediff ipowertime.datestring ipowertime.datestringlong ipowertime.day ipowertime.dayofweek ipowertime.dayofweekstring ipowertime.daysinmonth \
ipowertime.filetime ipowertime.filetime ipowertime.hour ipowertime.isleapyear ipowertime.minute ipowertime.month ipowertime.monthstring ipowertime.msecond \
ipowertime.newdate ipowertime.newtime ipowertime.now ipowertime.nowutc ipowertime.second ipowertime.tick ipowertime.timediff ipowertime.timestring \
ipowertime.timestring24 ipowertime.timestringfull ipowertime.today ipowertime.tolocaltime ipowertime.toutc ipowertime.year iqueuecollection.clear \
iqueuecollection.count iqueuecollection.dequeue iqueuecollection.enqueue isfalse isfile isfolder isinterface ismissing isnothing isnotnull isnull \
isobject istackcollection istackcollection.clear istackcollection.count istackcollection.pop istackcollection.push istringbuildera.add istringbuildera.capacity \
istringbuildera.capacity istringbuildera.char istringbuildera.char istringbuildera.clear istringbuildera.delete istringbuildera.insert istringbuildera.len \
istringbuildera.string istringbuilderw.add istringbuilderw.capacity istringbuilderw.capacity istringbuilderw.char istringbuilderw.char \
istringbuilderw.clear istringbuilderw.clear istringbuilderw.delete istringbuilderw.len istringbuilderw.string istrue iterate join$ key key$ kill lbound \
lcase$ left$ len let line lo loc local locate lock lof log log10 log2 loop lprint lprint$ lset lset$ ltrim$ macro mak mat max max$ \
max& mcase$ me memory method metrics mid$ mid$ min min$ min& mkbyt$ mkcur$ mkcux$ mkd$ mkdir mkdwd$ mke$ mki$ mkl$ mkq$ mks$ mkwrd$ mod monthname$ \
mouse mousebuttons mousestat mousex mousey mybase name next not nul$ objactive object objequal objptr objresult objresult$ oct$ oemtext oemtext oemtochr$ \
on open option or page pageactive pagevisible parse parse$ parsecount pathname$ pathscan$ pbmain pcopy peek peek$ peek$$ playwave playwaveend poke poke$ \
poke$$ powerarray powertime prefix print print# printer$ printercount process profile progid$ property put put$ put$$ raiseevent randomize read$ \
recv redim regexpr register regrepl rem remain$ remove$ repeat$ replace reset reset resource$ resume retain$ return rgb right$ rmdir rnd rotate round \
rset rset$ rtrim$ screen screenattr screenx screeny scroll seek select send set setattr seteof sgn shell shift shrink$ sin size sizeof \
sleep space$ split sqr static stdeof stderr stdin stdout str$ strdelete$ string$ string$$ stringbuilder strinsert$ strptr strreverse$ sub \
swap switch switch$ switch& tab$ tally tan tcp text then thread threadcount threaded threadid time$ timer tix trace trim$ try txt.cell txt.cls \
txt.color txt.end txt.inkey$ txt.instat txt.line.input txt.print txt.waitkey$ txt.window type type ubound ucase$ ucode$ ucodepage udp unicode \
unicode union unlock unwrap$ using$ utf8tochr$ val val variant# variant$ variant$$ variantvt varptr verify view virtual waitkey$ waitstatwhile wend while \
winmain wrap$ write# xor xprint xprint$ \
#align #bloat #break #compile #compiler #console #debugcode #debugdisplay #debugerror #debugprint #dim #else \
#elseif #endif #export #if #include #link #optimize #option #page #register #resource #stack #tools #unique #utility \
%def %pb_compiletime 

style.33=name:LineNumbers,fore:clBlack,back:clSilver,font:Arial
style.34=name:Ok Braces,fore:clBlue,bold
style.35=name:Bad Braces,fore:clRed,bold
style.36=name:Control Chars,back:clSilver
style.37=name:Indent Guide,fore:clSilver
style.0=name:Whitespace
style.1=name:Comment,fore:clGreen
style.2=name:Number,fore:clTeal
style.3=name:Keyword,fore:clNavy,bold
style.4=name:Double quoted string,fore:clPurple
style.6=name:Operators,bold
style.7=name:Identifier
style.9=name:String Not Closed (EOL),fore:clWhite
style.13=name:Constant,fore:clOlive
style.14=name:Asm

CommentBoxStart=/*
CommentBoxEnd=*/
CommentBoxMiddle=*
CommentBlock='
CommentStreamStart=/*
CommentStreamEnd=*/
AssignmentOperator==
EndOfStatementOperator=;