Class: TTY::Color::Mode
- Inherits:
-
Object
- Object
- TTY::Color::Mode
- Defined in:
- lib/tty/color/mode.rb
Constant Summary collapse
- TERM_24BIT =
/[+-]direct/.freeze
- TRUECOLORS =
8 bits per RGB channel
2**24
- TERM_256 =
/^(alacritty|iTerm\s?\d*\.app|kitty|mintty|ms-terminal| nsterm|nsterm-build\d+|terminator|terminology(-[0-9.]+)?| termite|vscode)$/x.freeze
- TERM_64 =
/^(hpterm-color|wy370|wy370-105k|wy370-EPC|wy370-nk| wy370-rv|wy370-tek|wy370-vb|wy370-w|wy370-wvb)$/x.freeze
- TERM_52 =
/^(dg+ccc|dgunix+ccc|d430.*?[-+](dg|unix).*?[-+]ccc)$/x.freeze
- TERM_16 =
/^(amiga-vnc|d430-dg|d430-unix|d430-unix-25|d430-unix-s| d430-unix-sr|d430-unix-w|d430c-dg|d430c-unix|d430c-unix-25| d430c-unix-s|d430c-unix-sr|d430c-unix-w|d470|d470-7b|d470-dg| d470c|d470c-7b|d470c-dg|dg+color|dg\+fixed|dgunix\+fixed| dgmode\+color|hp\+color|ncr260wy325pp|ncr260wy325wpp| ncr260wy350pp|ncr260wy350wpp|nsterm-c|nsterm-c-acs| nsterm-c-s|nsterm-c-s-7|nsterm-c-s-acs|nsterm\+c| nsterm-7-c|nsterm-bce)$/x.freeze
- TERM_8 =
/vt100|xnuppc|wy350/x.freeze
- METHODS =
%w[from_term from_tput].freeze
Instance Method Summary collapse
-
#from_term ⇒ NoValue, Integer
private
Check TERM environment for colors.
-
#from_tput ⇒ NoValue, Integer
private
Shell out to tput to check color support.
-
#initialize(env) ⇒ Mode
constructor
A new instance of Mode.
-
#mode ⇒ Integer
Detect supported colors.
Constructor Details
#initialize(env) ⇒ Mode
Returns a new instance of Mode.
31 32 33 |
# File 'lib/tty/color/mode.rb', line 31 def initialize(env) @env = env end |
Instance Method Details
#from_term ⇒ NoValue, Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Check TERM environment for colors
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/tty/color/mode.rb', line 57 def from_term case @env["TERM"] when TERM_24BIT then TRUECOLORS when /[-+](\d+)color/ then $1.to_i when /[-+](\d+)bit/ then 2**$1.to_i when TERM_256 then 256 when TERM_64 then 64 when TERM_52 then 52 when TERM_16 then 16 when TERM_8 then 8 when /dummy/ then 0 else NoValue end end |
#from_tput ⇒ NoValue, Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Shell out to tput to check color support
77 78 79 80 81 82 83 84 |
# File 'lib/tty/color/mode.rb', line 77 def from_tput return NoValue unless TTY::Color.command?("tput colors") colors = `tput colors 2>/dev/null`.to_i colors >= 8 ? colors : NoValue rescue Errno::ENOENT NoValue end |