Package picocli

Enum CommandLine.Help.Ansi

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<CommandLine.Help.Ansi>
    Enclosing class:
    CommandLine.Help

    public static enum CommandLine.Help.Ansi
    extends java.lang.Enum<CommandLine.Help.Ansi>
    Provides methods and inner classes to support using ANSI escape codes in usage help messages.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  CommandLine.Help.Ansi.IStyle
      Defines the interface for an ANSI escape sequence.
      (package private) static class  CommandLine.Help.Ansi.Palette256Color
      Defines a palette map of 216 colors: 6 * 6 * 6 cube (216 colors): 16 + 36 * r + 6 * g + b (0 <= r, g, b <= 5).
      static class  CommandLine.Help.Ansi.Style
      A set of pre-defined ANSI escape code styles and colors, and a set of convenience methods for parsing text with embedded markup style names, as well as convenience methods for converting styles to strings with embedded escape codes.
      private static class  CommandLine.Help.Ansi.StyledSection  
      class  CommandLine.Help.Ansi.Text
      Encapsulates rich text with styles and colors.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      AUTO
      Only emit ANSI escape codes if the platform supports it and system property "picocli.ansi" is not set to any value other than "true" (case insensitive).
      OFF
      Forced OFF: never emit ANSI escape code regardless of the platform.
      ON
      Forced ON: always emit ANSI escape code regardless of the platform.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Ansi()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      (package private) static boolean ansiPossible()  
      CommandLine.Help.Ansi.Text apply​(java.lang.String plainText, java.util.List<CommandLine.Help.Ansi.IStyle> styles)
      (package private) static boolean calcTTY()
      http://stackoverflow.com/questions/1403772/how-can-i-check-if-a-java-programs-input-output-streams-are-connected-to-a-term
      boolean enabled()
      Returns true if ANSI escape codes should be emitted, false otherwise.
      (package private) static boolean forceDisabled()
      https://no-color.org/
      (package private) static boolean forceEnabled()
      Jan Niklas Hasse's https://bixense.com/clicolors/ proposal
      (package private) static boolean hasOsType()  
      (package private) static boolean hintDisabled()  
      (package private) static boolean hintEnabled()
      https://github.com/adoxa/ansicon/blob/master/readme.txt, Jan Niklas Hasse's https://bixense.com/clicolors/ proposal, https://conemu.github.io/en/AnsiEscapeCodes.html#Environment_variable
      (package private) static boolean isCygwin()  
      (package private) static boolean isJansiConsoleInstalled()  
      (package private) static boolean isMac()  
      (package private) static boolean isPseudoTTY()
      Cygwin and MSYS use pseudo-tty and console is always null...
      (package private) static boolean isTTY()  
      (package private) static boolean isWindows()  
      (package private) static boolean isXterm()  
      java.lang.String string​(java.lang.String stringWithMarkup)
      Returns a String where any markup like @|bg(red),white,underline some text|@ is converted to ANSI escape codes if this Ansi is ON, or suppressed if this Ansi is OFF.
      CommandLine.Help.Ansi.Text text​(java.lang.String stringWithMarkup)
      Returns a new Text object for this Ansi mode, encapsulating the specified string which may contain markup like @|bg(red),white,underline some text|@.
      static CommandLine.Help.Ansi valueOf​(boolean enabled)
      Returns Ansi.ON if the specified enabled flag is true, Ansi.OFF otherwise.
      static CommandLine.Help.Ansi valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static CommandLine.Help.Ansi[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • AUTO

        public static final CommandLine.Help.Ansi AUTO
        Only emit ANSI escape codes if the platform supports it and system property "picocli.ansi" is not set to any value other than "true" (case insensitive).
      • ON

        public static final CommandLine.Help.Ansi ON
        Forced ON: always emit ANSI escape code regardless of the platform.
      • OFF

        public static final CommandLine.Help.Ansi OFF
        Forced OFF: never emit ANSI escape code regardless of the platform.
    • Constructor Detail

      • Ansi

        private Ansi()
    • Method Detail

      • values

        public static CommandLine.Help.Ansi[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (CommandLine.Help.Ansi c : CommandLine.Help.Ansi.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CommandLine.Help.Ansi valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • isTTY

        static boolean isTTY()
      • isWindows

        static final boolean isWindows()
      • isMac

        static final boolean isMac()
      • isXterm

        static final boolean isXterm()
      • isCygwin

        static final boolean isCygwin()
      • hasOsType

        static final boolean hasOsType()
      • hintDisabled

        static final boolean hintDisabled()
      • hintEnabled

        static final boolean hintEnabled()
        https://github.com/adoxa/ansicon/blob/master/readme.txt, Jan Niklas Hasse's https://bixense.com/clicolors/ proposal, https://conemu.github.io/en/AnsiEscapeCodes.html#Environment_variable
      • forceDisabled

        static final boolean forceDisabled()
        https://no-color.org/
      • forceEnabled

        static final boolean forceEnabled()
        Jan Niklas Hasse's https://bixense.com/clicolors/ proposal
      • calcTTY

        static boolean calcTTY()
        http://stackoverflow.com/questions/1403772/how-can-i-check-if-a-java-programs-input-output-streams-are-connected-to-a-term
      • isPseudoTTY

        static boolean isPseudoTTY()
        Cygwin and MSYS use pseudo-tty and console is always null...
      • ansiPossible

        static boolean ansiPossible()
      • isJansiConsoleInstalled

        static boolean isJansiConsoleInstalled()
      • enabled

        public boolean enabled()
        Returns true if ANSI escape codes should be emitted, false otherwise.
        Returns:
        ON: true, OFF: false, AUTO: if system property "picocli.ansi" has value "tty" (case-insensitive), then return true if either System.console() != null or picocli guesses the application is running in a pseudo-terminal pty on a Linux emulator in Windows. If system property "picocli.ansi" has value "true" (case-sensitive) then return true. Otherwise use picocli's Heuristics for Enabling ANSI to determine whether the platform supports ANSI escape codes.
      • text

        public CommandLine.Help.Ansi.Text text​(java.lang.String stringWithMarkup)
        Returns a new Text object for this Ansi mode, encapsulating the specified string which may contain markup like @|bg(red),white,underline some text|@.

        Calling toString() on the returned Text will either include ANSI escape codes (if this Ansi mode is ON), or suppress ANSI escape codes (if this Ansi mode is OFF).

        Equivalent to this.new Text(stringWithMarkup).

        Since:
        3.4
        See Also:
        CommandLine.Help.ColorScheme.text(String)
      • string

        public java.lang.String string​(java.lang.String stringWithMarkup)
        Returns a String where any markup like @|bg(red),white,underline some text|@ is converted to ANSI escape codes if this Ansi is ON, or suppressed if this Ansi is OFF.

        Equivalent to this.new Text(stringWithMarkup).toString().

        Since:
        3.4
        See Also:
        CommandLine.Help.ColorScheme.string(String)
      • valueOf

        public static CommandLine.Help.Ansi valueOf​(boolean enabled)
        Returns Ansi.ON if the specified enabled flag is true, Ansi.OFF otherwise.
        Since:
        3.4