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
textin the default foreground colour. -
.indent(text, chars) ⇒ Object
Returns text indented by chars spaces.
-
.no_color { ... } ⇒ void
Executes the block with
Pry.colorset to false. -
.no_pager { ... } ⇒ void
Executes the block with
Pry.config.pagerset 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. Pry.color must be true for this method to perform any transformations.
45 46 47 |
# File 'lib/pry/helpers/text.rb', line 45 def bold text Pry.color ? "\e[1m#{text}\e[0m" : text.to_s end |
.default(text) ⇒ String
Returns text in the default foreground colour.
Use this instead of "black" or "white" when you mean absence of colour.
54 55 56 |
# File 'lib/pry/helpers/text.rb', line 54 def default(text) text.to_s end |
.indent(text, chars) ⇒ Object
Returns text indented by chars spaces.
99 100 101 |
# File 'lib/pry/helpers/text.rb', line 99 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.color set to false.
62 63 64 65 66 67 68 |
# File 'lib/pry/helpers/text.rb', line 62 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.
73 74 75 76 77 78 79 |
# File 'lib/pry/helpers/text.rb', line 73 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.
86 87 88 89 90 91 92 93 |
# File 'lib/pry/helpers/text.rb', line 86 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 |