findAndLoadDefaultConfig function

GeneratorConfig findAndLoadDefaultConfig()

Tries to find and load the default config file (inlay.yaml).

Looks in the current directory and parent directories up to 3 levels. Returns an empty config if no config file is found.

Implementation

GeneratorConfig findAndLoadDefaultConfig() {
  const configFileName = 'inlay.yaml';
  var dir = Directory.current;

  for (var i = 0; i < 4; i++) {
    final configFile = File('${dir.path}/$configFileName');
    if (configFile.existsSync()) {
      return parseYamlConfig(configFile.readAsStringSync());
    }
    final parent = dir.parent;
    if (parent.path == dir.path) {
      break;
    }
    dir = parent;
  }

  return const GeneratorConfig();
}