Sha256: 13448a5fe3d22ce2ccb3be8225ea6bc302984320a13dabbaa058686e9ea3d55f
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
require_relative "show_source_with_c_internals/code_fetcher" module Pry::CInternals class ShowSourceWithCInternals < Pry::Command::ShowSource def options(opt) super(opt) opt.on :c, "c-source", "Show source of a C identifier in MRI (rather than Ruby method of same name)" end def show_c_source if opts.present?(:all) result, file = CodeFetcher.new(line_number_style: line_number_style) .fetch_all_definitions(obj_name) else result, file = CodeFetcher.new(line_number_style: line_number_style) .fetch_first_definition(obj_name) end if result set_file_and_dir_locals(file) _pry_.pager.page result else raise Pry::CommandError, no_definition_message end end def process if opts.present?(:c) && !Pry.config.skip_cruby_source show_c_source return else super end rescue Pry::CommandError raise if Pry.config.skip_cruby_source show_c_source end private # We can number lines with their actual line numbers # or starting with 1 (base-one) def line_number_style if opts.present?(:'base-one') :'base-one' elsif opts.present?(:'line-numbers') :'line-numbers' else nil end end Pry::Commands.add_command(ShowSourceWithCInternals) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pry-doc-0.13.0pre10 | lib/pry-doc/pry_ext/show_source_with_c_internals.rb |
pry-doc-0.13.0pre9 | lib/pry-doc/pry_ext/show_source_with_c_internals.rb |