vbscript function
Highlight.js language definition for vbscript.
Implementation
Mode vbscript(Highlight hljs) {
return Mode(
name: r'VBScript',
aliases: [r'vbs'],
caseInsensitive: true,
keywords: {
r'keyword': [
r'call',
r'class',
r'const',
r'dim',
r'do',
r'loop',
r'erase',
r'execute',
r'executeglobal',
r'exit',
r'for',
r'each',
r'next',
r'function',
r'if',
r'then',
r'else',
r'on',
r'error',
r'option',
r'explicit',
r'new',
r'private',
r'property',
r'let',
r'get',
r'public',
r'randomize',
r'redim',
r'rem',
r'select',
r'case',
r'set',
r'stop',
r'sub',
r'while',
r'wend',
r'with',
r'end',
r'to',
r'elseif',
r'is',
r'or',
r'xor',
r'and',
r'not',
r'class_initialize',
r'class_terminate',
r'default',
r'preserve',
r'in',
r'me',
r'byval',
r'byref',
r'step',
r'resume',
r'goto',
],
r'built_in': [
r'server',
r'response',
r'request',
r'scriptengine',
r'scriptenginebuildversion',
r'scriptengineminorversion',
r'scriptenginemajorversion',
],
r'literal': [r'true', r'false', r'null', r'nothing', r'empty'],
},
illegal: r'//',
contains: [
Mode(
begin:
r'(?:lcase|month|vartype|instrrev|ubound|setlocale|getobject|rgb|getref|string|weekdayname|rnd|dateadd|monthname|now|day|minute|isarray|cbool|round|formatcurrency|conversions|csng|timevalue|second|year|space|abs|clng|timeserial|fixs|len|asc|isempty|maths|dateserial|atn|timer|isobject|filter|weekday|datevalue|ccur|isdate|instr|datediff|formatdatetime|replace|isnull|right|sgn|array|snumeric|log|cdbl|hex|chr|lbound|msgbox|ucase|getlocale|cos|cdate|cbyte|rtrim|join|hour|oct|typename|trim|strcomp|int|createobject|loadpicture|tan|formatnumber|mid|split|cint|sin|datepart|ltrim|sqr|time|derived|eval|date|formatpercent|exp|inputbox|left|ascw|chrw|regexp|cstr|err)\s*\(',
relevance: 0,
keywords: {
r'built_in': [
r'lcase',
r'month',
r'vartype',
r'instrrev',
r'ubound',
r'setlocale',
r'getobject',
r'rgb',
r'getref',
r'string',
r'weekdayname',
r'rnd',
r'dateadd',
r'monthname',
r'now',
r'day',
r'minute',
r'isarray',
r'cbool',
r'round',
r'formatcurrency',
r'conversions',
r'csng',
r'timevalue',
r'second',
r'year',
r'space',
r'abs',
r'clng',
r'timeserial',
r'fixs',
r'len',
r'asc',
r'isempty',
r'maths',
r'dateserial',
r'atn',
r'timer',
r'isobject',
r'filter',
r'weekday',
r'datevalue',
r'ccur',
r'isdate',
r'instr',
r'datediff',
r'formatdatetime',
r'replace',
r'isnull',
r'right',
r'sgn',
r'array',
r'snumeric',
r'log',
r'cdbl',
r'hex',
r'chr',
r'lbound',
r'msgbox',
r'ucase',
r'getlocale',
r'cos',
r'cdate',
r'cbyte',
r'rtrim',
r'join',
r'hour',
r'oct',
r'typename',
r'trim',
r'strcomp',
r'int',
r'createobject',
r'loadpicture',
r'tan',
r'formatnumber',
r'mid',
r'split',
r'cint',
r'sin',
r'datepart',
r'ltrim',
r'sqr',
r'time',
r'derived',
r'eval',
r'date',
r'formatpercent',
r'exp',
r'inputbox',
r'left',
r'ascw',
r'chrw',
r'regexp',
r'cstr',
r'err',
],
},
),
Mode(
scope: r'string',
begin: r'"',
end: r'"',
illegal: r'\n',
contains: [Mode(begin: r'""')],
),
Mode(
scope: r'comment',
begin: r"'",
end: r'$',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
relevance: 0,
),
Mode(
scope: r'number',
begin:
r'(-?)(\b0[xX][a-fA-F0-9]+|(\b\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?)',
relevance: 0,
),
],
);
}