dp.sh.Brushes.Vba = function()
{
	var keywords =	'AddressOf Alias And Ansi As ' +
					'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 Dim Do Double Each ' +
					'Else ElseIf End Enum Erase Error Event Exit False For Friend ' +
					'Function Get GoSub GoTo If In ' +
					'Integer Interface Is Let Lib Like Long Loop Me Mod Module ' +
					'New Next Not Nothing ' +
					'Object On Option Optional Or ' +
					'ParamArray Preserve Private Property ' +
					'Protected Public RaiseEvent ReadOnly ReDim Resume ' +
					'Return Select Set Shadows Shared Short Single Static Step Stop String ' +
					'Structure Sub Then To True TypeOf Until ' +
					'Variant When While With WithEvents Xor';

	this.regexList = [
		{ regex: new RegExp('\'.*$', 'gm'),							css: 'comment' },			// one line comments
		{ regex: dp.sh.RegexLib.DoubleQuotedString,					css: 'string' },			// strings
		{ regex: new RegExp('^\\s*#.*', 'gm'),						css: 'preprocessor' },		// preprocessor tags like #region and #endregion
		{ regex: new RegExp(this.GetKeywords(keywords), 'gm'),		css: 'keyword' }			// c# keyword
		];

	this.CssClass = 'dp-vba';
}

dp.sh.Brushes.Vba.prototype	= new dp.sh.Highlighter();
dp.sh.Brushes.Vba.Aliases	= ['vba'];
