1<?php
2/*************************************************************************************
3 * vb.php
4 * ------
5 * Author: Roberto Rossi (rsoftware@altervista.org)
6 * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org),
7 *                     Nigel McNie (http://qbnz.com/highlighter)
8 * Release Version: 1.0.9.1
9 * Date Started: 2004/08/30
10 *
11 * Visual Basic language file for GeSHi.
12 *
13 * CHANGES
14 * -------
15 * 2008/08/27 (1.0.8.1)
16 *  -  changed keyword list for better Visual Studio compliance
17 * 2008/08/26 (1.0.8.1)
18 *  -  Fixed multiline comments
19 * 2004/11/27 (1.0.1)
20 *  -  Added support for multiple object splitters
21 * 2004/08/30 (1.0.0)
22 *  -  First Release
23 *
24 * TODO (updated 2004/11/27)
25 * -------------------------
26 *
27 *************************************************************************************
28 *
29 *     This file is part of GeSHi.
30 *
31 *   GeSHi is free software; you can redistribute it and/or modify
32 *   it under the terms of the GNU General Public License as published by
33 *   the Free Software Foundation; either version 2 of the License, or
34 *   (at your option) any later version.
35 *
36 *   GeSHi is distributed in the hope that it will be useful,
37 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
38 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
39 *   GNU General Public License for more details.
40 *
41 *   You should have received a copy of the GNU General Public License
42 *   along with GeSHi; if not, write to the Free Software
43 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
44 *
45 ************************************************************************************/
46
47$language_data = array (
48    'LANG_NAME' => 'Visual Basic',
49    'COMMENT_SINGLE' => array(),
50    'COMMENT_MULTI' => array(),
51    'COMMENT_REGEXP' => array(
52        // Comments (either single or multiline with _
53        1 => '/\'.*(?<! _)$/sUm',
54        ),
55    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
56    'QUOTEMARKS' => array('"'),
57    'ESCAPE_CHAR' => '',
58    'KEYWORDS' => array(
59        1 => array(
60            'Binary', 'Boolean', 'Byte', 'Currency', 'Date', 'Decimal', 'Double',
61            'String', 'Enum', 'Integer', 'Long', 'Object', 'Single', 'Variant'
62            ),
63        2 => array(
64            'CreateObject', 'GetObject', 'New', 'Option', 'Function',
65            'Call', 'Private', 'Public', 'Sub', 'Explicit', 'Compare', 'Exit'
66            ),
67        3 => array(
68            'And', 'Case', 'Do', 'Each', 'Else', 'ElseIf', 'End', 'For', 'GoSub',
69            'Goto', 'If', 'Is', 'Loop', 'Next', 'Not', 'Or', 'Resume', 'Select',
70            'Step', 'Then', 'To', 'Until', 'While', 'With', 'Xor', 'WithEvents',
71            'DoEvents', 'Close', 'Like', 'In'
72            ),
73        4 => array(
74            'As', 'Dim', 'Get', 'Set', 'ReDim', 'Error',
75            'Declare', 'Let', 'ByRef', 'ByVal',
76            'Optional', 'Property', 'Control', 'UBound', 'Mod',
77            'Implements', 'Input', 'LBound', 'Static', 'Stop',
78            'Type', 'TypeOf', 'On', 'Open', 'Output', 'ParamArray',
79            'Preserve', 'Print', 'RaiseEvent', 'Random', 'Line'
80            ),
81        5 => array(
82            'Nothing', 'False', 'True', 'Null', 'Empty'
83            ),
84        6 => array(
85            'ErrorHandler','ExitProc', 'PublishReport'
86            ),
87        ),
88    'SYMBOLS' => array(
89        ),
90    'CASE_SENSITIVE' => array(
91        GESHI_COMMENTS => false,
92        1 => false,
93        2 => false,
94        3 => false,
95        4 => false,
96        5 => false,
97        6 => false
98        ),
99    'STYLES' => array(
100        'KEYWORDS' => array(
101            1 => 'color: #F660AB; font-weight: bold;',
102            2 => 'color: #E56717; font-weight: bold;',
103            3 => 'color: #8D38C9; font-weight: bold;',
104            4 => 'color: #151B8D; font-weight: bold;',
105            5 => 'color: #00C2FF; font-weight: bold;',
106            6 => 'color: #3EA99F; font-weight: bold;'
107            ),
108        'COMMENTS' => array(
109            1 => 'color: #008000;'
110            ),
111        'BRACKETS' => array(
112            ),
113        'STRINGS' => array(
114            0 => 'color: #800000;'
115            ),
116        'NUMBERS' => array(
117            ),
118        'METHODS' => array(
119            ),
120        'SYMBOLS' => array(
121            ),
122        'ESCAPE_CHAR' => array(
123            0 => 'color: #800000; font-weight: bold;'
124            ),
125        'SCRIPT' => array(
126            ),
127        'REGEXPS' => array(
128            )
129        ),
130    'URLS' => array(
131        1 => '',
132        2 => '',
133        3 => '',
134        4 => '',
135        5 => '',
136        6 => ''
137        ),
138    'OOLANG' => false,
139    'OBJECT_SPLITTERS' => array(
140        ),
141    'REGEXPS' => array(
142        ),
143    'STRICT_MODE_APPLIES' => GESHI_NEVER,
144    'SCRIPT_DELIMITERS' => array(
145        ),
146    'HIGHLIGHT_STRICT_BLOCK' => array(
147        ),
148    'PARSER_CONTROL' => array(
149        'ENABLE_FLAGS' => array(
150            'BRACKETS' => GESHI_NEVER,
151            'SYMBOLS' => GESHI_NEVER,
152            'NUMBERS' => GESHI_NEVER
153            )
154        )
155);
156