beginCommand endCommand beginInstruction endInstruction beginVariable endVariable firstString " secondString firstSingleLineComment ' secondSingleLineComment beginFirstMultiLineComment endFirstMultiLineComment beginSecondMultiLineComment endSecondMultiLineComment functionDefinition ^\s*\w*(function|sub)\s+.* removeFromFunction function keywordsCaseSensitive recolourKeywordIfAlreadyColoured keywords if then else elseif select case for to step next each in do while until loop wend exit end function sub class property get let set byval byref const dim redim preserve as set with new public default private rem call execute eval on error goto resume option explicit erase randomize is mod and or not xor imp false true empty nothing null