# 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

# Keywords, operators, statements, data types and some words in .frm files
keywordclass.vb6=\
addressof alias and as attribute base begin binary boolean byref byte byval call case compare \
const currency date decimal declare defbool defbyte defint deflng defcur defsng defdbl defdec \
defdate defstr defobj defvar dim do double each else elseif empty end enum eqv erase error \
event exit explicit false for friend function get gosub goto if imp implements in input integer \
is len let lib like load lock long loop lset me mid midb mod new next not nothing null object \
on option optional or paramarray preserve print private property public raiseevent randomize \
redim rem resume return rset seek select set single static step stop string sub then time to \
true type typeof unload until variant wend while with withevents xor

# html.properties picks up VB keywords from keywordclass.vb
keywordclass.vb=$(keywordclass.vb6)

# Mostly system statements (files, registry, I/O...) that
# I am not sure to include with the regular statements.
keywordclass.vbotherstatements=\
appactivate beep chdir chdrive close filecopy get input kill line unlock mkdir name \
open print put reset rmdir savepicture savesetting seek sendkeys setattr width write

# VBNet specific keywords
keywordclass.vbnet=\
addhandler andalso as assembly auto catch cbool cbyte cchar cdate cdbl cdec char cint \
class clng cobj cshort csng cstr ctype default delegate finally gettype handles imports \
inherits interface mustinherit mustoverride mybase myclass namespace notinheritable \
notoverridable orelse overloads overridable overrides protected readonly removehandler \
shadows shared short structure synclock throw try unicode when writeonly

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

keywords2.$(file.patterns.vb)=$(keywordclass.vbotherstatements)

comment.block.vb='~
comment.block.vbscript='~
# VB styles

# Default
style.vb.32=$(font.base)
# White space
style.vb.0=
# 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 (directives)
style.vb.5=$(colour.preproc)
# Operator
style.vb.6=$(colour.operator)
# Identifier
style.vb.7=
# Date
style.vb.8=$(colour.number)
# End of line where string is not closed
style.vb.9=$(style.stringeol)
# Other keywords (bozo test colors :-)
style.vb.10=$(style.vb.5),back:#D0FFD0
style.vb.11=$(style.vb.5),back:#D0D0FF
style.vb.12=$(style.vb.5),back:#FFD0D0

# 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)
style.vbscript.9=$(style.vb.9)
style.vbscript.10=$(style.vb.10)
style.vbscript.11=$(style.vb.11)
style.vbscript.12=$(style.vb.12)

# 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

command.help.$(file.patterns.wscript)=$(CurrentWord)!C:\Program Files\Microsoft Visual Studio\MSDN\2001OCT\1033\MSDN130.COL
command.help.subsystem.$(file.patterns.wscript)=4
command.help.$(file.patterns.vb)=$(CurrentWord)!C:\Program Files\Microsoft Visual Studio\MSDN\2001OCT\1033\MSDN130.COL
command.help.subsystem.$(file.patterns.vb)=4
