default: mac window size & opt.: snippet result

This commit is contained in:
lollipopkit
2023-10-18 19:57:47 +08:00
parent cf4f74dcfc
commit 4984953287
10 changed files with 85 additions and 65 deletions

View File

@@ -7,15 +7,15 @@ enum ServerTabMenuType {
docker,
process,
pkg,
snippet,
//snippet,
;
IconData get icon {
switch (this) {
case ServerTabMenuType.sftp:
return Icons.insert_drive_file;
case ServerTabMenuType.snippet:
return Icons.code;
//case ServerTabMenuType.snippet:
//return Icons.code;
case ServerTabMenuType.pkg:
return Icons.system_security_update;
case ServerTabMenuType.docker:
@@ -31,8 +31,8 @@ enum ServerTabMenuType {
switch (this) {
case ServerTabMenuType.sftp:
return 'SFTP';
case ServerTabMenuType.snippet:
return l10n.snippet;
//case ServerTabMenuType.snippet:
//return l10n.snippet;
case ServerTabMenuType.pkg:
return l10n.pkg;
case ServerTabMenuType.docker:

View File

@@ -3,6 +3,7 @@ import '../server/system.dart';
const seperator = 'SrvBoxSep';
/// The suffix `\t` is for formatting
const _cmdDivider = '\necho $seperator\n\t';
const _serverBoxDir = r'$HOME/.config/server_box';

View File

@@ -45,3 +45,15 @@ class Snippet implements TagPickable {
@override
String get tagName => name;
}
class SnippetResult {
final String? dest;
final String result;
final Duration time;
SnippetResult({
required this.dest,
required this.result,
required this.time,
});
}

View File

@@ -362,18 +362,26 @@ class ServerProvider extends ChangeNotifier {
_limiter.reset(sid);
}
Future<String?> runSnippets(String id, List<Snippet> snippets) async {
Future<SnippetResult?> runSnippets(String id, Snippet snippet) async {
final client = _servers[id]?.client;
if (client == null) {
return null;
}
return await client.run(snippets.map((e) => e.script).join('&&')).string;
final watch = Stopwatch()..start();
final result = await client.run(snippet.script).string;
final time = watch.elapsed;
watch.stop();
return SnippetResult(
dest: _servers[id]?.spi.name,
result: result,
time: time,
);
}
Future<List<String?>> runSnippetsMulti(
Future<List<SnippetResult?>> runSnippetsMulti(
List<String> ids,
List<Snippet> snippets,
Snippet snippet,
) async {
return await Future.wait(ids.map((id) async => runSnippets(id, snippets)));
return await Future.wait(ids.map((id) async => runSnippets(id, snippet)));
}
}

View File

@@ -38,5 +38,6 @@ class GithubIds {
'a1564471347',
'fanzhebufan1',
'wcbing',
'balh55y',
};
}