addFontToConfig function

Future<void> addFontToConfig(
  1. String configFilePath,
  2. List<String> fonts
)

Implementation

Future<void> addFontToConfig(String configFilePath, List<String> fonts) async {
  final file = File(configFilePath);
  if (!file.existsSync()) {
    throw ConfigException("Configuration file `$configFilePath` not found.");
  }

  final contents = await file.readAsString();
  final yamlMap = loadYaml(contents) as YamlMap;

  final updatedFonts = Set<dynamic>.from(yamlMap['fonts'] ?? [])..addAll(fonts);
  final updatedConfig = {'fonts': updatedFonts.toList()};
  await file.writeAsString(YamlWriter().write(updatedConfig));
  print(
      AnsiStyles.greenBright.bold('\n✔ Fonts added to configuration file.\n'));
}