module Pry::Helpers::BaseHelpers
Public Instance Methods
colorize_code(code)
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 43 def colorize_code(code) SyntaxHighlighter.highlight(code) end
find_command(name, set = Pry::Commands)
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 27 def find_command(name, set = Pry::Commands) command_match = set.find do |_, command| (listing = command.options[:listing]) == name && !listing.nil? end command_match.last if command_match end
heading(text)
click to toggle source
formatting
# File lib/pry/helpers/base_helpers.rb, line 54 def heading(text) text = "#{text}\n--" "\e[1m#{text}\e[0m" end
highlight(string, regexp, highlight_color = :bright_yellow)
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 47 def highlight(string, regexp, highlight_color = :bright_yellow) string.gsub(regexp) do |match| "<#{highlight_color}>#{match}</#{highlight_color}>" end end
not_a_real_file?(file)
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 34 def not_a_real_file?(file) file =~ /^(\(.*\))$|^<.*>$/ || file =~ /__unknown__/ || file == "" || file == "-e" end
safe_send(obj, method, *args, &block)
click to toggle source
Acts like send but ignores any methods defined below Object
or Class in the inheritance hierarchy. This is required to introspect methods on objects like Net::HTTP::Get that have overridden the `method` method.
# File lib/pry/helpers/base_helpers.rb, line 22 def safe_send(obj, method, *args, &block) (obj.is_a?(Module) ? Module : Object).instance_method(method) .bind(obj).call(*args, &block) end
silence_warnings() { || ... }
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 8 def silence_warnings old_verbose = $VERBOSE $VERBOSE = nil begin yield ensure $VERBOSE = old_verbose end end
stagger_output(text, _out = nil)
click to toggle source
Send the given text through the best available pager (if Pry.config
.pager is enabled). Infers where to send the output if used as a mixin. DEPRECATED.
# File lib/pry/helpers/base_helpers.rb, line 62 def stagger_output(text, _out = nil) if defined?(pry_instance) && pry_instance pry_instance.pager.page text else Pry.new.pager.page text end end
use_ansi_codes?()
click to toggle source
# File lib/pry/helpers/base_helpers.rb, line 38 def use_ansi_codes? Pry::Helpers::Platform.windows_ansi? || ((term = Pry::Env['TERM']) && term != "dumb") end