Files
cloud-code/claude-code-source/node_modules/.ignored/highlight.js/lib/languages/vbscript.js
janlaywss 6187147b74 reconstruct and build @anthropic-ai/claude-code source from source map
- Extract 4756 source files from cli.js.map (57MB)
- Set up Bun build system with bun:bundle feature flag shim
- Configure 90+ compile-time feature flags matching production defaults
- Inject MACRO constants (VERSION, BUILD_TIME, etc.)
- Create stubs for private packages (color-diff-napi, modifiers-napi, etc.)
- Install all public dependencies via pnpm
- Patch commander v14 to allow multi-char short flags (-d2e)
- Build output: dist/cli.js (22MB), verified working
2026-03-31 19:19:50 +08:00

110 lines
3.1 KiB
JavaScript

/**
* @param {string} value
* @returns {RegExp}
* */
/**
* @param {RegExp | string } re
* @returns {string}
*/
function source(re) {
if (!re) return null;
if (typeof re === "string") return re;
return re.source;
}
/**
* @param {...(RegExp | string) } args
* @returns {string}
*/
function concat(...args) {
const joined = args.map((x) => source(x)).join("");
return joined;
}
/**
* Any of the passed expresssions may match
*
* Creates a huge this | this | that | that match
* @param {(RegExp | string)[] } args
* @returns {string}
*/
function either(...args) {
const joined = '(' + args.map((x) => source(x)).join("|") + ")";
return joined;
}
/*
Language: VBScript
Description: VBScript ("Microsoft Visual Basic Scripting Edition") is an Active Scripting language developed by Microsoft that is modeled on Visual Basic.
Author: Nikita Ledyaev <lenikita@yandex.ru>
Contributors: Michal Gabrukiewicz <mgabru@gmail.com>
Website: https://en.wikipedia.org/wiki/VBScript
Category: scripting
*/
/** @type LanguageFn */
function vbscript(hljs) {
const BUILT_IN_FUNCTIONS = ('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').split(" ");
const BUILT_IN_OBJECTS = [
"server",
"response",
"request",
// take no arguments so can be called without ()
"scriptengine",
"scriptenginebuildversion",
"scriptengineminorversion",
"scriptenginemajorversion"
];
const BUILT_IN_CALL = {
begin: concat(either(...BUILT_IN_FUNCTIONS), "\\s*\\("),
// relevance 0 because this is acting as a beginKeywords really
relevance:0,
keywords: {
built_in: BUILT_IN_FUNCTIONS
}
};
return {
name: 'VBScript',
aliases: ['vbs'],
case_insensitive: true,
keywords: {
keyword:
'call class const dim do loop erase execute executeglobal exit for each next function ' +
'if then else on error option explicit new private property let get public randomize ' +
'redim rem select case set stop sub while wend with end to elseif is or xor and not ' +
'class_initialize class_terminate default preserve in me byval byref step resume goto',
built_in: BUILT_IN_OBJECTS,
literal:
'true false null nothing empty'
},
illegal: '//',
contains: [
BUILT_IN_CALL,
hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [{begin: '""'}]}),
hljs.COMMENT(
/'/,
/$/,
{
relevance: 0
}
),
hljs.C_NUMBER_MODE
]
};
}
module.exports = vbscript;