Package org.fusesource.jansi
Class AnsiConsole
- java.lang.Object
-
- org.fusesource.jansi.AnsiConsole
-
public class AnsiConsole extends java.lang.Object
Provides consistent access to an ANSI aware console PrintStream or an ANSI codes stripping PrintStream if not on a terminal (see Jansi native isatty(int)).- Since:
- 1.0
- Author:
- Hiram Chirino
- See Also:
systemInstall()
,wrapPrintStream(PrintStream, int) for more details on ANSI mode selection
-
-
Field Summary
Fields Modifier and Type Field Description static java.io.PrintStream
err
static java.io.PrintStream
out
static java.io.PrintStream
system_err
static java.io.PrintStream
system_out
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.io.PrintStream
err()
If the standard out natively supports ANSI escape codes, then this just returns System.err, otherwise it will provide an ANSI aware PrintStream which strips out the ANSI escape sequences or which implement the escape sequences.static java.io.PrintStream
out()
If the standard out natively supports ANSI escape codes, then this just returns System.out, otherwise it will provide an ANSI aware PrintStream which strips out the ANSI escape sequences or which implement the escape sequences.static void
systemInstall()
InstallAnsiConsole.out
toSystem.out
andAnsiConsole.err
toSystem.err
.static void
systemUninstall()
undo a previoussystemInstall()
.static java.io.OutputStream
wrapErrorOutputStream(java.io.OutputStream stream)
Deprecated.static java.io.OutputStream
wrapOutputStream(java.io.OutputStream stream)
Deprecated.static java.io.OutputStream
wrapOutputStream(java.io.OutputStream stream, int fileno)
Deprecated.static java.io.PrintStream
wrapPrintStream(java.io.PrintStream ps, int fileno)
Wrap PrintStream applying rules in following order: ifjansi.passthrough
istrue
, don't wrap but just passthrough (console is expected to natively support ANSI escape codes), ifjansi.strip
istrue
, just strip ANSI escape codes inconditionally, if OS is Windows and terminal is not Cygwin or Mingw, wrap as WindowsAnsiPrintStream to process ANSI escape codes, if file descriptor is a terminal (seeisatty(int)
) orjansi.force
istrue
, just passthrough, else strip ANSI escape codes (not a terminal).static java.io.PrintStream
wrapSystemErr(java.io.PrintStream ps)
static java.io.PrintStream
wrapSystemOut(java.io.PrintStream ps)
-
-
-
Field Detail
-
system_out
public static final java.io.PrintStream system_out
-
out
public static final java.io.PrintStream out
-
system_err
public static final java.io.PrintStream system_err
-
err
public static final java.io.PrintStream err
-
-
Method Detail
-
wrapOutputStream
@Deprecated public static java.io.OutputStream wrapOutputStream(java.io.OutputStream stream)
Deprecated.
-
wrapSystemOut
public static java.io.PrintStream wrapSystemOut(java.io.PrintStream ps)
-
wrapErrorOutputStream
@Deprecated public static java.io.OutputStream wrapErrorOutputStream(java.io.OutputStream stream)
Deprecated.
-
wrapSystemErr
public static java.io.PrintStream wrapSystemErr(java.io.PrintStream ps)
-
wrapOutputStream
@Deprecated public static java.io.OutputStream wrapOutputStream(java.io.OutputStream stream, int fileno)
Deprecated.
-
wrapPrintStream
public static java.io.PrintStream wrapPrintStream(java.io.PrintStream ps, int fileno)
Wrap PrintStream applying rules in following order:- if
jansi.passthrough
istrue
, don't wrap but just passthrough (console is expected to natively support ANSI escape codes), - if
jansi.strip
istrue
, just strip ANSI escape codes inconditionally, - if OS is Windows and terminal is not Cygwin or Mingw, wrap as WindowsAnsiPrintStream to process ANSI escape codes,
- if file descriptor is a terminal (see
isatty(int)
) orjansi.force
istrue
, just passthrough, - else strip ANSI escape codes (not a terminal).
- Parameters:
ps
- original PrintStream to wrapfileno
- file descriptor- Returns:
- wrapped PrintStream depending on OS and system properties
- Since:
- 1.17
- if
-
out
public static java.io.PrintStream out()
If the standard out natively supports ANSI escape codes, then this just returns System.out, otherwise it will provide an ANSI aware PrintStream which strips out the ANSI escape sequences or which implement the escape sequences.- Returns:
- a PrintStream which is ANSI aware.
- See Also:
wrapPrintStream(PrintStream, int)
-
err
public static java.io.PrintStream err()
If the standard out natively supports ANSI escape codes, then this just returns System.err, otherwise it will provide an ANSI aware PrintStream which strips out the ANSI escape sequences or which implement the escape sequences.- Returns:
- a PrintStream which is ANSI aware.
- See Also:
wrapPrintStream(PrintStream, int)
-
systemInstall
public static void systemInstall()
InstallAnsiConsole.out
toSystem.out
andAnsiConsole.err
toSystem.err
.- See Also:
systemUninstall()
-
systemUninstall
public static void systemUninstall()
undo a previoussystemInstall()
. IfsystemInstall()
was called multiple times,systemUninstall()
must be called the same number of times before it is actually uninstalled.
-
-