pry-byebug 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +14 -10
- data/lib/byebug/processors/pry_processor.rb +32 -46
- data/lib/pry-byebug.rb +1 -0
- data/lib/pry-byebug/commands.rb +1 -0
- data/lib/pry-byebug/commands/breakpoint.rb +1 -3
- data/lib/pry-byebug/commands/continue.rb +2 -0
- data/lib/pry-byebug/commands/exit_all.rb +14 -0
- data/lib/pry-byebug/control_d_handler.rb +7 -0
- data/lib/pry-byebug/pry_ext.rb +2 -5
- data/lib/pry-byebug/version.rb +1 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d546d7bb0c6f46c48b3a640b5f03dd486116fad
|
4
|
+
data.tar.gz: 08f05ab518a9b5c028c03532c34452cbfba30ef2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d9004bb5febdc7a7f9f0a6631ead052479269576b607ca2c5f48032c3860471ce9d7cdfa41360b2978530dea7734e698cc8460ee1f1569559539ca5c4e1d069
|
7
|
+
data.tar.gz: 5295c526616f549fdc98c49bc7601ca355acd7f8d7f7661924cf4fe286c62d7ca8e6785c87ab397d87ca8b5f25e2119000a2b40c27413360d7a8518e4e364af8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 3.3.0 (2015-11-05)
|
2
|
+
|
3
|
+
- Improvements:
|
4
|
+
* Up to date dependencies, including byebug 8.0 series.
|
5
|
+
* Faster debugger thanks to @k0kubun (#80).
|
6
|
+
|
7
|
+
- Bugfixes:
|
8
|
+
* Fix encoding error in gemspec file (#70).
|
9
|
+
|
10
|
+
|
1
11
|
## 3.2.0 (2015-07-18)
|
2
12
|
|
3
13
|
- Improvements:
|
data/README.md
CHANGED
@@ -24,6 +24,16 @@ puts 'Goodbye World' # Run 'next' in the console to move here.
|
|
24
24
|
```
|
25
25
|
|
26
26
|
|
27
|
+
## Requirements
|
28
|
+
|
29
|
+
* Required: MRI 2.0.0 or higher. For debugging ruby 1.9.3 or older, use
|
30
|
+
[pry-debugger][].
|
31
|
+
|
32
|
+
* Recommended:
|
33
|
+
- MRI 2.1.7 or higher.
|
34
|
+
- MRI 2.2.3 or higher.
|
35
|
+
|
36
|
+
|
27
37
|
## Installation
|
28
38
|
|
29
39
|
Drop
|
@@ -120,18 +130,12 @@ break --show 2 # Show details about breakpoint #2.
|
|
120
130
|
Type `break --help` from a Pry session to see all available options.
|
121
131
|
|
122
132
|
|
123
|
-
## Caveats
|
124
|
-
|
125
|
-
Only supports MRI 2.0.0 or newer. For MRI 1.9.3 or older, use
|
126
|
-
[pry-debugger][pry-debugger]
|
127
|
-
|
128
|
-
|
129
133
|
## Credits
|
130
134
|
|
131
|
-
* Gopal Patel (@nixme), creator of [pry-debugger][
|
132
|
-
|
133
|
-
|
134
|
-
* John Mair (@banister), creator of [pry][
|
135
|
+
* Gopal Patel (@nixme), creator of [pry-debugger][], and everybody who
|
136
|
+
contributed to it. pry-byebug is a fork of pry-debugger so it wouldn't exist as
|
137
|
+
it is without those contributions.
|
138
|
+
* John Mair (@banister), creator of [pry][].
|
135
139
|
|
136
140
|
Patches and bug reports are welcome.
|
137
141
|
|
@@ -1,41 +1,27 @@
|
|
1
|
-
require 'byebug'
|
1
|
+
require 'byebug/core'
|
2
2
|
|
3
3
|
module Byebug
|
4
4
|
#
|
5
5
|
# Extends raw byebug's processor.
|
6
6
|
#
|
7
|
-
class PryProcessor <
|
7
|
+
class PryProcessor < CommandProcessor
|
8
8
|
attr_accessor :pry
|
9
|
-
attr_reader :state
|
10
9
|
|
11
10
|
extend Forwardable
|
12
11
|
def_delegators :@pry, :output
|
13
12
|
def_delegators Pry::Helpers::Text, :bold
|
14
13
|
|
15
|
-
def
|
16
|
-
super(interface)
|
17
|
-
|
18
|
-
Byebug.handler = self
|
19
|
-
Byebug::Setting[:autolist] = false
|
20
|
-
end
|
21
|
-
|
22
|
-
def start
|
14
|
+
def self.start
|
23
15
|
Byebug.start
|
24
|
-
|
16
|
+
Setting[:autolist] = false
|
17
|
+
Context.processor = self
|
18
|
+
Byebug.current_context.step_out(4, true)
|
25
19
|
end
|
26
20
|
|
27
21
|
#
|
28
22
|
# Wrap a Pry REPL to catch navigational commands and act on them.
|
29
23
|
#
|
30
24
|
def run(&_block)
|
31
|
-
@state ||= Byebug::RegularState.new(
|
32
|
-
Byebug.current_context,
|
33
|
-
[],
|
34
|
-
Byebug.current_context.frame_file,
|
35
|
-
interface,
|
36
|
-
Byebug.current_context.frame_line
|
37
|
-
)
|
38
|
-
|
39
25
|
return_value = nil
|
40
26
|
|
41
27
|
command = catch(:breakout_nav) do # Throws from PryByebug::Commands
|
@@ -63,17 +49,25 @@ module Byebug
|
|
63
49
|
# --- Callbacks from byebug C extension ---
|
64
50
|
|
65
51
|
#
|
66
|
-
# Called when the wants to stop at a regular line
|
52
|
+
# Called when the debugger wants to stop at a regular line
|
67
53
|
#
|
68
|
-
def at_line
|
69
|
-
resume_pry
|
54
|
+
def at_line
|
55
|
+
resume_pry
|
70
56
|
end
|
71
57
|
|
72
58
|
#
|
73
|
-
# Called when the wants to stop right before a method return
|
59
|
+
# Called when the debugger wants to stop right before a method return
|
74
60
|
#
|
75
|
-
def at_return(
|
76
|
-
resume_pry
|
61
|
+
def at_return(_return_value)
|
62
|
+
resume_pry
|
63
|
+
end
|
64
|
+
|
65
|
+
#
|
66
|
+
# Called when the debugger wants to stop right before the end of a class
|
67
|
+
# definition
|
68
|
+
#
|
69
|
+
def at_end
|
70
|
+
resume_pry
|
77
71
|
end
|
78
72
|
|
79
73
|
#
|
@@ -81,7 +75,7 @@ module Byebug
|
|
81
75
|
# inmediately after with the context's `stop_reason == :breakpoint`, so we
|
82
76
|
# must not resume the pry instance here
|
83
77
|
#
|
84
|
-
def at_breakpoint(
|
78
|
+
def at_breakpoint(breakpoint)
|
85
79
|
@pry ||= Pry.new
|
86
80
|
|
87
81
|
output.puts bold("\n Breakpoint #{breakpoint.id}. ") + n_hits(breakpoint)
|
@@ -103,10 +97,8 @@ module Byebug
|
|
103
97
|
#
|
104
98
|
# Resume an existing Pry REPL at the paused point.
|
105
99
|
#
|
106
|
-
def resume_pry
|
107
|
-
|
108
|
-
|
109
|
-
new_binding = context.frame_binding(frame_position)
|
100
|
+
def resume_pry
|
101
|
+
new_binding = frame._binding
|
110
102
|
|
111
103
|
run do
|
112
104
|
if defined?(@pry) && @pry
|
@@ -119,46 +111,40 @@ module Byebug
|
|
119
111
|
|
120
112
|
def perform_next(options)
|
121
113
|
lines = (options[:lines] || 1).to_i
|
122
|
-
|
114
|
+
context.step_over(lines, frame.pos)
|
123
115
|
end
|
124
116
|
|
125
117
|
def perform_step(options)
|
126
118
|
times = (options[:times] || 1).to_i
|
127
|
-
|
119
|
+
context.step_into(times, frame.pos)
|
128
120
|
end
|
129
121
|
|
130
122
|
def perform_finish(*)
|
131
|
-
|
123
|
+
context.step_out(1)
|
132
124
|
end
|
133
125
|
|
134
126
|
def perform_up(options)
|
135
127
|
times = (options[:times] || 1).to_i
|
136
128
|
|
137
|
-
|
138
|
-
command.match("up #{times}")
|
139
|
-
command.execute
|
129
|
+
Byebug::UpCommand.new(self, "up #{times}").execute
|
140
130
|
|
141
|
-
resume_pry
|
131
|
+
resume_pry
|
142
132
|
end
|
143
133
|
|
144
134
|
def perform_down(options)
|
145
135
|
times = (options[:times] || 1).to_i
|
146
136
|
|
147
|
-
|
148
|
-
command.match("down #{times}")
|
149
|
-
command.execute
|
137
|
+
Byebug::DownCommand.new(self, "down #{times}").execute
|
150
138
|
|
151
|
-
resume_pry
|
139
|
+
resume_pry
|
152
140
|
end
|
153
141
|
|
154
142
|
def perform_frame(options)
|
155
143
|
index = options[:index] ? options[:index].to_i : ''
|
156
144
|
|
157
|
-
|
158
|
-
command.match("frame #{index}")
|
159
|
-
command.execute
|
145
|
+
Byebug::FrameCommand.new(self, "frame #{index}").execute
|
160
146
|
|
161
|
-
resume_pry
|
147
|
+
resume_pry
|
162
148
|
end
|
163
149
|
end
|
164
150
|
end
|
data/lib/pry-byebug.rb
CHANGED
data/lib/pry-byebug/commands.rb
CHANGED
@@ -20,7 +20,6 @@ module PryByebug
|
|
20
20
|
break [--show | --delete | --enable | --disable] N
|
21
21
|
break [--delete-all | --disable-all]
|
22
22
|
break
|
23
|
-
Aliases: breakpoint
|
24
23
|
|
25
24
|
Set a breakpoint. Accepts a line number in the current file, a file and
|
26
25
|
line number, or a method, and an optional condition.
|
@@ -97,7 +96,7 @@ module PryByebug
|
|
97
96
|
end
|
98
97
|
|
99
98
|
def option_to_method(option)
|
100
|
-
"process_#{option.to_s.
|
99
|
+
"process_#{option.to_s.tr('-', '_')}"
|
101
100
|
end
|
102
101
|
|
103
102
|
def print_all
|
@@ -132,4 +131,3 @@ module PryByebug
|
|
132
131
|
end
|
133
132
|
|
134
133
|
Pry::Commands.add_command(PryByebug::BreakCommand)
|
135
|
-
Pry::Commands.alias_command 'breakpoint', 'break'
|
data/lib/pry-byebug/pry_ext.rb
CHANGED
@@ -2,18 +2,15 @@ require 'byebug/processors/pry_processor'
|
|
2
2
|
|
3
3
|
class << Pry
|
4
4
|
alias_method :start_without_pry_byebug, :start
|
5
|
-
attr_reader :processor
|
6
5
|
|
7
6
|
def start_with_pry_byebug(target = TOPLEVEL_BINDING, options = {})
|
8
|
-
@processor ||= Byebug::PryProcessor.new
|
9
|
-
|
10
7
|
if target.is_a?(Binding) && PryByebug.file_context?(target)
|
11
|
-
|
12
|
-
@processor.start
|
8
|
+
Byebug::PryProcessor.start
|
13
9
|
else
|
14
10
|
# No need for the tracer unless we have a file context to step through
|
15
11
|
start_without_pry_byebug(target, options)
|
16
12
|
end
|
17
13
|
end
|
14
|
+
|
18
15
|
alias_method :start, :start_with_pry_byebug
|
19
16
|
end
|
data/lib/pry-byebug/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-byebug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodríguez
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '8.0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '8.0'
|
42
42
|
description: |-
|
43
43
|
Combine 'pry' with 'byebug'. Adds 'step', 'next', 'finish',
|
44
44
|
'continue' and 'break' commands to control execution.
|
@@ -60,11 +60,13 @@ files:
|
|
60
60
|
- lib/pry-byebug/commands/breakpoint.rb
|
61
61
|
- lib/pry-byebug/commands/continue.rb
|
62
62
|
- lib/pry-byebug/commands/down.rb
|
63
|
+
- lib/pry-byebug/commands/exit_all.rb
|
63
64
|
- lib/pry-byebug/commands/finish.rb
|
64
65
|
- lib/pry-byebug/commands/frame.rb
|
65
66
|
- lib/pry-byebug/commands/next.rb
|
66
67
|
- lib/pry-byebug/commands/step.rb
|
67
68
|
- lib/pry-byebug/commands/up.rb
|
69
|
+
- lib/pry-byebug/control_d_handler.rb
|
68
70
|
- lib/pry-byebug/helpers/breakpoints.rb
|
69
71
|
- lib/pry-byebug/helpers/multiline.rb
|
70
72
|
- lib/pry-byebug/helpers/navigation.rb
|
@@ -92,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
94
|
version: '0'
|
93
95
|
requirements: []
|
94
96
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.4.5
|
97
|
+
rubygems_version: 2.4.5.1
|
96
98
|
signing_key:
|
97
99
|
specification_version: 4
|
98
100
|
summary: Fast debugging with Pry.
|