# Define SciTE settings for VB files.

# BAS: Module, FRM: Form, CLS: Class Module, CTL: User Control
# PAG: Property Page, DSR: Data Report, DOB: User Document
file.patterns.vb=*.vb;*.bas;*.frm;*.cls;*.ctl;*.pag;*.dsr;*.dob
# VBS: VBScript, DSM: Visual[ex. Dev] Studio macro
file.patterns.wscript=*.vbs;*.dsm

# VBP: VB Project, VBG: VB Project Group (ActiveX), MAK: old (VB3) project file, VBW: VB Workspace
filter.vb=VB (vb vbp vbs bas frm cls ctl pag dsr dob)|$(file.patterns.vb);$(file.patterns.wscript);*.vbp;*.vbg;*.mak;*.vbw|

lexer.$(file.patterns.vb)=vb
lexer.$(file.patterns.wscript)=vbscript

keywordclass.vb=and begin case call continue do each else elseif end erase \
error event exit false for function get gosub goto if implement in load loop lset \
me mid new next not nothing on or property raiseevent rem resume return rset \
select set stop sub then to true unload until wend while with withevents \
attribute alias as boolean byref byte byval const compare currency date declare dim double \
enum explicit friend global integer let lib long module object option optional \
preserve private property public redim single static string type variant

keywordclass.vbnet=addhandler addressof andalso alias and ansi as assembly auto boolean \
byref byte byval call case catch cbool cbyte cchar cdate cdec cdbl char cint class \
clng cobj const cshort csng cstr ctype date decimal declare default delegate dim do double \
each else elseif end enum erase error event exit false finally for friend function get \
gettype goto  handles if implements imports in inherits integer interface is let lib like long \
loop me mod module mustinherit mustoverride mybase myclass namespace new \
next not nothing notinheritable notoverridable object on option optional or \
orelse overloads overridable overrides paramarray preserve private property protected public \
raiseevent readonly redim rem removehandler resume return select set shadows \
shared short single static step stop string structure sub synclock then throw to true try \
typeof unicode until variant when while with withevents writeonly xor

keywords.$(file.patterns.vb)=$(keywordclass.vbnet)
keywords.$(file.patterns.wscript)=$(keywordclass.vb)

# Not used here, mostly system statements (files, registry, I/O...),
# I am not sure I should include them in the regular statements.
keywordclass.vbotherstatements=appactivate beep chdir chdrive close \
deletesetting filecopy get input kill line lock unlock lset mid mkdir name \
open print put randomize reset rmdir rset savepicture savesetting seek \
sendkeys setattr time unload width write

comment.block.vb='~

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

# VBScript styles same as VB styles
style.vbscript.0=$(style.vb.0)
style.vbscript.1=$(style.vb.1)
style.vbscript.2=$(style.vb.2)
style.vbscript.3=$(style.vb.3)
style.vbscript.4=$(style.vb.4)
style.vbscript.5=$(style.vb.5)
style.vbscript.6=$(style.vb.6)
style.vbscript.7=$(style.vb.7)
style.vbscript.8=$(style.vb.8)

# wscript
# normal execute
command.go.$(file.patterns.wscript)="$(FilePath)"
command.go.subsystem.$(file.patterns.wscript)=2

# note we have no real "build"; rather "execute and capture
# compiletime and runtime errors"
command.build.$(file.patterns.wscript)=cscript "$(FilePath)"
command.build.subsystem.$(file.patterns.wscript)=1

