module Pry::Helpers::Text - pry-0.10.1 Documentation

# module Pry::Helpers::Text

The methods defined on {Text} are available to custom commands via {Pry::Command#text}.

### Constants

COLORS

### Public Class Methods

bold(text) click to toggle source

Returns text as bold text for use on a terminal.

@param [String, to_s] text @return [String] text

    # File lib/pry/helpers/text.rb, line 44
    def bold(text)
      "\e[1m#{text}\e[0m"
    end

Also aliased as: bright_default
bright_default(text)
Alias for: bold
default(text) click to toggle source

Returns `text` in the default foreground colour. Use this instead of “black” or “white” when you mean absence of colour.

@param [String, to_s] text @return [String]

    # File lib/pry/helpers/text.rb, line 53
    def default(text)
      text.to_s
    end

indent(text, chars) click to toggle source

Returns text indented by chars spaces.

@param [String] text @param [Fixnum] chars

    # File lib/pry/helpers/text.rb, line 98
    def indent(text, chars)
      text.lines.map { |l| "#{' ' * chars}#{l}" }.join
    end

no_color() { || ... } click to toggle source

Executes the block with `Pry.config.color` set to false. @yield @return [void]

    # 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() { || ... } click to toggle source

Executes the block with `Pry.config.pager` set to false. @yield @return [void]

    # 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) click to toggle source

Remove any color codes from text.

@param [String, to_s] text @return [String] text stripped of any color codes.

    # 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) click to toggle source

Returns text in a numbered list, beginning at offset.

@param [#each_line] text @param [Fixnum] offset @return [String]

    # 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