script method

  1. @override
Future<int> script(
  1. String path
)
override

Load file line-by-line as script. Maps to: .script <path>

Implementation

@override
Future<int> script(String path) async {
  final resolved = _state.resolvePath(path);
  final file = File(resolved);

  if (!file.existsSync()) {
    throw CliFileNotFoundException(resolved);
  }

  final lines = file.readAsLinesSync();
  var count = 0;

  for (final line in lines) {
    final trimmed = line.trim();
    if (trimmed.isEmpty || trimmed.startsWith('#')) continue;

    await _d4rt.eval(line);
    count++;
  }

  return count;
}