Improve display with an easy opt-out option and support for dumb terminals, fixes #116 and #131

This commit is contained in:
Guillaume Nodet
2020-11-11 21:09:46 +01:00
parent e40d2bbf26
commit c5e56d0b35
7 changed files with 81 additions and 319 deletions

View File

@@ -257,6 +257,10 @@ public class DaemonParameters {
return property(Environment.DAEMON_MAX_LOST_KEEP_ALIVE).orFail().asInt();
}
public boolean noBuffering() {
return property(Environment.MVND_NO_BUFERING).orFail().asBoolean();
}
public static String findDefaultMultimoduleProjectDirectory(Path pwd) {
Path dir = pwd;
do {

View File

@@ -62,9 +62,10 @@ public class DefaultClient implements Client {
}
}
try (TerminalOutput output = new TerminalOutput(logFile)) {
DaemonParameters parameters = new DaemonParameters();
try (TerminalOutput output = new TerminalOutput(parameters.noBuffering(), logFile)) {
try {
new DefaultClient(new DaemonParameters()).execute(output, args);
new DefaultClient(parameters).execute(output, args);
} catch (DaemonException.InterruptedException e) {
final AttributedStyle s = new AttributedStyle().bold().foreground(AttributedStyle.RED);
String str = new AttributedString(System.lineSeparator() + "Canceled by user", s).toAnsi();