Module: Pry::Helpers::Text
- Extended by:
- Text
- Included in:
- Command, Command::Cat::ExceptionFormatter, Text
- Defined in:
- lib/pry/helpers/text.rb
Overview
The methods defined on Text are available to custom commands via Command#text.
Constant Summary collapse
- COLORS =
{ "black" => 0, "red" => 1, "green" => 2, "yellow" => 3, "blue" => 4, "purple" => 5, "magenta" => 5, "cyan" => 6, "white" => 7 }.freeze
Instance Method Summary collapse
-
#bold(text) ⇒ String
Returns text as bold text for use on a terminal.
-
#default(text) ⇒ String
Returns ‘text` in the default foreground colour.
-
#indent(text, chars) ⇒ Object
Returns text indented by chars spaces.
- #no_color { ... } ⇒ void
- #no_pager { ... } ⇒ void
-
#strip_color(text) ⇒ String
Remove any color codes from text.
-
#with_line_numbers(text, offset, color = :blue) ⇒ String
Returns text in a numbered list, beginning at offset.
Instance Method Details
#bold(text) ⇒ String
Returns text as bold text for use on a terminal.
54 55 56 |
# File 'lib/pry/helpers/text.rb', line 54 def bold(text) "\e[1m#{text}\e[0m" end |
#default(text) ⇒ String
Returns ‘text` in the default foreground colour. Use this instead of “black” or “white” when you mean absence of colour.
63 64 65 |
# File 'lib/pry/helpers/text.rb', line 63 def default(text) text.to_s end |
#indent(text, chars) ⇒ Object
Returns text indented by chars spaces.
113 114 115 |
# File 'lib/pry/helpers/text.rb', line 113 def indent(text, chars) text.lines.map { |l| "#{' ' * chars}#{l}" }.join end |
#no_color { ... } ⇒ void
This method returns an undefined value.
73 74 75 76 77 78 79 |
# File 'lib/pry/helpers/text.rb', line 73 def no_color boolean = Pry.config.color Pry.config.color = false yield ensure Pry.config.color = boolean end |
#no_pager { ... } ⇒ void
This method returns an undefined value.
87 88 89 90 91 92 93 |
# File 'lib/pry/helpers/text.rb', line 87 def no_pager boolean = Pry.config.pager Pry.config.pager = false yield ensure Pry.config.pager = boolean end |
#strip_color(text) ⇒ String
Remove any color codes from text.
46 47 48 |
# File 'lib/pry/helpers/text.rb', line 46 def strip_color(text) text.to_s.gsub(/(\001)?(\e\[(\d[;\d]?)*m)(\002)?/, '') end |
#with_line_numbers(text, offset, color = :blue) ⇒ String
Returns text in a numbered list, beginning at offset.
100 101 102 103 104 105 106 107 |
# File 'lib/pry/helpers/text.rb', line 100 def with_line_numbers(text, offset, color = :blue) lines = text.each_line.to_a max_width = (offset + lines.count).to_s.length lines.each_with_index.map do |line, index| adjusted_index = (index + offset).to_s.rjust(max_width) "#{send(color, adjusted_index)}: #{line}" end.join end |