registerGlobalVariables static method

void registerGlobalVariables(
  1. D4rt interpreter,
  2. String importPath
)

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")}',
    );
  }
}