Class: Pry::Command::Ls

Inherits:
Pry::ClassCommand show all
Defined in:
lib/pry/commands/ls.rb,
lib/pry/commands/ls/grep.rb,
lib/pry/commands/ls/globals.rb,
lib/pry/commands/ls/methods.rb,
lib/pry/commands/ls/constants.rb,
lib/pry/commands/ls/formatter.rb,
lib/pry/commands/ls/ls_entity.rb,
lib/pry/commands/ls/local_vars.rb,
lib/pry/commands/ls/jruby_hacks.rb,
lib/pry/commands/ls/local_names.rb,
lib/pry/commands/ls/self_methods.rb,
lib/pry/commands/ls/instance_vars.rb,
lib/pry/commands/ls/interrogatable.rb,
lib/pry/commands/ls/methods_helper.rb

Defined Under Namespace

Modules: Interrogatable, JRubyHacks, MethodsHelper Classes: Constants, Formatter, Globals, Grep, InstanceVars, LocalNames, LocalVars, LsEntity, Methods, SelfMethods

Constant Summary collapse

DEFAULT_OPTIONS =
{
  heading_color: :bright_blue,
  public_method_color: :default,
  private_method_color: :blue,
  protected_method_color: :blue,
  method_missing_color: :bright_red,
  local_var_color: :yellow,
  pry_var_color: :default, # e.g. _, pry_instance, _file_
  instance_var_color: :blue, # e.g. @foo
  class_var_color: :bright_blue, # e.g. @@foo
  global_var_color: :default, # e.g. $CODERAY_DEBUG, $eventmachine_library
  builtin_global_color: :cyan, # e.g. $stdin, $-w, $PID
  pseudo_global_color: :cyan, # e.g. $~, $1..$9, $LAST_MATCH_INFO
  constant_color: :default, # e.g. VERSION, ARGF
  class_constant_color: :blue, # e.g. Object, Kernel
  exception_constant_color: :magenta, # e.g. Exception, RuntimeError
  unloaded_constant_color: :yellow, # Any constant that is still in .autoload? state
  separator: "  ",
  ceiling: [Object, Module, Class]
}.freeze

Constants inherited from Pry::Command

VOID_VALUE

Constants included from Helpers::DocumentationHelpers

Helpers::DocumentationHelpers::YARD_TAGS

Constants included from Helpers::Text

Helpers::Text::COLORS

Instance Attribute Summary

Attributes inherited from Pry::ClassCommand

#args, #opts

Attributes inherited from Pry::Command

#arg_string, #captures, #command_block, #command_set, #context, #eval_string, #hooks, #output, #pry_instance, #target

Instance Method Summary collapse

Methods inherited from Pry::ClassCommand

#call, #complete, doc, #help, inherited, #setup, #slop, source, source_file, source_line, source_location, #subcommands

Methods inherited from Pry::Command

#_pry_, banner, #block, #check_for_command_collision, command_name, #command_name, #command_options, command_regex, #commands, #complete, convert_to_regex, default_options, #description, doc, group, #initialize, inspect, #interpolate_string, #match, match_score, matches?, name, #name, options, #process_line, #run, source, #source, source_file, source_line, state, #state, subclass, #target_self, #tokenize, #void

Methods included from Helpers::DocumentationHelpers

get_comment_content, process_comment_markup, process_rdoc, process_yardoc, process_yardoc_tag, strip_comments_from_c_code, strip_leading_whitespace

Methods included from Pry::CodeObject::Helpers

#c_method?, #c_module?, #command?, #module_with_yard_docs?, #real_method_object?

Methods included from Helpers::Text

#bold, #default, #indent, #no_color, #no_pager, #strip_color, #with_line_numbers

Methods included from Helpers::CommandHelpers

#absolute_index_number, #absolute_index_range, #get_method_or_raise, #internal_binding?, #one_index_number, #one_index_range, #one_index_range_or_number, #restrict_to_lines, #set_file_and_dir_locals, #temp_file, #unindent

Methods included from Helpers::OptionsHelpers

method_object, method_options

Methods included from Helpers::BaseHelpers

#colorize_code, #find_command, #heading, #highlight, #not_a_real_file?, #safe_send, #silence_warnings, #stagger_output, #use_ansi_codes?

Constructor Details

This class inherits a constructor from Pry::Command

Instance Method Details

#no_user_opts?Boolean

Exclude -q, -v and –grep because they, don’t specify what the user wants to see.

Returns:

  • (Boolean)


85
86
87
88
# File 'lib/pry/commands/ls.rb', line 85

def no_user_opts?
  !(opts[:methods] || opts['instance-methods'] || opts[:ppp] ||
    opts[:globals] || opts[:locals] || opts[:constants] || opts[:ivars])
end

#options(opt) ⇒ Object



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
# File 'lib/pry/commands/ls.rb', line 52

def options(opt)
  opt.on :m, :methods, "Show public methods defined on the Object"
  opt.on :M, "instance-methods", "Show public methods defined in a " \
                                 "Module or Class"
  opt.on :p, :ppp, "Show public, protected (in yellow) and private " \
                   "(in green) methods"
  opt.on :q, :quiet, "Show only methods defined on object.singleton_class " \
                     "and object.class"
  opt.on :v, :verbose, "Show methods and constants on all super-classes " \
                       "(ignores Pry.config.ls.ceiling)"
  opt.on :g, :globals, "Show global variables, including those builtin to " \
                       "Ruby (in cyan)"
  opt.on :l, :locals, "Show hash of local vars, sorted by descending size"
  opt.on :c, :constants, "Show constants, highlighting classes (in blue), " \
                         "and exceptions (in purple).\n" \
                         "#{' ' * 32}Constants that are pending autoload? " \
                         "are also shown (in yellow)"
  opt.on :i, :ivars, "Show instance variables (in blue) and class " \
                     "variables (in bright blue)"
  opt.on :G, :grep, "Filter output by regular expression", argument: true

  if Object.respond_to?(:deprecate_constant)
    opt.on :d, :dconstants, "Show deprecated constants"
  end

  return unless Helpers::Platform.jruby?

  opt.on :J, "all-java", "Show all the aliases for methods from java " \
                         "(default is to show only prettiest)"
end

#processObject



90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/pry/commands/ls.rb', line 90

def process
  @interrogatee = args.empty? ? target_self : target.eval(args.join(' '))
  raise_errors_if_arguments_are_weird
  ls_entity = LsEntity.new(
    interrogatee: @interrogatee,
    no_user_opts: no_user_opts?,
    opts: opts,
    args: args,
    pry_instance: pry_instance
  )

  pry_instance.pager.page ls_entity.entities_table
end