writeSettingsFile function

Future<void> writeSettingsFile(
  1. String path,
  2. SettingsJson settings
)

Write settings to a file (preserves unknown fields).

Implementation

Future<void> writeSettingsFile(String path, SettingsJson settings) async {
  final file = File(path);
  await file.parent.create(recursive: true);

  // Merge with existing raw to preserve unknown fields
  final existing = await loadSettingsFile(path);
  final merged = <String, dynamic>{...?existing?.raw, ...settings.toJson()};

  final encoder = const JsonEncoder.withIndent('  ');
  await file.writeAsString('${encoder.convert(merged)}\n');
}