Sha256: c269ffb1b3456b52cceb6502c4167c52166dd259a8e2d93c43e6bc532abdcd35
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
require 'byebug/command' module Byebug # # Edit a file from byebug's prompt. # class EditCommand < Command self.allow_in_control = true def regexp /^\s* ed(?:it)? (?:\s+(\S+))? \s*$/x end def execute if !@match[1] return errmsg(pr('edit.errors.state')) unless @state.file file = @state.file line = @state.line if @state.line elsif (@pos_match = /([^:]+)[:]([0-9]+)/.match(@match[1])) file, line = @pos_match.captures else file = @match[1] end editor = ENV['EDITOR'] || 'vim' file = File.expand_path(file) unless File.exist?(file) return errmsg(pr('edit.errors.not_exist', file: file)) end unless File.readable?(file) return errmsg(pr('edit.errors.not_readable', file: file)) end cmd = line ? "#{editor} +#{line} #{file}" : "#{editor} #{file}" system(cmd) end def description <<-EOD edit[ file:lineno] Edit specified files. With no argument, edits file containing most recent line listed. Editing targets can also be specified to start editing at a specific line in a specific file. EOD end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
sc_core-0.0.7 | test/dummy/vendor/bundle/ruby/2.2.0/gems/byebug-5.0.0/lib/byebug/commands/edit.rb |
byebug-5.0.0 | lib/byebug/commands/edit.rb |