loadConfig method
Loads the configuration from file.
Creates a default configuration file if none exists.
notifyIfCreated
- Whether to print a message if a new config file was created.
Returns a FileMapperConfig object containing the loaded or default configuration.
Implementation
Future<FileMapperConfig> loadConfig({bool notifyIfCreated = true}) async {
final configFile = File(configFilePath);
// If config doesn't exist, create it with defaults
if (!await configFile.exists()) {
final defaultConfig = FileMapperConfig.defaultConfig();
await saveConfig(defaultConfig);
if (notifyIfCreated) {
print('Created default configuration file at: $configFilePath');
print('You can edit this file to customize ignore patterns.');
}
return defaultConfig;
}
try {
final jsonContent = await configFile.readAsString();
final jsonMap = jsonDecode(jsonContent) as Map<String, dynamic>;
return FileMapperConfig.fromJson(jsonMap);
} catch (e) {
print('Error reading config file: $e');
print('Using default configuration instead.');
return FileMapperConfig.defaultConfig();
}
}