removeFontFromConfig function

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

Implementation

Future<void> removeFontFromConfig(
    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 = List<String>.from(yamlMap['fonts'] ?? [])
    ..removeWhere(
      (font) => fonts.contains(font),
    );
  final updatedConfig = {'fonts': updatedFonts};
  await file.writeAsString(YamlWriter().write(updatedConfig));
  print(AnsiStyles.greenBright
      .bold('\n✔ ︎Fonts removed from configuration file.\n'));
}