module Byebug::ShowFunctions
def show_setting(setting_name)
def show_setting(setting_name) case setting_name when /^args$/ if Command.settings[:argv] and Command.settings[:argv].size > 0 if defined?(Byebug::BYEBUG_SCRIPT) # byebug was called initially. 1st arg is script name. args = Command.settings[:argv][1..-1].join(' ') else # byebug wasn't called initially. 1st arg is not script name. args = Command.settings[:argv].join(' ') end else args = '' end return "Argument list to give program being debugged when it is started is \"#{args}\"." when /^autolist$/ on_off = Command.settings[:autolist] > 0 return "autolist is #{show_onoff(on_off)}." when /^autoeval$/ on_off = Command.settings[:autoeval] return "autoeval is #{show_onoff(on_off)}." when /^autoreload$/ on_off = Command.settings[:autoreload] return "autoreload is #{show_onoff(on_off)}." when /^autoirb$/ on_off = Command.settings[:autoirb] > 0 return "autoirb is #{show_onoff(on_off)}." when /^basename$/ on_off = Command.settings[:basename] return "basename is #{show_onoff(on_off)}." when /^callstyle$/ style = Command.settings[:callstyle] return "Frame call-display style is #{style}." when /^commands(:?\s+(\d+))?$/ if @state.interface.readline_support? s = ''; args = @match[1].split if args[1] first_line = args[1].to_i - 4 last_line = first_line + 10 - 1 if first_line > Readline::HISTORY.length first_line = last_line = Readline::HISTORY.length elsif first_line <= 0 first_line = 1 end if last_line > Readline::HISTORY.length last_line = Readline::HISTORY.length end i = first_line commands = Readline::HISTORY.to_a[first_line..last_line] else if Readline::HISTORY.length > 10 commands = Readline::HISTORY.to_a[-10..-1] i = Readline::HISTORY.length - 10 else commands = Readline::HISTORY.to_a i = 1 end end commands.each do |cmd| s += ("%5d %s\n" % [i, cmd]) i += 1 end else s='No readline support' end return s when /^testing$/ on_off = Command.settings[:testing] return "Currently testing byebug is #{show_onoff(on_off)}." when /^forcestep$/ on_off = Command.settings[:forcestep] return "force-stepping is #{show_onoff(on_off)}." when /^fullpath$/ on_off = Command.settings[:fullpath] return "Displaying frame's full file names is #{show_onoff(on_off)}." when /^history(:?\s+(filename|save|size))?$/ args = @match[1].split interface = @state.interface if args[1] show_save = show_size = show_filename = false prefix = false if args[1] == "save" show_save = true elsif args[1] == "size" show_size = true elsif args[1] == "filename" show_filename = true end else show_save = show_size = show_filename = true prefix = true end s = [] if show_filename msg = "#{prefix ? 'filename:' : ''} The command history file is " \ "#{interface.histfile.inspect}" s << msg end if show_save msg = (prefix ? "save: " : "") + "Saving of history save is #{show_onoff(interface.history_save)}." s << msg end if show_size msg = (prefix ? "size: " : "") + "Byebug history size is #{interface.history_length}" s << msg end return s.join("\n") when /^linetrace$/ on_off = Byebug.tracing? return "line tracing is #{show_onoff(on_off)}." when /^linetrace_plus$/ if Command.settings[:linetrace_plus] return "line tracing style is every line." else return "line tracing style is different consecutive lines." end when /^listsize$/ listlines = Command.settings[:listsize] return "Number of source lines to list is #{listlines}." when /^post_mortem$/ on_off = Byebug.post_mortem? return "post-mortem mode is #{show_onoff(on_off)}" when /^stack_trace_on_error$/ on_off = Command.settings[:stack_trace_on_error] return "Displaying stack trace is #{show_onoff(on_off)}." when /^version$/ return "Byebug #{Byebug::VERSION}" when /^width$/ return "width is #{Command.settings[:width]}." else return "Unknown show subcommand #{setting_name}." end end