loadDefines method

  1. @override
int loadDefines(
  1. String path
)
override

Load defines from a file. Maps to: .load-defines <path>

Returns number of defines loaded, -1 if file not found.

Implementation

@override
int loadDefines(String path) {
  final resolved = _state.resolvePath(path);
  final file = File(resolved);

  if (!file.existsSync()) {
    return -1;
  }

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

    final idx = trimmed.indexOf('=');
    if (idx > 0) {
      final name = trimmed.substring(0, idx).trim();
      final template = trimmed.substring(idx + 1).trim();
      define(name, template);
      count++;
    }
  }

  return count;
}