Sha256: 5126377aec930680379be473845c8ad6dea5040d72d6431f0a415de019acd822
Contents?: true
Size: 1.28 KB
Versions: 4
Compression:
Stored size: 1.28 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 symbol in MRI" end def show_c_source if opts.present?(:all) result, file = CodeFetcher.new(line_number_style).fetch_all_definitions(obj_name) else result, file = CodeFetcher.new(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) show_c_source return else super end rescue Pry::CommandError show_c_source end private # We can number lines with their actual line numbers # or starting with 1 (base-one) def line_number_style style = if opts.present?(:'base-one') :'base-one' elsif opts.present?(:'line-numbers') :'line-numbers' else nil end { line_number_style: style } end Pry::Commands.add_command(ShowSourceWithCInternals) end end
Version data entries
4 entries across 4 versions & 1 rubygems