loadMergedSettings function
Load and merge settings from all sources.
Implementation
Future<SettingsJson> loadMergedSettings({
required String projectDir,
required String userConfigDir,
String? policyPath,
}) async {
// Load each source
final policy = policyPath != null ? await loadSettingsFile(policyPath) : null;
final project = await loadSettingsFile('$projectDir/.neomage/settings.json');
final local = await loadSettingsFile(
'$projectDir/.neomage/settings.local.json',
);
final user = await loadSettingsFile('$userConfigDir/settings.json');
// Merge (later sources fill gaps, earlier sources take priority)
return mergeSettings([?policy, ?project, ?local, ?user]);
}