#54 run multiple snippets

This commit is contained in:
lollipopkit
2023-07-08 00:12:15 +08:00
parent cb16b3a8b6
commit fefd3f9701
25 changed files with 326 additions and 116 deletions

View File

@@ -276,11 +276,11 @@ class ServerProvider extends BusyProvider {
}
}
Future<String?> runSnippet(String id, Snippet snippet) async {
Future<String?> runSnippets(String id, List<Snippet> snippets) async {
final client = _servers[id]?.client;
if (client == null) {
return null;
}
return await client.run(snippet.script).string;
return await client.run(snippets.map((e) => e.script).join('&&')).string;
}
}

View File

@@ -18,17 +18,19 @@ class SnippetProvider extends BusyProvider {
void loadData() {
_snippets = _store.fetch();
_updateTags();
}
void _updateTags() {
_tags.clear();
final tags = <String>{};
for (final s in _snippets) {
if (s.tags?.isEmpty ?? true) {
continue;
}
_tags.addAll(s.tags!);
tags.addAll(s.tags!);
}
_tags.toSet().toList();
_tags.addAll(tags);
}
void add(Snippet snippet) {