Class: PuppetDebugger::InputResponders::Whereami

Inherits:
PuppetDebugger::InputResponderPlugin show all
Defined in:
lib/plugins/puppet-debugger/input_responders/whereami.rb

Constant Summary collapse

COMMAND_WORDS =
%w(whereami)
SUMMARY =
'Show code surrounding the current context.'
COMMAND_GROUP =
:context

Instance Attribute Summary

Attributes inherited from PuppetDebugger::InputResponderPlugin

#debugger

Instance Method Summary collapse

Methods inherited from PuppetDebugger::InputResponderPlugin

command_completion, command_group, command_words, details, execute, summary

Instance Method Details

#run(args = []) ⇒ String

source_file and source_line_num instance variables must be set for this method to show the surrounding code or line_num do not exist

Returns:

  • (String)
    • string output of the code surrounded by the breakpoint or nil if file



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/plugins/puppet-debugger/input_responders/whereami.rb', line 13

def run(args = [])
  file = debugger.source_file
  line_num = debugger.source_line_num
  if file && line_num
    if file == :code
      source_code = Puppet[:code]
      code = DebuggerCode.from_string(source_code, :puppet)
    else
      code = DebuggerCode.from_file(file, :puppet)
    end
    return code.with_marker(line_num).around(line_num, 5)
               .with_line_numbers.with_indentation(5).with_file_reference.to_s
  end
end