load static method
Implementation
static Future<ToolConfig> load() async {
final env = Platform.environment['lunariseye_CONFIG_DIR'];
final home = env ?? '${Platform.environment['HOME'] ?? '.'}/.lunariseye';
final dir = Directory(home);
if (!dir.existsSync()) dir.createSync(recursive: true);
final file = File('${dir.path}/config.json');
final cfg = ToolConfig._(dir, file);
if (file.existsSync()) {
try {
final text = await file.readAsString();
final json = jsonDecode(text) as Map<String, dynamic>;
if (json.containsKey('profiles')) {
final p = json['profiles'] as Map<String, dynamic>;
p.forEach((k, v) {
cfg.profiles[k] = ToolProfile.fromJson(v as Map<String, dynamic>);
});
}
if (json.containsKey('lastResults')) {
cfg.lastResults = json['lastResults'];
}
} catch (_) {
// ignore parse errors; start fresh
}
}
return cfg;
}