pryx 0.2.2 → 0.4.0

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: 5d32d158a55d6f60171d02a8cd461db6cfe297367dcb45d83e9373f6a700af13
4
- data.tar.gz: 07f75f1b4519f23d1b78bd786f18a2fe429bb152026249c769b84c548ff99ac4
3
+ metadata.gz: 2a6ae2e11955f264a9c73ecf4b11b06be4449e5ca5700010e8d1cb0790cee06b
4
+ data.tar.gz: 5bb01a1eb5eb2115ef31711a8d160afa25abaf0677b1172b2a383bbcc53d279c
5
5
  SHA512:
6
- metadata.gz: b963742fd62610857bd1dbdb423f437adacd1457d2bbd453d44b106ac4ef893cb083029bdf89b98664e0787f519973be63c64ab19737dcbca46838bb1ebcc779
7
- data.tar.gz: fa57e77ccf9805f0f6937a89e798f106e729335eb4e450b37f0b5b9c6a369046645a30d123d6e2cbeab3feb2e6be94a3c34492495ee06414c37fb6e2a0a6d9c0
6
+ metadata.gz: 78b9fe62e3330c1b8619f8638f7d5121e4e9806eee6e5e242d9e91cb572c238462761bd9fcde671c882cd806e5b5559bcf93ddfb7228f250d014ce386c436e5c
7
+ data.tar.gz: 6c68b315d94c28d7dba89d87e548b52fe3506dcecea7660571a7dd7eb41bf7b3cc835ce34bc2a05e04756d8d0e3343e5c1b5ea9938e7bb46750889e239e6c43e
data/bin/irbx ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # irb.rb - interactive ruby
4
+ # $Release Version: 0.9.6 $
5
+ # $Revision$
6
+ # by Keiju ISHITSUKA(keiju@ruby-lang.org)
7
+ #
8
+
9
+ require 'irb'
10
+ require 'pryx_irb'
11
+
12
+ IRB.start(__FILE__)
data/bin/pryx ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # (C) John Mair (banisterfiend)
5
+ # MIT license
6
+
7
+ $0 = 'pry'
8
+
9
+ require 'pry'
10
+ require 'pryx'
11
+
12
+ # Process command line options and run Pry
13
+ opts = Pry::CLI.parse_options
14
+ Pry::CLI.start(opts)
@@ -0,0 +1,61 @@
1
+ require 'pry-state/printer'
2
+
3
+ class HookAction
4
+ IGNORABLE_LOCAL_VARS = [:__, :_, :_ex_, :_pry_, :_out_, :_in_, :_dir_, :_file_]
5
+
6
+ CONTROLLER_INSTANCE_VARIABLES = [:@_request, :@_response, :@_routes]
7
+ RSPEC_INSTANCE_VARIABLES = [:@__inspect_output, :@__memoized]
8
+ IGNORABLE_INSTANCE_VARS = CONTROLLER_INSTANCE_VARIABLES + RSPEC_INSTANCE_VARIABLES
9
+ IGNORABLE_GLOBAL_VARS = [:$@]
10
+
11
+ def initialize binding, pry
12
+ @binding, @pry = binding, pry
13
+ end
14
+
15
+ def act
16
+ if ENV['SHOW_GLOBAL_VARIABLES']
17
+ (binding.eval('global_variables').sort - IGNORABLE_GLOBAL_VARS).each do |var|
18
+ eval_and_print var, var_color: 'white', value_colore: 'yellow'
19
+ end
20
+ end
21
+
22
+ unless ENV['HIDE_INSTANCE_VARIABLES']
23
+ (binding.eval('instance_variables').sort - IGNORABLE_INSTANCE_VARS).each do |var|
24
+ eval_and_print var, var_color: 'green'
25
+ end
26
+ end
27
+
28
+ unless ENV['HIDE_LOCAL_VARIABLES']
29
+ (binding.eval('local_variables').sort - IGNORABLE_LOCAL_VARS).each do |var|
30
+ eval_and_print var, var_color: 'cyan'
31
+ end
32
+ end
33
+ end
34
+
35
+ private
36
+ attr_reader :binding, :pry
37
+
38
+ def eval_and_print var, var_color: 'green', value_color: 'white'
39
+ value = binding.eval(var.to_s)
40
+ if value_changed? var, value
41
+ var_color = "bright_#{var_color}"; value_color = 'bright_yellow'
42
+ end
43
+ PryState::Printer.trunc_and_print var, value, var_color, value_color
44
+ stick_value! var, value # to refer the value in next
45
+ end
46
+
47
+ def value_changed? var, value
48
+ prev_state[var] and prev_state[var] != value
49
+ end
50
+
51
+ def stick_value! var, value
52
+ prev_state[var] = value
53
+ end
54
+
55
+ def prev_state
56
+ # init a hash to store state to be used in next session
57
+ # in finding diff
58
+ pry.config.extra_sticky_locals[:pry_state_prev] ||= {}
59
+ end
60
+
61
+ end
@@ -0,0 +1,51 @@
1
+ module PryState
2
+ module Printer
3
+ extend self
4
+
5
+ WIDTH = ENV['COLUMNS'] ? ENV['COLUMNS'].to_i : 80
6
+ MAX_LEFT_COLUMN_WIDTH = 25
7
+ # Ratios are 1:3 left:right, or 1/4 left
8
+ COLUMN_RATIO = 3 # right column to left ratio
9
+ LEFT_COLUMN_WIDTH = [(WIDTH / (COLUMN_RATIO + 1)).floor, MAX_LEFT_COLUMN_WIDTH].min
10
+
11
+ # Defaults to true
12
+ TRUNCATE = ENV['PRY_STATE_TRUNCATE'] != 'false'
13
+
14
+ def trunc_and_print var, value, var_color, value_color
15
+ var_name_adjusted = var.to_s.ljust(LEFT_COLUMN_WIDTH)
16
+ # Ensure at least 1 space between left and right columns
17
+ left_column_text = truncate(var_name_adjusted, LEFT_COLUMN_WIDTH - 1) + ' '
18
+ print Pry::Helpers::Text.send(var_color, left_column_text)
19
+ print stringified_val_or_nil(value, value_color, WIDTH - LEFT_COLUMN_WIDTH)
20
+ print "\n"
21
+ end
22
+
23
+ private
24
+ def truncate text, length
25
+ if text.nil? then return end
26
+ return text unless ENV['TRUNCATE']
27
+ l = length - "...".length
28
+ (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + "..." : text).to_s
29
+ end
30
+
31
+ def stringified_val_or_nil value, color, length
32
+ value = stringify_value value
33
+ if value.empty?
34
+ Pry::Helpers::Text.red 'nil'
35
+ else
36
+ text = truncate(value, length)
37
+ Pry::Helpers::Text.send(color, text)
38
+ end
39
+ end
40
+
41
+ def stringify_value value
42
+ if value.class == String
43
+ "\"#{value}\""
44
+ elsif value.class == Array
45
+ "len:#{value.count} #{value.inspect}"
46
+ else
47
+ value.inspect
48
+ end
49
+ end
50
+ end
51
+ end
data/lib/pry-state.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "pry"
2
+ require 'pry-state/hook_action'
3
+
4
+
5
+ Pry.hooks.add_hook(:before_session, "pry_state_hook") do |output, binding, pry|
6
+ HookAction.new(binding, pry).act
7
+ end
data/lib/pry-yes.rb ADDED
@@ -0,0 +1,37 @@
1
+ Pry::Commands.create_command "yes" do
2
+ description 'Re-runs previous command with "Did you mean?" suggestion.'
3
+ def options(opt)
4
+ opt.on :d, :debug, 'Debug mode.'
5
+ end
6
+
7
+ def process
8
+ ex = target.eval("defined?(_ex_) and _ex_")
9
+ return unless ex && ex.message.include?("Did you mean?")
10
+
11
+ matched_exception = ex.message.match(
12
+ /undefined.*`(.*)'|uninitialized constant (.*)\n/)
13
+ return unless matched_exception
14
+
15
+ typo = matched_exception.captures.compact.first
16
+ return unless typo
17
+
18
+ typo_guess = ex.message.split('Did you mean? ').last.split.first
19
+ last_command = Pry.history.to_a[-2]
20
+ guessed_command = last_command.gsub(typo, typo_guess)
21
+
22
+ pry_instance.input = StringIO.new(guessed_command)
23
+ rescue => e
24
+ # Schhh
25
+ raise e if opts.present?(:debug)
26
+ ensure
27
+ if opts.present?(:debug)
28
+ puts "matched_exception: #{matched_exception}"
29
+ puts "typo: #{typo}"
30
+ puts "typo_guess: #{typo_guess}"
31
+ puts "last_command: #{last_command}"
32
+ puts "guessed_command: #{guessed_command}"
33
+ end
34
+ end
35
+ end
36
+
37
+ module PryYes; end
data/lib/pryx/ap_hack.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require 'awesome_print'
2
2
 
3
- AwesomePrint.defaults = {
4
- index: false
5
- }
3
+ # AwesomePrint.defaults = {
4
+ # index: false
5
+ # }
6
6
 
7
7
  if defined? AwesomePrint
8
8
  if defined? Pry
@@ -0,0 +1,20 @@
1
+ module Pryx::Background
2
+ # 如果是前台进程,则这个进程的组ID(pgid)一定会等于当前 terminal 的gid (tpgid)
3
+ # 否则,如果不等,那么就是后台进程。
4
+ # system("\\cat /proc/#{pid}/stat |awk '$5==$8 {exit 1}'")
5
+ def self.background?(pid=$$)
6
+ # 这个实现似乎有错, 因为针对 nohup 1.rb& 这种情况,返回为前台进程。
7
+ # 执行 reverse 再处理,是因为要考虑文件名包含空格因素。例如:‘hello) (world’
8
+ # ary = File.read("/proc/#{pid}/stat").split(' ').reverse
9
+ # is_bg = (ary[46] != ary[48])
10
+
11
+ # 这个实现依赖于一些 linux 下基本工具,但是准确
12
+ is_bg = system("ps -e -o pid,pgid,tpgid |grep '^\s*#{pid}' |awk '$2==$3 {exit 1}'")
13
+
14
+ is_bg && !$stdout.tty?
15
+ end
16
+
17
+ def self.foreground?(pid=$$)
18
+ not background?(pid)
19
+ end
20
+ end
@@ -1,2 +1,6 @@
1
1
  require 'break'
2
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
@@ -0,0 +1,46 @@
1
+ require 'binding_of_caller'
2
+
3
+ class Binding
4
+ def _irb(_host=nil)
5
+ warn 'loading irb ...'
6
+
7
+ if defined? Break and defined? IRB
8
+ # This is need for work with looksee better.
9
+ # See discuss on https://github.com/oggy/looksee/issues/57
10
+ IRB.conf[:USE_COLORIZE] = false
11
+ else
12
+ warn "For work with Break and Looksee, please set
13
+ export RUBYOPT='-rpryx_irb'
14
+ instead of
15
+ export RUBYOPT='-rpryx'
16
+ "
17
+ end
18
+
19
+ self.irb
20
+ end
21
+ end
22
+
23
+ module Kernel
24
+ def irb!
25
+ return unless ENV['IRB_was_started'].nil?
26
+
27
+ ENV['IRB_was_started'] = 'true'
28
+
29
+ binding.of_caller(1)._irb
30
+ end
31
+
32
+ def reirb!
33
+ ENV['IRB_was_started'] = nil
34
+ end
35
+
36
+ def irb1
37
+ ENV['IRB2_should_start'] = 'true'
38
+ end
39
+
40
+ def irb2(caller=1, remote: nil, port: 9876)
41
+ if ENV['IRB2_should_start'] == 'true'
42
+ ENV['IRB2_should_start'] = nil
43
+ binding.of_caller(caller)._irb
44
+ end
45
+ end
46
+ end
data/lib/pryx/pry_hack.rb CHANGED
@@ -9,10 +9,27 @@ class Binding
9
9
  else
10
10
  require 'pry'
11
11
  end
12
+
12
13
  require 'pryx/ap_hack'
14
+
13
15
  require 'pryx/break_hack'
16
+
17
+ require 'pry-power_assert'
18
+
19
+ require 'pry-doc'
20
+
21
+ require 'pry-yes'
22
+ Pry.commands.alias_command 'y', 'yes'
23
+
24
+ require 'pry-hier'
25
+
26
+ require 'pry-aa_ancestors'
27
+ Pry::Commands.alias_command 'aa', 'aa_ancestors'
28
+
14
29
  # 这个必须在最后才有效, 但是目前存在一个问题,就是会将 pry3, pry! 加入 stacks
15
- require 'pry-stack_explorer'
30
+ # stack 显示 stack 的列表,frame 显示当前所在 stack, stack N 也可以根据数字跳转到 N
31
+ require 'pry-stack_explorer' # Support: up, down, bottom, top, stack, frame
32
+
16
33
 
17
34
  Pry::Commands.block_command 'cc', 'Continue, but stop in pry! breakpoint' do
18
35
  Pry.instance_variable_set(:@initial_session, true)
@@ -29,38 +46,20 @@ class Binding
29
46
  self.pry
30
47
  end
31
48
  end
32
-
33
- def _irb(_host=nil)
34
- warn 'loading irb ...'
35
-
36
- IRB.conf[:USE_COLORIZE] = false
37
-
38
- self.irb
39
- end
40
49
  end
41
50
 
42
51
  module Kernel
43
52
  # 运行 pry! 会被拦截, 且只会被拦截一次.
44
- def pry!(caller=2, remote: nil, port: 9876)
53
+ def pry!(remote: nil, port: 9876)
45
54
  return unless ENV['Pry_was_started'].nil?
46
55
 
47
56
  ENV['Pry_was_started'] = 'true'
48
57
 
49
- if background?
50
- remote = '0.0.0.0'
51
- port = 9876
52
- end
53
-
54
- pry3(caller, remote: remote, port: port)
58
+ pry3(2, remote: remote, port: port)
55
59
 
56
60
  # 这里如果有代码, 将会让 pry! 进入这个方法, 因此保持为空.
57
61
  end
58
62
 
59
- # 注意:pryr 总是会被拦截。
60
- def pryr
61
- pry3(caller=2, remote: '0.0.0.0', port: 9876)
62
- end
63
-
64
63
  # 在 pry! 之前如果输入这个,会让下次执行的 pry! 被拦截一次, 而不管之前是否有执行过 pry!
65
64
  def repry!
66
65
  ENV['Pry_was_started'] = nil
@@ -68,13 +67,13 @@ module Kernel
68
67
 
69
68
  # 和 pry! 的差别就是,pry? 使用 pry-state 插件输出当前 context 的很多变量内容。
70
69
  # 注意:不需要总是开启 pry-state,因为有时候会输出太多内容,造成刷屏。
71
- def pry?(caller=2, remote: nil, port: 9876)
70
+ def pry?(remote: nil, port: 9876)
72
71
  return unless ENV['Pry_was_started'].nil?
73
72
 
74
73
  require 'pry-state'
75
74
  ENV['Pry_was_started'] = 'true'
76
75
 
77
- pry3(caller, remote: remote, port: port)
76
+ pry3(2, remote: remote, port: port)
78
77
 
79
78
  # 这里如果有代码, 将会让 pry! 进入这个方法, 因此保持为空.
80
79
  end
@@ -82,6 +81,8 @@ module Kernel
82
81
  # 等价于默认的 binding.pry, 会反复被拦截。
83
82
  # 起成 pry3 这个名字,也是为了方便直接使用。
84
83
  def pry3(caller=1, remote: nil, port: 9876)
84
+ remote = '0.0.0.0' if Pryx::Background.background?
85
+
85
86
  binding.of_caller(caller)._pry(remote, port)
86
87
  end
87
88
 
@@ -94,75 +95,49 @@ module Kernel
94
95
 
95
96
  def pry2(caller=1, remote: nil, port: 9876)
96
97
  if ENV['Pry2_should_start'] == 'true'
97
- # 首先恢复 Pry2_is_start 为未启动, 避免稍后的 pry2 再次被拦截.
98
98
  ENV['Pry2_should_start'] = nil
99
99
  binding.of_caller(caller)._pry(remote, port)
100
100
  end
101
101
  end
102
102
 
103
- def reirb!
104
- ENV['IRB_was_started'] = nil
105
- end
106
-
107
- def irb!
108
- return unless ENV['IRB_was_started'].nil?
109
-
110
- ENV['IRB_was_started'] = 'true'
111
-
112
- binding.of_caller(1)._irb
113
- end
103
+ def notify_send(msg)
104
+ system("notify-send \"#{msg}\"") if system 'which notify-send &>/dev/null'
114
105
 
115
- def irb1
116
- ENV['IRB2_should_start'] = 'true'
106
+ system('aplay "#{__dir__}/drip.wav" &>/dev/null') if system 'which aplay &>/dev/null'
107
+ warn "#{msg}"
117
108
  end
109
+ end
118
110
 
119
- def irb2(caller=1, remote: nil, port: 9876)
120
- if ENV['IRB2_should_start'] == 'true'
121
- # 首先恢复 Pry2_is_start 为未启动, 避免稍后的 pry2 再次被拦截.
122
- ENV['IRB2_should_start'] = nil
123
- binding.of_caller(caller)._irb
124
- end
125
- end
111
+ # Hack for roda/rails, 在每一次发送请求之前,总是设定 ENV['Pry_was_started'] to nil.
112
+ # 这可以确保,pry! 总是会被拦截,但是仅仅只会被拦截一次。
126
113
 
127
- # 如果是前台进程,则这个进程的组ID(pgid)一定会等于当前 terminal 的gid (tpgid)
128
- # 否则,如果不等,那么就是后台进程。
129
- # system("ps -e -o pid,pgid,tpgid |grep '^\s*#{pid}' |awk '$2==$3 {exit 1}'")
130
- # system("\\cat /proc/#{pid}/stat |awk '$5==$8 {exit 1}'")
131
- def background?(pid=$$)
132
- # 考虑是否需要验证
133
- ary = File.read("/proc/#{pid}/stat").split(' ').reverse
134
- # 执行 reverse 再处理,是因为要考虑文件名包含空格因素。例如:‘hello) (world’
135
- (ary[46] != ary[48]) && !$stdout.tty?
136
- end
114
+ class Pryx::PryHackForRodaRailsMiddleware
115
+ attr_reader :app
137
116
 
138
- def foreground?(pid=$$)
139
- not background?(pid)
117
+ def initialize(app)
118
+ @app = app
140
119
  end
141
120
 
142
- def notify_send(msg)
143
- system("notify-send \"#{msg}\"") if system 'which notify-send &>/dev/null'
144
-
145
- system('aplay "#{__dir__}/drip.wav" &>/dev/null') if system 'which aplay &>/dev/null'
146
- warn "#{msg}"
121
+ def call(env)
122
+ ENV['Pry_was_started'] = nil
123
+ @app.call(env)
147
124
  end
148
125
  end
149
126
 
150
- # Hack roda, 在每一次发送请求之前,总是设定 ENV['Pry_was_started'] to nil.
151
- # 这可以确保,pry! 总是会被拦截,但是仅仅只会被拦截一次。
152
127
  begin
153
128
  require 'roda'
154
- class PryHackRodaMiddleware
155
- attr_reader :app
156
-
157
- def initialize(app)
158
- @app = app
159
- end
129
+ Roda.use Pryx::PryHackForRodaRailsMiddleware
130
+ rescue LoadError
131
+ end
160
132
 
161
- def call(env)
162
- ENV['Pry_was_started'] = nil
163
- @app.call(env)
164
- end
133
+ begin
134
+ require 'active_support/lazy_load_hooks'
135
+ ActiveSupport.on_load(:before_configuration) do
136
+ # because exits less command error when use in container, use irb instead.
137
+ # require 'pry'
138
+ # require 'pryx'
139
+ # Rails.application.config.console = Pry
140
+ Rails.application.config.middleware.use Pryx::PryHackForRodaRailsMiddleware
165
141
  end
166
- Roda.use PryHackRodaMiddleware
167
142
  rescue LoadError
168
143
  end
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, 2, 2]
4
+ VERSION = [0, 4, 0]
5
5
 
6
6
  class << VERSION
7
7
  include Comparable
data/lib/pryx.rb CHANGED
@@ -1,13 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'pryx/version'
4
+ require 'pryx/background'
4
5
  require 'pryx/trap_backtrace'
5
6
  require 'pryx/looksee_hack'
6
7
  require 'pryx/pry_hack'
8
+ require 'pryx/irb_hack'
7
9
 
8
10
  # Add the non-bundler managermented gems back
9
11
  # this step is necessory when install pryx in docker-compose
10
12
  ENV['RUBYLIB'] = $LOAD_PATH.grep(/gems/).join(':')
11
13
 
14
+ # set export RUBYOPT+=" -rpryx" to work with pryx.
12
15
  module Pryx
13
16
  end
data/lib/pryx_irb.rb CHANGED
@@ -1,3 +1,14 @@
1
+ # We need apply those hack before irb was loaded for work with irb.
2
+ # So we have to add it here, same hacks for Pry is add to method
3
+ # Binding#_pry which defined in lib/pryx/pry_hack.rb
4
+
5
+ # we need set `export RUBYOPT+=" -rpryx_irb"` instead of `-rpryx` to make
6
+ # irb work with break and ap gem.
7
+
8
+ # ap_hack 可以确保,当时用 irb! 的时候,输入代码是彩色的,并且 looksee 也正常显示
9
+ # 但是,ap_hack 不可以放到 break_hack 后面,否则会失效。
10
+ # WARN: 下面两行代码顺序不要换。
1
11
  require 'pryx/ap_hack'
2
12
  require 'pryx/break_hack'
13
+
3
14
  require 'pryx'
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.2.2
4
+ version: 0.4.0
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-21 00:00:00.000000000 Z
11
+ date: 2022-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.0.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-hier
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.1'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-aa_ancestors
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: pry-stack_explorer
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -140,13 +168,17 @@ description: ''
140
168
  email:
141
169
  - vil963@gmail.com
142
170
  executables:
171
+ - irbx
143
172
  - pry!
173
+ - pryx
144
174
  extensions: []
145
175
  extra_rdoc_files: []
146
176
  files:
147
177
  - LICENSE
148
178
  - README.md
179
+ - bin/irbx
149
180
  - bin/pry!
181
+ - bin/pryx
150
182
  - lib/break/pry/extensions.rb
151
183
  - lib/pry-byebug.rb
152
184
  - lib/pry-byebug/WARN
@@ -157,10 +189,16 @@ files:
157
189
  - lib/pry-disasm.rb
158
190
  - lib/pry-disasm/commands.rb
159
191
  - lib/pry-remote.rb
192
+ - lib/pry-state.rb
193
+ - lib/pry-state/hook_action.rb
194
+ - lib/pry-state/printer.rb
195
+ - lib/pry-yes.rb
160
196
  - lib/pryx.rb
161
197
  - lib/pryx/ap_hack.rb
198
+ - lib/pryx/background.rb
162
199
  - lib/pryx/break_hack.rb
163
200
  - lib/pryx/drip.wav
201
+ - lib/pryx/irb_hack.rb
164
202
  - lib/pryx/looksee_hack.rb
165
203
  - lib/pryx/pry_hack.rb
166
204
  - lib/pryx/trap_backtrace.rb
@@ -189,5 +227,5 @@ requirements: []
189
227
  rubygems_version: 3.3.3
190
228
  signing_key:
191
229
  specification_version: 4
192
- summary: ''
230
+ summary: pry extension tools!
193
231
  test_files: []