Fix client not responding when using help with an output redirection, fixes #519 (#521)

This commit is contained in:
Guillaume Nodet
2021-12-06 16:40:21 +01:00
committed by GitHub
parent a886562a65
commit ad703938ac
2 changed files with 13 additions and 2 deletions

View File

@@ -35,6 +35,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Consumer;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import org.fusesource.jansi.internal.CLibrary;
import org.jline.terminal.Size;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;
@@ -147,7 +148,12 @@ public class TerminalOutput implements ClientOutput {
public TerminalOutput(boolean noBuffering, int rollingWindowSize, Path logFile) throws IOException {
this.start = System.currentTimeMillis();
this.terminal = TerminalBuilder.terminal();
TerminalBuilder builder = TerminalBuilder.builder();
boolean outRedirected = CLibrary.isatty(0) == 1 && CLibrary.isatty(1) == 0;
if (outRedirected) {
builder.dumb(true);
}
this.terminal = builder.build();
this.dumb = terminal.getType().startsWith("dumb");
this.noBuffering = noBuffering;
this.linesPerProject = rollingWindowSize;