pry 0.7.4 → 0.7.6.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.
data/CHANGELOG CHANGED
@@ -1,3 +1,12 @@
1
+ 26/3/2011 version 0.7.6.1
2
+ * added slightly better support for YARD
3
+ * now @param and @return tags are colored green and markdown `code` is syntax highlighted using coderay
4
+
5
+ 26/3/2011 version 0.7.6
6
+ * `whereami` command now accepts parameter AROUND, to display AROUND lines on eitherside of invocation line.
7
+ * made it so `whereami` is invoked even if no method exists in current context (i.e in rspec tests)
8
+ * added rubinius support for `whereami` invocation in HOOKS by checking for __unknown__.rb rather than just <main>
9
+
1
10
  15/3/2011 version 0.7.0
2
11
  * add pry-doc support with syntax highlighting for docs
3
12
  * add 'mj' option to ls (restrict to singleton methods)
data/README.markdown CHANGED
@@ -269,9 +269,6 @@ If you want to access a method of the same name, prefix the invocation by whites
269
269
  * `jump-to NEST_LEVEL` Unwinds the Pry stack (nesting level) until the appropriate nesting level is reached.
270
270
  * `exit-all` breaks out of all Pry nesting levels and returns to the
271
271
  calling process.
272
- * You can type `Pry.start(obj)` or `obj.pry` to nest another Pry session within the
273
- current one with `obj` as the receiver of the new session. Very useful
274
- when exploring large or complicated runtime state.
275
272
 
276
273
  Syntax Highlighting
277
274
  --------------------
@@ -14,4 +14,4 @@ end
14
14
  # Start pry session at top-level.
15
15
  # The local variable `a` and the `hello` method will
16
16
  # be accessible.
17
- pry
17
+ binding.pry
data/lib/pry/commands.rb CHANGED
@@ -4,7 +4,7 @@ require "pry/command_base"
4
4
  require "pry/pry_instance"
5
5
 
6
6
  begin
7
- require "pry-doc"
7
+ require "pry-doc"
8
8
  rescue LoadError
9
9
  end
10
10
 
@@ -158,27 +158,34 @@ class Pry
158
158
  output.puts "Last result: #{Pry.view(Pry.last_result)}"
159
159
  end
160
160
 
161
- command "whereami", "Show the code context for the session." do
161
+ command "whereami", "Show the code context for the session. Shows AROUND lines around the invocation line. AROUND defaults to 5 lines. " do |num|
162
162
  file = target.eval('__FILE__')
163
163
  line_num = target.eval('__LINE__')
164
164
  klass = target.eval('self.class')
165
165
 
166
- meth_name = meth_name_from_binding.call(target)
167
- if !meth_name
168
- output.puts "Cannot find containing method. Did you remember to use \`binding.pry\` ?"
169
- next
166
+ if num
167
+ i_num = num.to_i
168
+ else
169
+ i_num = 5
170
170
  end
171
+
172
+ meth_name = meth_name_from_binding.call(target)
173
+ meth_name = "N/A" if !meth_name
171
174
 
172
175
  # FIX ME!!! this line is screwed
173
176
  # check_for_dynamically_defined_method.call()
177
+ if file =~ /(\(.*\))|<.*>/
178
+ output.puts "Cannot find local context. Did you use `binding.pry` ?"
179
+ next
180
+ end
174
181
 
175
182
  output.puts "--\nFrom #{file} @ line #{line_num} in #{klass}##{meth_name}:\n--"
176
183
 
177
184
  # This method inspired by http://rubygems.org/gems/ir_b
178
185
  File.open(file).each_with_index do |line, index|
179
186
  line_n = index + 1
180
- next unless line_n > (line_num - 6)
181
- break if line_n > (line_num + 5)
187
+ next unless line_n > (line_num - i_num - 1)
188
+ break if line_n > (line_num + i_num)
182
189
  if line_n == line_num
183
190
  code =" =>#{line_n.to_s.rjust(3)}: #{line.chomp}"
184
191
  if Pry.color
@@ -460,7 +467,9 @@ e.g: eval-file -c self "hello.rb"
460
467
  gsub(/<em>(?:\s*\n)?(.*?)\s*<\/em>/m) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
461
468
  gsub(/<i>(?:\s*\n)?(.*?)\s*<\/i>/m) { Pry.color ? "\e[34m#{$1}\e[0m" : $1 }.
462
469
  gsub(/\B\+(\w*?)\+\B/) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
463
- gsub(/((?:^[ \t]+.+(?:\n+|\Z))+)/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }
470
+ gsub(/((?:^[ \t]+.+(?:\n+|\Z))+)/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
471
+ gsub(/`(?:\s*\n)?(.*?)\s*`/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
472
+ gsub(/(@param|@return)/) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }
464
473
  end
465
474
 
466
475
  strip_leading_hash_from_ruby_comments = lambda do |comment|
@@ -558,6 +567,8 @@ e.g: show-method hello_method
558
567
 
559
568
  next if options[:h]
560
569
 
570
+ meth_name = meth_name_from_binding.call(target) if !meth_name
571
+
561
572
  if (meth = get_method_object.call(meth_name, target, options)).nil?
562
573
  output.puts "Invalid method name: #{meth_name}. Type `show-method --help` for help"
563
574
  next
data/lib/pry/hooks.rb CHANGED
@@ -9,7 +9,9 @@ class Pry
9
9
  # ensure we're actually in a method
10
10
  meth_name = target.eval('__method__')
11
11
  file = target.eval('__FILE__')
12
- if ![:__script__, nil, :__binding__, :__binding_impl__].include?(meth_name) && file !~ /(\(.*\))|<.*>/
12
+
13
+ # /unknown/ for rbx
14
+ if file !~ /(\(.*\))|<.*>/ && file !~ /__unknown__/
13
15
  Pry.run_command "whereami", :output => out, :show_output => true, :context => target, :commands => Pry::Commands
14
16
  end
15
17
  end,
data/lib/pry/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Pry
2
- VERSION = "0.7.4"
2
+ VERSION = "0.7.6.1"
3
3
  end
metadata CHANGED
@@ -5,8 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 7
8
- - 4
9
- version: 0.7.4
8
+ - 6
9
+ - 1
10
+ version: 0.7.6.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - John Mair (banisterfiend)
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-03-23 00:00:00 +13:00
18
+ date: 2011-03-26 00:00:00 +13:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency