loadAnalysisOptions static method
Loads the top-level analysis_options section from rekeens.yaml.
Unlike load (which reads the defaults section), this returns the
full nested structure as plain Dart maps/lists so it can be serialized
back to analysis_options.yaml in the generated project.
Implementation
static Map<String, dynamic>? loadAnalysisOptions({
String? workingDirectory,
String? homeDirectory,
Logger? log,
}) {
final effectiveLog = log ?? logger;
final configFile = _findConfigFile(
workingDirectory: workingDirectory,
homeDirectory: homeDirectory,
);
if (configFile == null) return null;
try {
final content = File(configFile).readAsStringSync();
final yamlMap = loadYaml(content);
if (yamlMap is! Map) return null;
final analysisOptions = yamlMap['analysis_options'];
if (analysisOptions is YamlMap) {
final converted = _convertYamlNode(analysisOptions);
if (converted is Map<String, dynamic>) return converted;
}
return null;
} catch (error) {
effectiveLog.warn(
'Failed to parse analysis_options in rekeens.yaml at "$configFile": '
'$error. Ignoring analysis_options config.',
);
return null;
}
}