Skip to content

Commit ae13a66

Browse files
committed
[fix] update command
1 parent c76d15a commit ae13a66

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

lib/features/update.dart

+14-12
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,21 @@ class UpdateCommand extends Command<void> {
2424
'git -C \$(brew --repository mikeborodin/terrun) pull',
2525
'brew upgrade terrun',
2626
];
27-
final updated = await Stream.fromIterable(script).asyncMap((line) => _shell.run(line)).any(
28-
(element) => element.stdout != 0,
27+
for (final line in script) {
28+
final result = await _shell.run(line);
29+
if (result.exitCode == 0) {
30+
_display.drawMessage(
31+
'"$line" finished succesfully ',
32+
type: MessageType.success,
33+
clear: false,
2934
);
30-
if (updated) {
31-
_display.drawMessage(
32-
'Updated successfully',
33-
type: MessageType.success,
34-
);
35-
} else {
36-
_display.drawMessage(
37-
'Error while running lines $script',
38-
type: MessageType.error,
39-
);
35+
} else {
36+
_display.drawMessage(
37+
'Error while running $line\n${result.stderr}',
38+
type: MessageType.error,
39+
clear: false,
40+
);
41+
}
4042
}
4143
}
4244
}

lib/services/display/console_display_service.dart

+8-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:terrun/services/services.dart';
66
import '../../core/core.dart';
77

88
class ConsoleDisplaySevice implements DisplayService {
9-
109
final theme = Theme(
1110
info: 15,
1211
error: 1,
@@ -59,8 +58,14 @@ class ConsoleDisplaySevice implements DisplayService {
5958
}
6059

6160
@override
62-
void drawMessage(String message, {MessageType? type = MessageType.info}) {
63-
_clear();
61+
void drawMessage(
62+
String message, {
63+
MessageType? type = MessageType.info,
64+
bool clear = true,
65+
}) {
66+
if (clear) {
67+
_clear();
68+
}
6469
final color = {
6570
MessageType.success: theme.success,
6671
MessageType.error: theme.error,

lib/services/display/display_service.dart

+1
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ abstract class DisplayService {
1616
void drawMessage(
1717
String message, {
1818
MessageType? type = MessageType.info,
19+
bool clear = true,
1920
});
2021
}

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: terrun
22
description: terrun - efficient terminal runner
3-
version: 0.0.9
3+
version: 0.0.10
44
repository: https://github.com/mikeborodin/menusc
55

66
environment:

0 commit comments

Comments
 (0)