class Bundler::Thor::Shell::Color
继承自 Bundler::Thor::Shell::Basic
并添加 set_color
行为。请查看 Bundler::Thor::Shell::Basic
以了解所有可用方法。
常量
- BLACK
将终端的前景 ANSI 颜色设置为黑色。
- BLUE
将终端的前景 ANSI 颜色设置为蓝色。
- BOLD
ANSI 粗体序列的开始。
- CLEAR
嵌入字符串中以清除所有先前的 ANSI 序列。
- CYAN
将终端的前景 ANSI 颜色设置为青色。
- GREEN
将终端的前景 ANSI 颜色设置为绿色。
- MAGENTA
将终端的前景 ANSI 颜色设置为洋红色。
- ON_BLACK
将终端的背景 ANSI 颜色设置为黑色。
- ON_BLUE
将终端的背景 ANSI 颜色设置为蓝色。
- ON_CYAN
将终端的背景 ANSI 颜色设置为青色。
- ON_GREEN
将终端的背景 ANSI 颜色设置为绿色。
- ON_MAGENTA
将终端的背景 ANSI 颜色设置为洋红色。
- ON_RED
将终端的背景 ANSI 颜色设置为红色。
- ON_WHITE
将终端的背景 ANSI 颜色设置为白色。
- ON_YELLOW
将终端的背景 ANSI 颜色设置为黄色。
- RED
将终端的前景 ANSI 颜色设置为红色。
- WHITE
将终端的前景 ANSI 颜色设置为白色。
- YELLOW
将终端的前景 ANSI 颜色设置为黄色。
公共实例方法
set_color(string, *colors) 单击以切换源代码
通过使用字符串或定义的常量之一来设置颜色。如果将第三个选项设置为 true,它还会将粗体添加到字符串中。这是基于 Highline 的实现,它会自动将 CLEAR
附加到返回的字符串末尾。
将前景、背景和粗体选项作为符号传递给此方法。
示例
set_color "Hi!", :red, :on_white, :bold
可用的颜色有
:bold :black :red :green :yellow :blue :magenta :cyan :white :on_black :on_red :on_green :on_yellow :on_blue :on_magenta :on_cyan :on_white
# File bundler/vendor/thor/lib/thor/shell/color.rb, line 79 def set_color(string, *colors) if colors.compact.empty? || !can_display_colors? string elsif colors.all? { |color| color.is_a?(Symbol) || color.is_a?(String) } ansi_colors = colors.map { |color| lookup_color(color) } "#{ansi_colors.join}#{string}#{CLEAR}" else # The old API was `set_color(color, bold=boolean)`. We # continue to support the old API because you should never # break old APIs unnecessarily :P foreground, bold = colors foreground = self.class.const_get(foreground.to_s.upcase) if foreground.is_a?(Symbol) bold = bold ? BOLD : "" "#{bold}#{foreground}#{string}#{CLEAR}" end end
受保护的实例方法
are_colors_disabled?() 单击以切换源代码
# File bundler/vendor/thor/lib/thor/shell/color.rb, line 107 def are_colors_disabled? !ENV["NO_COLOR"].nil? && !ENV["NO_COLOR"].empty? end
are_colors_supported?() 单击以切换源代码
# File bundler/vendor/thor/lib/thor/shell/color.rb, line 103 def are_colors_supported? stdout.tty? && ENV["TERM"] != "dumb" end
can_display_colors?() 单击以切换源代码
# File bundler/vendor/thor/lib/thor/shell/color.rb, line 99 def can_display_colors? are_colors_supported? && !are_colors_disabled? end