diff --git a/terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/FfmTerminalProvider.java b/terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/FfmTerminalProvider.java index 52fd200fb..828bd33af 100644 --- a/terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/FfmTerminalProvider.java +++ b/terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/FfmTerminalProvider.java @@ -110,4 +110,9 @@ public String systemStreamName(SystemStream stream) { public int systemStreamWidth(SystemStream stream) { return FfmNativePty.systemStreamWidth(stream); } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal-jansi/src/main/java/org/jline/terminal/impl/jansi/JansiTerminalProvider.java b/terminal-jansi/src/main/java/org/jline/terminal/impl/jansi/JansiTerminalProvider.java index 2d0c56409..bd1e56907 100644 --- a/terminal-jansi/src/main/java/org/jline/terminal/impl/jansi/JansiTerminalProvider.java +++ b/terminal-jansi/src/main/java/org/jline/terminal/impl/jansi/JansiTerminalProvider.java @@ -219,4 +219,9 @@ public String systemStreamName(SystemStream stream) { public int systemStreamWidth(SystemStream stream) { return JansiNativePty.systemStreamWidth(stream); } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal-jna/src/main/java/org/jline/terminal/impl/jna/JnaTerminalProvider.java b/terminal-jna/src/main/java/org/jline/terminal/impl/jna/JnaTerminalProvider.java index 2b219a817..bd0e9405f 100644 --- a/terminal-jna/src/main/java/org/jline/terminal/impl/jna/JnaTerminalProvider.java +++ b/terminal-jna/src/main/java/org/jline/terminal/impl/jna/JnaTerminalProvider.java @@ -141,4 +141,9 @@ public int systemStreamWidth(SystemStream stream) { return -1; } } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal-jni/src/main/java/org/jline/terminal/impl/jni/JniTerminalProvider.java b/terminal-jni/src/main/java/org/jline/terminal/impl/jni/JniTerminalProvider.java index a1581ad20..4ac4c1cae 100644 --- a/terminal-jni/src/main/java/org/jline/terminal/impl/jni/JniTerminalProvider.java +++ b/terminal-jni/src/main/java/org/jline/terminal/impl/jni/JniTerminalProvider.java @@ -158,4 +158,9 @@ public String systemStreamName(SystemStream stream) { public int systemStreamWidth(SystemStream stream) { return JniNativePty.systemStreamWidth(stream); } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal/src/main/java/org/jline/terminal/impl/DumbTerminalProvider.java b/terminal/src/main/java/org/jline/terminal/impl/DumbTerminalProvider.java index c5facb312..f505c77a2 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/DumbTerminalProvider.java +++ b/terminal/src/main/java/org/jline/terminal/impl/DumbTerminalProvider.java @@ -81,4 +81,9 @@ public String systemStreamName(SystemStream stream) { public int systemStreamWidth(SystemStream stream) { return 0; } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal/src/main/java/org/jline/terminal/impl/exec/ExecTerminalProvider.java b/terminal/src/main/java/org/jline/terminal/impl/exec/ExecTerminalProvider.java index 580a761b3..61103668c 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/exec/ExecTerminalProvider.java +++ b/terminal/src/main/java/org/jline/terminal/impl/exec/ExecTerminalProvider.java @@ -252,4 +252,9 @@ public ProcessBuilder.Redirect newRedirectPipe(FileDescriptor fd) { return JLineLibrary.newRedirectPipe(fd); } } + + @Override + public String toString() { + return "TerminalProvider[" + name() + "]"; + } } diff --git a/terminal/src/main/java/org/jline/utils/ColorPalette.java b/terminal/src/main/java/org/jline/utils/ColorPalette.java index 22f52dbff..ebc32ce5a 100644 --- a/terminal/src/main/java/org/jline/utils/ColorPalette.java +++ b/terminal/src/main/java/org/jline/utils/ColorPalette.java @@ -265,4 +265,9 @@ private static int[] doLoad(Terminal terminal) throws IOException { ; return Arrays.copyOfRange(palette, 0, max + 1); } + + @Override + public String toString() { + return "ColorPalette[" + "length=" + getLength() + ", " + "distance='" + getDist() + "\']"; + } } diff --git a/terminal/src/main/java/org/jline/utils/Colors.java b/terminal/src/main/java/org/jline/utils/Colors.java index 30b33e522..de3b5af25 100644 --- a/terminal/src/main/java/org/jline/utils/Colors.java +++ b/terminal/src/main/java/org/jline/utils/Colors.java @@ -211,7 +211,7 @@ static Distance getDistance(String dist) { if (dist == null) { dist = System.getProperty(PROP_COLOR_DISTANCE, "cie76"); } - return doGetDistance(dist); + return new NamedDistance(dist, doGetDistance(dist)); } private static Distance doGetDistance(String dist) { @@ -291,6 +291,26 @@ private static double scalar(double[] c1, double[] c2) { return sqr(c1[0] - c2[0]) + sqr(c1[1] - c2[1]) + sqr(c1[2] - c2[2]); } + private static class NamedDistance implements Distance { + private final String name; + private final Distance delegate; + + public NamedDistance(String name, Distance delegate) { + this.name = name; + this.delegate = delegate; + } + + @Override + public double compute(int c1, int c2) { + return delegate.compute(c1, c2); + } + + @Override + public String toString() { + return name; + } + } + private static final int L = 0; private static final int A = 1; private static final int B = 2; diff --git a/terminal/src/main/java/org/jline/utils/Status.java b/terminal/src/main/java/org/jline/utils/Status.java index d301d3df2..5f5d2ff49 100644 --- a/terminal/src/main/java/org/jline/utils/Status.java +++ b/terminal/src/main/java/org/jline/utils/Status.java @@ -190,4 +190,9 @@ public void restore() { public int size() { return oldLines.size() + border; } + + @Override + public String toString() { + return "Status[" + "supported=" + supported + ']'; + } }