pluginsGenerator function
Implementation
FigGenerator pluginsGenerator({required bool installed}) {
return FigGenerator(
cache: FigCache(strategy: "stale-while-revalidate"),
custom: (List<String> tokens, ExecuteCommandFunction? executeShellCommand,
FigGeneratorContext? context) async {
if (executeShellCommand == null) return [];
final args = installed
? ["plugins", "list", "--format", "json", "--installed"]
: ["plugins", "list", "--format", "json"];
final out = await executeShellCommand(ExecuteCommandInput(
command: "fig",
args: args,
));
final json = jsonDecode(out.stdout) as List;
final plugins = json.map((e) => Plugin.fromJson(e)).toList();
return plugins.map((plugin) {
final icon = !plugin.icon.startsWith("https://") ? plugin.icon : "📦";
return FigSuggestion(
name: plugin.name,
icon: icon,
description: plugin.description,
);
}).toList();
},
);
}