pryx 0.7.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce341aed30736e74c9555f58904c279e3df2c8e9b34927b5a3ea0a203d56f48a
4
- data.tar.gz: b910b99fd34921918bac6baccf2153518f0ca9c46d00245e4af507f80121df1e
3
+ metadata.gz: f103fdc3949130cba0098bf43e28c8de891a98a45ba2cc47a39e3acceae96ba4
4
+ data.tar.gz: f923206b67cba8f0c8c6932a6f4ebcbb69348ecca558b1a255eac233de74ebab
5
5
  SHA512:
6
- metadata.gz: 39b07122fe28eb18ef6b69ce6719fa59a75eb0d5aad2d6407de9684298dd9b80396a3d547294d043e8566043168ee4f14d61c22674d94efb1443f4ec9325e9a8
7
- data.tar.gz: 335180f0b216cc9997118bf6e692b5bfb95f8a70d5cc5b1c28049f3955d96dd2696072e516a06fd963e8bb35b4fae4a006879adcf2903b929f193733ee94e791
6
+ metadata.gz: 9f315016c8cebcefc7cb0c3de0c24ca16018c42f0dbdf63595138ada13152cc5ccfdc0ce80349265ed0a4e45d949c0ac421780fd5e0dc347983eceaf0bade22a
7
+ data.tar.gz: df142f61ddb4d41660c1f895a1ba5c4371be097166b991c71016f3a1b54ef77f16824716c88aa02763dcfda770cfb41e9c33f16afe8b0b54929da4a5f8c7d7a8
data/README.md CHANGED
@@ -98,7 +98,8 @@ Following is pry command available only after start a Pry session:
98
98
  5. Add `pry-aa_ancestors` command for print the class hierarchy, see [pry-aa_ancestors](https://github.com/tbpgr/pry-aa_ancestors)
99
99
  6. Add `up/down/frame/stack` command, see [pry-stack_explorer](https://github.com/pry/pry-stack_explorer)
100
100
  7. Add `yes` or `y` command, see [pry-yes](https://github.com/christofferh/pry-yes)
101
- 8. Add `pry-disam`, Check following screenshot for a example:
101
+ 8. Add `reload!` command , see [pry-reload](https://github.com/runa/pry-reload)
102
+ 9. Add `pry-disam`, Check following screenshot for a example:
102
103
 
103
104
  ![pry-disasm](images/disasm.png)
104
105
 
@@ -131,11 +132,12 @@ pryx is same as pry, but, with plugins and libraries correct configured.
131
132
 
132
133
  irbx is same things for irb.
133
134
 
134
- pry! just a alias to `pry-remote` command, when `Kernel#pry!` was intercepted in a background process,
135
- you can run `pry!` directly in terminal connect to it.
135
+ `pry!` just a alias to `binding.pry`, but, if process is running on background, it a alias to `binding.remote_pry('0.0.0.0', 9876)`,
136
+ you can specify host or port manually, like this: `pry!(host: '192.168.1.100')`.
137
+ in another terminal, you can run `pry!` directly to connect to it use IP + port.
136
138
 
137
- if your's pry-remote server started background on another host, or on a container, you man need
138
- specify hostname and port, e.g. connnect to 192.168.1.100, with port 9876
139
+ e.g. assume your's pry-remote server started background on another host(192.168.1.100), port 9876
140
+ It maybe in container, you can connect remote pry like this:
139
141
 
140
142
  ```sh
141
143
  $: pry! -s 192.168.1.100 -p 9876
@@ -1,9 +1,25 @@
1
1
  require 'binding_of_caller'
2
2
  require 'clipboard'
3
3
 
4
- # ap_hack 可以确保,当使用 irb! 时,looksee ls1 输出显示正确,同时不用关闭 irb :USE_COLORIZE 设置。
4
+ # HACK: for ap 可以确保,当使用 irb! 时,looksee ls1 输出显示正确,同时不用关闭 irb :USE_COLORIZE 设置。
5
5
  # See https://github.com/oggy/looksee/issues/57
6
6
  # 但是,ap_hack 必须放到 break_hack 前面,调换顺序,上面的 hack 失效。
7
- # WARN: 下面两行代码顺序不要换。
8
- require 'pryx/ap_hack'
9
- require 'pryx/break_hack'
7
+ # WARN: 下面两行 require 代码顺序不要换。
8
+ require 'awesome_print'
9
+
10
+ # AwesomePrint.defaults = {
11
+ # index: false
12
+ # }
13
+
14
+ if defined? AwesomePrint
15
+ if defined? Pry
16
+ AwesomePrint.pry!
17
+ else
18
+ AwesomePrint.irb!
19
+ end
20
+ end
21
+
22
+ require 'break'
23
+ Pry.commands.alias_command 'n', 'next'
24
+ Pry.commands.alias_command 's', 'step'
25
+ Pry.commands.alias_command 'w', 'watch' # watch is pry builtin
data/lib/pryx/pry_hack.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # 注意如果开启 pry-stack_explorer, 就不要使用 debugger, 因为进入新的上下文后, pry-stack_explorer 将失效.
2
2
 
3
3
  class Binding
4
- def _pry(host=nil, port=nil, options={})
4
+ def _pry(host: nil, port: nil, options: {})
5
5
  if host
6
6
  require 'pry-remote'
7
7
  else
@@ -14,7 +14,7 @@ class Binding
14
14
  if host
15
15
  notify_send('loading remote pry ...')
16
16
  # remote_pry(host, port, options) if Pry.initial_session?
17
- remote_pry(host, port, options)
17
+ self.remote_pry(host, port, options)
18
18
  else
19
19
  warn 'loading pry ...'
20
20
  self.pry
@@ -24,12 +24,14 @@ end
24
24
 
25
25
  module Kernel
26
26
  # 运行 pry! 会被拦截, 且只会被拦截一次.
27
- def pry!(remote: nil, port: 9876)
28
- return unless ENV['Pry_was_started'].nil?
27
+ def pry!(host: nil, port: 9876)
28
+ if Pryx::Background.foreground? and host.nil?
29
+ return unless ENV['Pry_was_started'].nil?
29
30
 
30
- ENV['Pry_was_started'] = 'true'
31
+ ENV['Pry_was_started'] = 'true'
32
+ end
31
33
 
32
- pry3(2, remote: remote, port: port)
34
+ pry3(2, host: host, port: port)
33
35
 
34
36
  # 这里如果有代码, 将会让 pry! 进入这个方法, 因此保持为空.
35
37
  end
@@ -41,13 +43,13 @@ module Kernel
41
43
 
42
44
  # 和 pry! 的差别就是,pry? 使用 pry-state 插件输出当前 context 的很多变量内容。
43
45
  # 注意:不需要总是开启 pry-state,因为有时候会输出太多内容,造成刷屏。
44
- def pry?(remote: nil, port: 9876)
46
+ def pry?(host: nil, port: 9876)
45
47
  return unless ENV['Pry_was_started'].nil?
46
48
 
47
49
  require 'pry-state'
48
50
  ENV['Pry_was_started'] = 'true'
49
51
 
50
- pry3(2, remote: remote, port: port)
52
+ pry3(2, host: host, port: port)
51
53
 
52
54
  # 这里如果有代码, 将会让 pry! 进入这个方法, 因此保持为空.
53
55
  end
@@ -59,21 +61,21 @@ module Kernel
59
61
  # 1. 单独运行 pry2, 永远不会被拦截,
60
62
  # 2. 如果之前运行过 pry1, 此时 pry2 将被拦截, 且只会被拦截一次.
61
63
 
62
- def pry2(caller=1, remote: nil, port: 9876)
64
+ def pry2(host: nil, port: 9876)
63
65
  if ENV['Pry2_should_start'] == 'true'
64
66
  ENV['Pry2_should_start'] = nil
65
- pry3(2, remote: remote, port: port)
67
+ pry3(2, host: host, port: port)
66
68
  end
67
69
  end
68
70
 
69
71
  # 等价于默认的 binding.pry, 会反复被拦截。
70
72
  # 起成 pry3 这个名字,也是为了方便直接使用。
71
- def pry3(caller=1, remote: nil, port: 9876)
72
- remote = '0.0.0.0' if Pryx::Background.background?
73
+ def pry3(caller=1, host: nil, port: 9876)
74
+ host = '0.0.0.0' if Pryx::Background.background?
73
75
 
74
76
  require 'binding_of_caller'
75
77
 
76
- binding.of_caller(caller)._pry(remote, port)
78
+ binding.of_caller(caller)._pry(host: host, port: port)
77
79
  end
78
80
 
79
81
  def notify_send(msg)
@@ -4,7 +4,6 @@ require 'pry-power_assert'
4
4
  require 'pry-doc'
5
5
 
6
6
  require 'pry-yes'
7
- Pry.commands.alias_command 'y', 'yes'
8
7
 
9
8
  require 'pry-hier'
10
9
 
@@ -18,6 +17,8 @@ Pry::Commands.alias_command 'aa', 'aa_ancestors'
18
17
  require 'pry-stack_explorer'
19
18
  require 'pryx/pry-stack_explorer_hack'
20
19
 
20
+ require 'pry-reload'
21
+
21
22
  Pry::Commands.block_command 'cc', 'Continue, but stop in pry! breakpoint' do
22
23
  Pry.instance_variable_set(:@initial_session, true)
23
24
  ENV['Pry_was_started'] = nil
data/lib/pryx/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pryx
4
- VERSION = [0, 7, 0]
4
+ VERSION = [0, 8, 1]
5
5
 
6
6
  class << VERSION
7
7
  include Comparable
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pryx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Billy.Zheng(zw963)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-25 00:00:00.000000000 Z
11
+ date: 2022-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.30'
33
+ version: 0.40.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.30'
40
+ version: 0.40.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: looksee
42
+ name: clipboard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.4'
47
+ version: '1.3'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.4'
54
+ version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
- name: clipboard
56
+ name: looksee
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '4.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '4.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,33 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.14'
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry-doc
84
+ name: pry-aa_ancestors
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.3'
89
+ version: 0.0.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.3'
96
+ version: 0.0.1
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry-power_assert
98
+ name: pry-doc
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.0.2
103
+ version: '1.3'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.0.2
110
+ version: '1.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry-hier
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -123,33 +123,33 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.1'
125
125
  - !ruby/object:Gem::Dependency
126
- name: pry-aa_ancestors
126
+ name: pry-power_assert
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.0.1
131
+ version: 0.0.2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.0.1
138
+ version: 0.0.2
139
139
  - !ruby/object:Gem::Dependency
140
- name: pry-stack_explorer
140
+ name: pry-reload
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.6'
145
+ version: '0.3'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.6'
152
+ version: '0.3'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry-rescue
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -165,19 +165,19 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '1.5'
167
167
  - !ruby/object:Gem::Dependency
168
- name: minitest
168
+ name: pry-stack_explorer
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
173
+ version: '0.6'
174
+ type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: '0.6'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: m
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '1.6'
195
+ - !ruby/object:Gem::Dependency
196
+ name: minitest
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: ritual
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +235,6 @@ files:
221
235
  - bin/irbx
222
236
  - bin/pry!
223
237
  - bin/pryx
224
- - lib/break/pry/extensions.rb
225
238
  - lib/pry-byebug.rb
226
239
  - lib/pry-byebug/WARN
227
240
  - lib/pry-byebug/base.rb
@@ -236,9 +249,7 @@ files:
236
249
  - lib/pry-state/printer.rb
237
250
  - lib/pry-yes.rb
238
251
  - lib/pryx.rb
239
- - lib/pryx/ap_hack.rb
240
252
  - lib/pryx/background.rb
241
- - lib/pryx/break_hack.rb
242
253
  - lib/pryx/common_plugins.rb
243
254
  - lib/pryx/drip.wav
244
255
  - lib/pryx/irb_hack.rb
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Break::Pry
4
- module PryExtensions
5
- attr_accessor :__break_session__
6
-
7
- def initialize(options={})
8
- super(options)
9
-
10
- @__break_session__ = options[:__break_session__]
11
- end
12
- end
13
- end
14
-
15
- Pry.prepend Break::Pry::PryExtensions
16
-
17
- begin
18
- require 'pry-remote'
19
-
20
- module Break::Pry
21
- class << self
22
- attr_accessor :current_remote_server
23
- end
24
-
25
- module PryRemoteServerExtensions
26
- def initialize(*)
27
- Break::Pry.current_remote_server&.teardown
28
-
29
- super
30
- end
31
-
32
- def run
33
- return if Break::Pry.current_remote_server
34
-
35
- Break::Pry.current_remote_server = self
36
-
37
- setup
38
-
39
- Pry.start @object, @options.merge(input: client.input_proxy, output: client.output)
40
- end
41
-
42
- def teardown
43
- super
44
- ensure
45
- Break::Pry.current_remote_server = nil
46
- end
47
- end
48
- end
49
-
50
- # Hack for break works with pry_remote.
51
- # More details, see: https://github.com/gsamokovarov/break/issues/9
52
-
53
- # PryRemote::Server.prepend Break::Pry::PryRemoteServerExtensions
54
- rescue LoadError
55
- # Do nothing if we cannot require pry-remote.
56
- end
data/lib/pryx/ap_hack.rb DELETED
@@ -1,15 +0,0 @@
1
- require 'awesome_print'
2
-
3
- # AwesomePrint.defaults = {
4
- # index: false
5
- # }
6
-
7
- if defined? AwesomePrint
8
- if defined? Pry
9
- require 'pry'
10
- AwesomePrint.pry!
11
- else
12
- require 'irb'
13
- AwesomePrint.irb!
14
- end
15
- end
@@ -1,6 +0,0 @@
1
- require 'break'
2
- load "#{__dir__}/../break/pry/extensions.rb"
3
-
4
- Pry.commands.alias_command 'n', 'next'
5
- Pry.commands.alias_command 's', 'step'
6
- Pry.commands.alias_command 'w', 'watch' # watch is pry builtin