summaryrefslogtreecommitdiff
path: root/lib/pry/commands/nesting.rb
blob: f9c0297c81485152e983babf3b5de336cae83c7b (plain)
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
class Pry
  class Command::Nesting < Pry::ClassCommand
    match 'nesting'
    group 'Navigating Pry'
    description 'Show nesting information.'

    banner <<-'BANNER'
      Show nesting information.
    BANNER

    def process
      output.puts 'Nesting status:'
      output.puts '--'
      _pry_.binding_stack.each_with_index do |obj, level|
        if level == 0
          output.puts "#{level}. #{Pry.view_clip(obj.eval('self'))} (Pry top level)"
        else
          output.puts "#{level}. #{Pry.view_clip(obj.eval('self'))}"
        end
      end
    end
  end

  Pry::Commands.add_command(Pry::Command::Nesting)
end