1<?php
2/*************************************************************************************
3 * vbscript.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 *                     Rory Prendergast (http://www.tanium.com)
9 * Release Version: 1.0.9.1
10 * Date Started: 2012/08/20
11 *
12 * VBScript language file for GeSHi.
13 *
14 * CHANGES
15 * -------
16 * 2012/08/20 (1.0.0)
17 *  -  First Release
18 *
19 * TODO (updated 2004/11/27)
20 * -------------------------
21 *
22 *************************************************************************************
23 *
24 *     This file is part of GeSHi.
25 *
26 *   GeSHi is free software; you can redistribute it and/or modify
27 *   it under the terms of the GNU General Public License as published by
28 *   the Free Software Foundation; either version 2 of the License, or
29 *   (at your option) any later version.
30 *
31 *   GeSHi is distributed in the hope that it will be useful,
32 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
33 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
34 *   GNU General Public License for more details.
35 *
36 *   You should have received a copy of the GNU General Public License
37 *   along with GeSHi; if not, write to the Free Software
38 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
39 *
40 ************************************************************************************/
41
42$language_data = array (
43    'LANG_NAME' => 'VBScript',
44    'COMMENT_SINGLE' => array(),
45    'COMMENT_MULTI' => array(),
46    'COMMENT_REGEXP' => array(
47        // Comments (either single or multiline with _
48        1 => '/\'.*(?<! _)\n/sU',
49        ),
50    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
51    'QUOTEMARKS' => array('"'),
52    'ESCAPE_CHAR' => '',
53    'KEYWORDS' => array(
54        1 => array(
55            'Empty', 'Nothing', 'Null', 'vbArray', 'vbBoolean', 'vbByte',
56            'vbCr', 'vbCrLf', 'vbCurrency', 'vbDate', 'vbDouble', 'vbEmpty',
57            'vbError', 'vbFirstFourDays', 'vbFirstFullWeek', 'vbFirstJan1',
58            'vbFormFeed', 'vbFriday', 'vbInteger', 'vbLf', 'vbLong', 'vbMonday',
59            'vbNewLine', 'vbNull', 'vbNullChar', 'vbNullString', 'vbObject',
60            'vbSaturday', 'vbSingle', 'vbString', 'vbSunday', 'vbTab',
61            'vbThursday', 'vbTuesday', 'vbUseSystem', 'vbUseSystemDayOfWeek',
62            'vbVariant', 'vbWednesday', 'FALSE', 'TRUE'
63            ),
64        2 => array(
65            'bs', 'Array', 'Asc', 'Atn', 'CBool', 'CByte', 'CDate', 'CDbl', 'Chr',
66            'CInt', 'CLng', 'Cos', 'CreateObject', 'CSng', 'CStr', 'Date', 'DateAdd',
67            'DateDiff', 'DatePart', 'DateSerial', 'DateValue', 'Day', 'Eval', 'Exp',
68            'Filter', 'Fix', 'FormatDateTime', 'FormatNumber', 'FormatPercent',
69            'GetObject', 'Hex', 'Hour', 'InputBox', 'InStr', 'InstrRev', 'Int',
70            'IsArray', 'IsDate', 'IsEmpty', 'IsNull', 'IsNumeric', 'IsObject', 'Join',
71            'LBound', 'LCase', 'Left', 'Len', 'Log', 'LTrim', 'Mid', 'Minute', 'Month',
72            'MonthName', 'MsgBox', 'Now', 'Oct', 'Replace', 'RGB', 'Right', 'Rnd',
73            'Round', 'RTrim', 'ScriptEngine', 'ScriptEngineBuildVersion',
74            'ScriptEngineMajorVersion', 'ScriptEngineMinorVersion', 'Second',
75            'Sgn', 'Sin', 'Space', 'Split', 'Sqr', 'StrComp', 'String', 'StrReverse',
76            'Tan', 'Time', 'TimeSerial', 'TimeValue', 'Trim', 'TypeName', 'UBound',
77            'UCase', 'VarType', 'Weekday', 'WeekdayName', 'Year'
78            ),
79        3 => array(
80            'Call', 'Case', 'Const', 'Dim', 'Do', 'Each', 'Else', 'End', 'Erase',
81            'Execute', 'Exit', 'For', 'Function', 'Gosub', 'Goto', 'If', 'Loop',
82            'Next', 'On Error', 'Option Explicit', 'Private', 'Public',
83            'Randomize', 'ReDim', 'Rem', 'Resume', 'Select', 'Set', 'Sub', 'Then',
84            'Wend', 'While', 'With', 'In', 'To', 'Step'
85            ),
86        4 => array(
87            'And', 'Eqv', 'Imp', 'Is', 'Mod', 'Not', 'Or', 'Xor'
88            ),
89        ),
90    'SYMBOLS' => array(
91        '-', '&', '*', '/', '\\', '^', '+', '<', '<=', '<>', '=', '>', '>='
92        ),
93    'CASE_SENSITIVE' => array(
94        GESHI_COMMENTS => false,
95        1 => false,
96        2 => false,
97        3 => false,
98        4 => false
99        ),
100    'STYLES' => array(
101        'KEYWORDS' => array(
102            1 => 'color: #F660AB; font-weight: bold;',
103            2 => 'color: #E56717; font-weight: bold;',
104            3 => 'color: #8D38C9; font-weight: bold;',
105            4 => 'color: #151B8D; font-weight: bold;'
106            ),
107        'COMMENTS' => array(
108            1 => 'color: #008000;'
109            ),
110        'BRACKETS' => array(
111            ),
112        'STRINGS' => array(
113            0 => 'color: #800000;'
114            ),
115        'NUMBERS' => array(
116            ),
117        'METHODS' => array(
118            ),
119        'SYMBOLS' => array(
120            ),
121        'ESCAPE_CHAR' => array(
122            0 => 'color: #800000; font-weight: bold;'
123            ),
124        'SCRIPT' => array(
125            ),
126        'REGEXPS' => array(
127            )
128        ),
129    'URLS' => array(
130        1 => '',
131        2 => '',
132        3 => '',
133        4 => ''
134        ),
135    'OOLANG' => false,
136    'OBJECT_SPLITTERS' => array(
137        ),
138    'REGEXPS' => array(
139        ),
140    'STRICT_MODE_APPLIES' => GESHI_NEVER,
141    'SCRIPT_DELIMITERS' => array(
142        ),
143    'HIGHLIGHT_STRICT_BLOCK' => array(
144        ),
145    'PARSER_CONTROL' => array(
146        'KEYWORDS' => array(
147            'SPACE_AS_WHITESPACE' => true
148            ),
149        'ENABLE_FLAGS' => array(
150            'BRACKETS' => GESHI_NEVER
151            )
152        )
153);
154