This file is indexed.

/usr/lib/ruby/vendor_ruby/pry/helpers/text.rb is in pry 0.10.3-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
class Pry
  module Helpers

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

      COLORS =
      {
        "black"   => 0,
        "red"     => 1,
        "green"   => 2,
        "yellow"  => 3,
        "blue"    => 4,
        "purple"  => 5,
        "magenta" => 5,
        "cyan"    => 6,
        "white"   => 7
      }

      class << self

        COLORS.each_pair do |color, value|
          define_method color do |text|
            "\033[0;#{30+value}m#{text}\033[0m"
          end

          define_method "bright_#{color}" do |text|
            "\033[1;#{30+value}m#{text}\033[0m"
          end
        end

        # Remove any color codes from _text_.
        #
        # @param  [String, #to_s] text
        # @return [String] _text_ stripped of any color codes.
        def strip_color(text)
          text.to_s.gsub(/\e\[.*?(\d)+m/ , '')
        end

        # Returns _text_ as bold text for use on a terminal.
        #
        # @param [String, #to_s] text
        # @return [String] _text_
        def bold(text)
          "\e[1m#{text}\e[0m"
        end

        # 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]
        def default(text)
          text.to_s
        end
        alias_method :bright_default, :bold

        # Executes the block with `Pry.config.color` set to false.
        # @yield
        # @return [void]
        def no_color(&block)
          boolean = Pry.config.color
          Pry.config.color = false
          yield
        ensure
          Pry.config.color = boolean
        end

        # Executes the block with `Pry.config.pager` set to false.
        # @yield
        # @return [void]
        def no_pager(&block)
          boolean = Pry.config.pager
          Pry.config.pager = false
          yield
        ensure
          Pry.config.pager = boolean
        end

        # Returns _text_ in a numbered list, beginning at _offset_.
        #
        # @param  [#each_line] text
        # @param  [Fixnum] offset
        # @return [String]
        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

        # Returns _text_ indented by _chars_ spaces.
        #
        # @param [String] text
        # @param [Fixnum] chars
        def indent(text, chars)
          text.lines.map { |l| "#{' ' * chars}#{l}" }.join
        end
      end

    end

  end
end