Module: Pry::Helpers::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 }
Class Method Summary collapse
-
.bold(text) ⇒ String
(also: bright_default)
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
Executes the block with ‘Pry.config.color` set to false.
-
.no_pager { ... } ⇒ void
Executes the block with ‘Pry.config.pager` set to false.
-
.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.
Class Method Details
.bold(text) ⇒ String Also known as: bright_default
Returns text as bold text for use on a terminal.
44 45 46 |
# File 'lib/pry/helpers/text.rb', line 44 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.
53 54 55 |
# File 'lib/pry/helpers/text.rb', line 53 def default(text) text.to_s end |
.indent(text, chars) ⇒ Object
Returns text indented by chars spaces.
98 99 100 |
# File 'lib/pry/helpers/text.rb', line 98 def indent(text, chars) text.lines.map { |l| "#{' ' * chars}#{l}" }.join end |
.no_color { ... } ⇒ void
This method returns an undefined value.
Executes the block with ‘Pry.config.color` set to false.
61 62 63 64 65 66 67 |
# File 'lib/pry/helpers/text.rb', line 61 def no_color(&block) boolean = Pry.config.color Pry.config.color = false yield ensure Pry.config.color = boolean end |
.no_pager { ... } ⇒ void
This method returns an undefined value.
Executes the block with ‘Pry.config.pager` set to false.
72 73 74 75 76 77 78 |
# File 'lib/pry/helpers/text.rb', line 72 def no_pager(&block) 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.
36 37 38 |
# File 'lib/pry/helpers/text.rb', line 36 def strip_color(text) text.to_s.gsub(/\e\[.*?(\d)+m/ , '') end |
.with_line_numbers(text, offset, color = :blue) ⇒ String
Returns text in a numbered list, beginning at offset.
85 86 87 88 89 90 91 92 |
# File 'lib/pry/helpers/text.rb', line 85 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) "#{self.send(color, adjusted_index)}: #{line}" end.join end |