/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
 *
 * @version
 * 2.1.364 (October 15 2009)
 *
 * @copyright
 * Copyright (C) 2004-2009 Alex Gorbatchev.
 *
 * @license
 * This file is part of SyntaxHighlighter.
 *
 * SyntaxHighlighter is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * SyntaxHighlighter is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with SyntaxHighlighter.  If not, see <http://www.gnu.org/copyleft/lesser.html>.
 */
SyntaxHighlighter.brushes.Vb = function()
{
    var keywords =    '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 DirectCast Do Double Each ' +
                    'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' +
                    'Function Get GetType GoSub 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';

    this.regexList = [
        { regex: /'.*$/gm,                                        css: 'comments' },            // one line comments
        { regex: SyntaxHighlighter.regexLib.doubleQuotedString,    css: 'string' },            // strings
        { regex: /^\s*#.*$/gm,                                    css: 'preprocessor' },        // preprocessor tags like #region and #endregion
        { regex: new RegExp(this.getKeywords(keywords), 'gm'),    css: 'keyword' }            // vb keyword
        ];

    this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};

SyntaxHighlighter.brushes.Vb.prototype    = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Vb.aliases    = ['vb', 'vbnet'];

