pryx 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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