pry 0.7.0pre4-i386-mingw32 → 0.7.1-i386-mingw32
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 +5 -0
- data/README.markdown +9 -2
- data/lib/pry/commands.rb +25 -16
- data/lib/pry/version.rb +1 -1
- metadata +7 -17
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
15/3/2011 version 0.7.0
|
2
|
+
* add pry-doc support with syntax highlighting for docs
|
3
|
+
* add 'mj' option to ls (restrict to singleton methods)
|
4
|
+
* add _ex_ local to hold last exception raised in an exception
|
5
|
+
|
1
6
|
6/3/2011 version 0.6.8
|
2
7
|
* add whereami command, a la the `ir_b` gem
|
3
8
|
* make whereami run at the start of every session
|
data/README.markdown
CHANGED
@@ -22,9 +22,14 @@ is trivial to set it to read from any object that has a `readline` method and wr
|
|
22
22
|
`puts` method - many other aspects of Pry are also configurable making
|
23
23
|
it a good choice for implementing custom shells.
|
24
24
|
|
25
|
-
Pry
|
25
|
+
Pry comes with an executable so it can be invoked at the command line.
|
26
26
|
Just enter `pry` to start. A `.pryrc` file in the user's home directory will
|
27
|
-
be loaded if it exists. Type `pry --help` at the command line for more
|
27
|
+
be loaded if it exists. Type `pry --help` at the command line for more
|
28
|
+
information.
|
29
|
+
|
30
|
+
Try `gem install pry-doc` for additional documentation on Ruby Core
|
31
|
+
methods. The additional docs are accessed through the `show-doc` and
|
32
|
+
`show-method` commands.
|
28
33
|
|
29
34
|
* Install the [gem](https://rubygems.org/gems/pry): `gem install pry`
|
30
35
|
* Read the [documentation](http://rdoc.info/github/banister/pry/master/file/README.markdown)
|
@@ -163,10 +168,12 @@ end.
|
|
163
168
|
###Features:
|
164
169
|
|
165
170
|
* Pry can be invoked at any time and on any object in the running program.
|
171
|
+
* Additional documentation and source code for Ruby Core methods are supported when the `pry-doc` gem is installed.
|
166
172
|
* Pry sessions can nest arbitrarily deeply -- to go back one level of nesting type 'exit' or 'quit' or 'back'
|
167
173
|
* Pry comes with syntax highlighting on by default just use the `toggle-color` command to turn it on and off.
|
168
174
|
* Use `_` to recover last result.
|
169
175
|
* Use `_pry_` to reference the Pry instance managing the current session.
|
176
|
+
* Use `_ex_` to recover the last exception.
|
170
177
|
* Pry supports tab completion.
|
171
178
|
* Pry has multi-line support built in.
|
172
179
|
* Use `^d` (control-d) to quickly break out of a session.
|
data/lib/pry/commands.rb
CHANGED
@@ -38,15 +38,15 @@ class Pry
|
|
38
38
|
get_method_object = lambda do |meth_name, target, options|
|
39
39
|
if options[:M]
|
40
40
|
target.eval("instance_method(:#{meth_name})")
|
41
|
-
|
41
|
+
elsif options[:m]
|
42
42
|
target.eval("method(:#{meth_name})")
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
end
|
43
|
+
else
|
44
|
+
begin
|
45
|
+
target.eval("instance_method(:#{meth_name})")
|
46
|
+
rescue
|
47
|
+
target.eval("method(:#{meth_name})")
|
49
48
|
end
|
49
|
+
end
|
50
50
|
end
|
51
51
|
|
52
52
|
make_header = lambda do |file, line, code_type|
|
@@ -414,13 +414,12 @@ e.g: eval-file -c self "hello.rb"
|
|
414
414
|
target.eval("#{obj}.pry")
|
415
415
|
end
|
416
416
|
|
417
|
-
# FIXME!!! the last matcher doesn't work on "+nil+ or +false+", it
|
418
|
-
# doesn't accurately strip the +
|
419
417
|
process_comment_markup = lambda do |comment, code_type|
|
420
418
|
comment.gsub(/<code>(?:\s*\n)?(.*?)\s*<\/code>/m) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
|
421
419
|
gsub(/<em>(?:\s*\n)?(.*?)\s*<\/em>/m) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
|
422
420
|
gsub(/<i>(?:\s*\n)?(.*?)\s*<\/i>/m) { Pry.color ? "\e[34m#{$1}\e[0m" : $1 }.
|
423
|
-
gsub(/\B\+(
|
421
|
+
gsub(/\B\+(\w*?)\+\B/) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
|
422
|
+
gsub(/((?:^[ \t]+.+(?:\n+|\Z))+)/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }
|
424
423
|
end
|
425
424
|
|
426
425
|
strip_leading_hash_from_ruby_comments = lambda do |comment|
|
@@ -434,7 +433,7 @@ e.g: eval-file -c self "hello.rb"
|
|
434
433
|
|
435
434
|
OptionParser.new do |opts|
|
436
435
|
opts.banner = %{Usage: show-doc [OPTIONS] [METH]
|
437
|
-
Show the comments above method METH.
|
436
|
+
Show the comments above method METH. Tries instance methods first and then methods by default.
|
438
437
|
e.g show-doc hello_method
|
439
438
|
--
|
440
439
|
}
|
@@ -473,7 +472,6 @@ e.g show-doc hello_method
|
|
473
472
|
end
|
474
473
|
|
475
474
|
code_type = :ruby
|
476
|
-
|
477
475
|
if Pry.has_pry_doc && meth.source_location.nil?
|
478
476
|
info = Pry::MethodInfo.info_for(meth)
|
479
477
|
if !info
|
@@ -483,7 +481,13 @@ e.g show-doc hello_method
|
|
483
481
|
doc = info.docstring
|
484
482
|
code_type = info.source_type
|
485
483
|
else
|
486
|
-
|
484
|
+
begin
|
485
|
+
doc = meth.comment
|
486
|
+
rescue
|
487
|
+
output.puts "Cannot locate source for this method: #{meth_name}. Try `gem install pry-doc` to get access to Ruby Core documentation."
|
488
|
+
next
|
489
|
+
end
|
490
|
+
doc = strip_leading_hash_from_ruby_comments.call(doc)
|
487
491
|
end
|
488
492
|
|
489
493
|
doc = process_comment_markup.call(doc, code_type)
|
@@ -508,7 +512,7 @@ e.g show-doc hello_method
|
|
508
512
|
|
509
513
|
OptionParser.new do |opts|
|
510
514
|
opts.banner = %{Usage: show-method [OPTIONS] [METH]
|
511
|
-
Show the source for method METH.
|
515
|
+
Show the source for method METH. Tries instance methods first and then methods by default.
|
512
516
|
e.g: show-method hello_method
|
513
517
|
--
|
514
518
|
}
|
@@ -553,7 +557,7 @@ e.g: show-method hello_method
|
|
553
557
|
# Try to find source for C methods using MethodInfo (if possible)
|
554
558
|
if Pry.has_pry_doc && meth.source_location.nil?
|
555
559
|
info = Pry::MethodInfo.info_for(meth)
|
556
|
-
if !info
|
560
|
+
if !info || !info.source
|
557
561
|
output.puts "Cannot find source for C method: #{meth_name}"
|
558
562
|
next
|
559
563
|
end
|
@@ -561,7 +565,12 @@ e.g: show-method hello_method
|
|
561
565
|
code = strip_comments_from_c_code.call(code)
|
562
566
|
code_type = info.source_type
|
563
567
|
else
|
564
|
-
|
568
|
+
begin
|
569
|
+
code = meth.source
|
570
|
+
rescue
|
571
|
+
output.puts "Cannot locate source for this method: #{meth_name}. Try `gem install pry-doc` to get access to Ruby Core documentation."
|
572
|
+
next
|
573
|
+
end
|
565
574
|
end
|
566
575
|
|
567
576
|
file, line = meth.source_location
|
data/lib/pry/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: true
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
8
|
+
- 1
|
9
|
+
version: 0.7.1
|
11
10
|
platform: i386-mingw32
|
12
11
|
authors:
|
13
12
|
- John Mair (banisterfiend)
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-03-
|
17
|
+
date: 2011-03-16 00:00:00 +13:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 5
|
30
28
|
segments:
|
31
29
|
- 2
|
32
30
|
- 0
|
@@ -42,7 +40,6 @@ dependencies:
|
|
42
40
|
requirements:
|
43
41
|
- - ">="
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 53
|
46
43
|
segments:
|
47
44
|
- 0
|
48
45
|
- 9
|
@@ -58,7 +55,6 @@ dependencies:
|
|
58
55
|
requirements:
|
59
56
|
- - ">="
|
60
57
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 19
|
62
58
|
segments:
|
63
59
|
- 1
|
64
60
|
- 1
|
@@ -74,7 +70,6 @@ dependencies:
|
|
74
70
|
requirements:
|
75
71
|
- - ">="
|
76
72
|
- !ruby/object:Gem::Version
|
77
|
-
hash: 27
|
78
73
|
segments:
|
79
74
|
- 0
|
80
75
|
- 3
|
@@ -90,7 +85,6 @@ dependencies:
|
|
90
85
|
requirements:
|
91
86
|
- - ">="
|
92
87
|
- !ruby/object:Gem::Version
|
93
|
-
hash: 27
|
94
88
|
segments:
|
95
89
|
- 1
|
96
90
|
- 3
|
@@ -151,21 +145,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
145
|
requirements:
|
152
146
|
- - ">="
|
153
147
|
- !ruby/object:Gem::Version
|
154
|
-
hash: 3
|
155
148
|
segments:
|
156
149
|
- 0
|
157
150
|
version: "0"
|
158
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
152
|
none: false
|
160
153
|
requirements:
|
161
|
-
- - "
|
154
|
+
- - ">="
|
162
155
|
- !ruby/object:Gem::Version
|
163
|
-
hash: 25
|
164
156
|
segments:
|
165
|
-
-
|
166
|
-
|
167
|
-
- 1
|
168
|
-
version: 1.3.1
|
157
|
+
- 0
|
158
|
+
version: "0"
|
169
159
|
requirements: []
|
170
160
|
|
171
161
|
rubyforge_project:
|