listProfiles method
List all saved profiles
Implementation
Future<List<ProfileInfo>> listProfiles() async {
final dir = Directory(profilesDir);
if (!await dir.exists()) {
return [];
}
final profiles = <ProfileInfo>[];
await for (final FileSystemEntity entity in dir.list()) {
if (entity is File && entity.path.endsWith('.yaml')) {
final name = p.basenameWithoutExtension(entity.path);
final stat = await entity.stat();
try {
final config = await loadProfile(name);
profiles.add(ProfileInfo(
name: name,
path: entity.path,
lastModified: stat.modified,
config: config,
));
} catch (e) {
// Skip invalid profiles
warn('Skipping invalid profile: $name ($e)');
}
}
}
// Sort by name
profiles.sort((ProfileInfo a, ProfileInfo b) => a.name.compareTo(b.name));
return profiles;
}