registerGlobalVariables static method
Registers all global variables with the interpreter.
importPath is the package import path for library-scoped registration.
Collects all registration errors and throws a single exception
with all error details if any registrations fail.
Implementation
static void registerGlobalVariables(D4rt interpreter, String importPath) {
final errors = <String>[];
try {
interpreter.registerGlobalVariable(
'defaultVSCodeBridgePort',
$tom_vscode_scripting_api_23.defaultVSCodeBridgePort,
importPath,
sourceUri:
'package:tom_vscode_scripting_api/src/vscode_bridge_client.dart',
);
} catch (e) {
errors.add('Failed to register variable "defaultVSCodeBridgePort": $e');
}
try {
interpreter.registerGlobalVariable(
'maxVSCodeBridgePort',
$tom_vscode_scripting_api_23.maxVSCodeBridgePort,
importPath,
sourceUri:
'package:tom_vscode_scripting_api/src/vscode_bridge_client.dart',
);
} catch (e) {
errors.add('Failed to register variable "maxVSCodeBridgePort": $e');
}
interpreter.registerGlobalGetter(
'vscode',
() => $tom_vscode_scripting_api_1.vscode,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'window',
() => $tom_vscode_scripting_api_1.window,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'workspace',
() => $tom_vscode_scripting_api_1.workspace,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'commands',
() => $tom_vscode_scripting_api_1.commands,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'extensions',
() => $tom_vscode_scripting_api_1.extensions,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'lm',
() => $tom_vscode_scripting_api_1.lm,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
interpreter.registerGlobalGetter(
'chat',
() => $tom_vscode_scripting_api_1.chat,
importPath,
sourceUri: 'package:tom_vscode_scripting_api/script_globals.dart',
);
if (errors.isNotEmpty) {
throw StateError(
'Bridge registration errors (tom_vscode_scripting_api):\n${errors.join("\n")}',
);
}
}