Cache outcome of checking to see if host supports ANSI output

Closes gh-4510
pull/4844/head
Andy Wilkinson 9 years ago
parent 8dc3b71ced
commit b36fe2cbd8

@ -30,6 +30,8 @@ public abstract class AnsiOutput {
private static Enabled enabled = Enabled.DETECT;
private static Boolean ansiCapable;
private static final String OPERATING_SYSTEM_NAME = System.getProperty("os.name")
.toLowerCase();
@ -108,12 +110,19 @@ public abstract class AnsiOutput {
private static boolean isEnabled() {
if (enabled == Enabled.DETECT) {
return detectIfEnabled();
return detectIfAnsiCapable();
}
return enabled == Enabled.ALWAYS;
}
private static boolean detectIfEnabled() {
private static boolean detectIfAnsiCapable() {
if (ansiCapable == null) {
ansiCapable = doDetectIfAnsiCapable();
}
return ansiCapable;
}
private static boolean doDetectIfAnsiCapable() {
try {
if (System.console() == null) {
return false;

Loading…
Cancel
Save