class Bundler::Thor::Shell::HTML

继承自 Bundler::Thor::Shell::Basic 并添加 set_color 行为。请查阅 Bundler::Thor::Shell::Basic 以查看所有可用方法。

常量

BLACK

将终端的前景 HTML 颜色设置为黑色。

BLUE

将终端的前景 HTML 颜色设置为蓝色。

BOLD

HTML 粗体序列的开始。

CYAN

将终端的前景 HTML 颜色设置为青色。

GREEN

将终端的前景 HTML 颜色设置为绿色。

MAGENTA

将终端的前景 HTML 颜色设置为洋红色。

ON_BLACK

将终端的背景 HTML 颜色设置为黑色。

ON_BLUE

将终端的背景 HTML 颜色设置为蓝色。

ON_CYAN

将终端的背景 HTML 颜色设置为青色。

ON_GREEN

将终端的背景 HTML 颜色设置为绿色。

ON_MAGENTA

将终端的背景 HTML 颜色设置为洋红色。

ON_RED

将终端的背景 HTML 颜色设置为红色。

ON_WHITE

将终端的背景 HTML 颜色设置为白色。

ON_YELLOW

将终端的背景 HTML 颜色设置为黄色。

RED

将终端的前景 HTML 颜色设置为红色。

WHITE

将终端的前景 HTML 颜色设置为白色。

YELLOW

将终端的前景 HTML 颜色设置为黄色。

公共实例方法

ask(statement, color = nil) 单击以切换源代码

向用户提问并接收响应。

示例

ask("What is your name?")

待办事项:为 Bundler::Thor::Shell::HTML 实现 ask

# File bundler/vendor/thor/lib/thor/shell/html.rb, line 70
def ask(statement, color = nil)
  raise NotImplementedError, "Implement #ask for Bundler::Thor::Shell::HTML"
end
set_color(string, *colors) 单击以切换源代码

通过使用字符串或定义的常量之一来设置颜色。如果第三个选项设置为 true,它还会向字符串添加粗体。这是基于 Highline 的实现,并且它会自动将 CLEAR 附加到返回的字符串的末尾。

# File bundler/vendor/thor/lib/thor/shell/html.rb, line 51
def set_color(string, *colors)
  if colors.all? { |color| color.is_a?(Symbol) || color.is_a?(String) }
    html_colors = colors.map { |color| lookup_color(color) }
    "<span style=\"#{html_colors.join('; ')};\">#{Bundler::Thor::Util.escape_html(string)}</span>"
  else
    color, bold = colors
    html_color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
    styles = [html_color]
    styles << BOLD if bold
    "<span style=\"#{styles.join('; ')};\">#{Bundler::Thor::Util.escape_html(string)}</span>"
  end
end

受保护的实例方法

can_display_colors?() 单击以切换源代码
# File bundler/vendor/thor/lib/thor/shell/html.rb, line 76
def can_display_colors?
  true
end