exportSettings function

Future<String> exportSettings()

Export Neomage settings for backup.

Implementation

Future<String> exportSettings() async {
  final home = Platform.environment['HOME'] ?? '';
  final paths = [
    '$home/.neomage/settings.json',
    '$home/.neomage/settings.local.json',
  ];

  final export = <String, dynamic>{
    'exportVersion': 1,
    'exportDate': DateTime.now().toIso8601String(),
    'settings': <String, dynamic>{},
  };

  for (final path in paths) {
    final file = File(path);
    if (await file.exists()) {
      final content = await file.readAsString();
      export['settings']![p.basename(path)] = jsonDecode(content);
    }
  }

  return const JsonEncoder.withIndent('  ').convert(export);
}