class Pry::Command::Cat

Public Instance Methods

complete(search) click to toggle source
Calls superclass method Pry::ClassCommand#complete
# File lib/pry/commands/cat.rb, line 53
def complete(search)
  super | load_path_completions
end
load_path_completions() click to toggle source
# File lib/pry/commands/cat.rb, line 57
def load_path_completions
  $LOAD_PATH.flat_map do |path|
    Dir[path + '/**/*'].map do |f|
      next if File.directory?(f)

      f.sub!(path + '/', '')
    end
  end
end
options(opt) click to toggle source
# File lib/pry/commands/cat.rb, line 23
def options(opt)
  opt.on :ex, "Show the context of the last exception",
         optional_argument: true, as: Integer
  opt.on :i, :in, "Show one or more entries from Pry's expression history",
         optional_argument: true, as: Range, default: -5..-1
  opt.on :s, :start, "Starting line (defaults to the first line)",
         optional_argument: true, as: Integer
  opt.on :e, :end, "Ending line (defaults to the last line)",
         optional_argument: true, as: Integer
  opt.on :l, :'line-numbers', "Show line numbers"
  opt.on :t, :type, "The file type for syntax highlighting " \
                    "(e.g., 'ruby' or 'python')",
         argument: true, as: Symbol
end
process() click to toggle source
# File lib/pry/commands/cat.rb, line 38
def process
  output =
    if opts.present?(:ex)
      ExceptionFormatter.new(
        pry_instance.last_exception, pry_instance, opts
      ).format
    elsif opts.present?(:in)
      InputExpressionFormatter.new(pry_instance.input_ring, opts).format
    else
      FileFormatter.new(args.first, pry_instance, opts).format
    end

  pry_instance.pager.page output
end