Class AnsiConsole

java.lang.Object
org.fusesource.jansi.AnsiConsole

public class AnsiConsole extends Object
Provides consistent access to an ANSI aware console PrintStream or an ANSI codes stripping PrintStream if not on a terminal (see Jansi native CLibrary isatty(int)).

The native library used is named jansi and is loaded using HawtJNI Runtime Library

Since:
1.0
Author:
Hiram Chirino
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Deprecated.
    this field will be made private in a future release, use err() instead
    static final String
    The default color support that Jansi will use, can be either 16, 256 or truecolor.
    static final String
    Force the use of 16 colors.
    static final String
    Force the use of 256 colors.
    static final String
    Force the use of 24-bit colors.
    static final String
    Deprecated.
    this property has been added but only for backward compatibility.
    static final String
    Jansi colors specific to the standard error stream.
    static final String
    Jansi mode specific to the standard error stream.
    static final String
    Deprecated.
    use JANSI_MODE instead
    static final String
    If the jansi.graceful system property is set to false, any exception that occurs during the initialization will cause the library to report this exception and fail.
    static final String
    The default mode which Jansi will use, can be either force, strip or default (the default).
    static final String
    Jansi mode value that output sequences if on a terminal, else strip them.
    static final String
    Jansi mode value to force ansi sequences to the stream even if it's not a terminal.
    static final String
    Jansi mode value to strip all ansi sequences.
    static final String
    If the jansi.noreset system property is set to true, the attributes won't be reset when the streams are uninstalled.
    static final String
    Jansi colors specific to the standard output stream.
    static final String
    Jansi mode specific to the standard output stream.
    static final String
    Deprecated.
    use JANSI_MODE instead
    static final String
    Deprecated.
    use JANSI_MODE instead
    Deprecated.
    this field will be made private in a future release, use out() instead
    Deprecated.
    this field will be made private in a future release, use sysErr() instead
    Deprecated.
    this field will be made private in a future release, use sysOut() instead
  • Method Summary

    Modifier and Type
    Method
    Description
    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 int
    Try to find the width of the console for this process.
    static boolean
    check if the streams have been installed or not
    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.
    Access to the original System.err stream before ansi streams were installed.
    Access to the original System.out stream before ansi streams were installed.
    static void
    Install AnsiConsole.out() to System.out and AnsiConsole.err() to System.err.
    static void
    undo a previous systemInstall().

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • JANSI_MODE

      public static final String JANSI_MODE
      The default mode which Jansi will use, can be either force, strip or default (the default). If this property is set, it will override jansi.passthrough, jansi.strip and jansi.force properties.
      See Also:
    • JANSI_OUT_MODE

      public static final String JANSI_OUT_MODE
      Jansi mode specific to the standard output stream.
      See Also:
    • JANSI_ERR_MODE

      public static final String JANSI_ERR_MODE
      Jansi mode specific to the standard error stream.
      See Also:
    • JANSI_MODE_STRIP

      public static final String JANSI_MODE_STRIP
      Jansi mode value to strip all ansi sequences.
      See Also:
    • JANSI_MODE_FORCE

      public static final String JANSI_MODE_FORCE
      Jansi mode value to force ansi sequences to the stream even if it's not a terminal.
      See Also:
    • JANSI_MODE_DEFAULT

      public static final String JANSI_MODE_DEFAULT
      Jansi mode value that output sequences if on a terminal, else strip them.
      See Also:
    • JANSI_COLORS

      public static final String JANSI_COLORS
      The default color support that Jansi will use, can be either 16, 256 or truecolor. If not set, JANSI will try to autodetect the number of colors supported by the terminal by checking the COLORTERM and TERM variables.
      See Also:
    • JANSI_OUT_COLORS

      public static final String JANSI_OUT_COLORS
      Jansi colors specific to the standard output stream.
      See Also:
    • JANSI_ERR_COLORS

      public static final String JANSI_ERR_COLORS
      Jansi colors specific to the standard error stream.
      See Also:
    • JANSI_COLORS_16

      public static final String JANSI_COLORS_16
      Force the use of 16 colors. When using a 256-indexed color, or an RGB color, the color will be rounded to the nearest one from the 16 palette.
      See Also:
    • JANSI_COLORS_256

      public static final String JANSI_COLORS_256
      Force the use of 256 colors. When using an RGB color, the color will be rounded to the nearest one from the standard 256 palette.
      See Also:
    • JANSI_COLORS_TRUECOLOR

      public static final String JANSI_COLORS_TRUECOLOR
      Force the use of 24-bit colors.
      See Also:
    • JANSI_PASSTHROUGH

      @Deprecated public static final String JANSI_PASSTHROUGH
      Deprecated.
      use JANSI_MODE instead
      If the jansi.passthrough system property is set to true, will not perform any transformation and any ansi sequence will be conveyed without any modification.
      See Also:
    • JANSI_STRIP

      @Deprecated public static final String JANSI_STRIP
      Deprecated.
      use JANSI_MODE instead
      If the jansi.strip system property is set to true, and jansi.passthrough is not enabled, all ansi sequences will be stripped before characters are written to the output streams.
      See Also:
    • JANSI_FORCE

      @Deprecated public static final String JANSI_FORCE
      Deprecated.
      use JANSI_MODE instead
      If the jansi.force system property is set to true, and neither jansi.passthrough nor jansi.strip are set, then ansi sequences will be printed to the output stream. This forces the behavior which is by default dependent on the output stream being a real console: if the output stream is redirected to a file or through a system pipe, ansi sequences are disabled by default.
      See Also:
    • JANSI_EAGER

      @Deprecated public static final String JANSI_EAGER
      Deprecated.
      this property has been added but only for backward compatibility.
      If the jansi.eager system property is set to true, the system streams will be eagerly initialized, else the initialization is delayed until out(), err() or systemInstall() is called.
      Since:
      2.1
      See Also:
    • JANSI_NORESET

      public static final String JANSI_NORESET
      If the jansi.noreset system property is set to true, the attributes won't be reset when the streams are uninstalled.
      See Also:
    • JANSI_GRACEFUL

      public static final String JANSI_GRACEFUL
      If the jansi.graceful system property is set to false, any exception that occurs during the initialization will cause the library to report this exception and fail. The default behavior is to behave gracefully and fall back to pure emulation on posix systems.
      See Also:
    • system_out

      @Deprecated public static PrintStream system_out
      Deprecated.
      this field will be made private in a future release, use sysOut() instead
    • out

      @Deprecated public static PrintStream out
      Deprecated.
      this field will be made private in a future release, use out() instead
    • system_err

      @Deprecated public static PrintStream system_err
      Deprecated.
      this field will be made private in a future release, use sysErr() instead
    • err

      @Deprecated public static PrintStream err
      Deprecated.
      this field will be made private in a future release, use err() instead
  • Method Details

    • getTerminalWidth

      public static int getTerminalWidth()
      Try to find the width of the console for this process. Both output and error streams will be checked to determine the width. A value of 0 is returned if the width can not be determined.
      Since:
      2.2
    • out

      public static AnsiPrintStream 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.
    • sysOut

      public static PrintStream sysOut()
      Access to the original System.out stream before ansi streams were installed.
      Returns:
      the originial System.out print stream
    • err

      public static AnsiPrintStream 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.
    • sysErr

      public static PrintStream sysErr()
      Access to the original System.err stream before ansi streams were installed.
      Returns:
      the originial System.err print stream
    • systemInstall

      public static void systemInstall()
      Install AnsiConsole.out() to System.out and AnsiConsole.err() to System.err.
      See Also:
    • isInstalled

      public static boolean isInstalled()
      check if the streams have been installed or not
    • systemUninstall

      public static void systemUninstall()
      undo a previous systemInstall(). If systemInstall() was called multiple times, systemUninstall() must be called the same number of times before it is actually uninstalled.