pry 0.9.9.4pre1-i386-mswin32 → 0.9.9.5-i386-mswin32
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 +6 -0
- data/lib/pry/default_commands/navigating_pry.rb +4 -1
- data/lib/pry/helpers/documentation_helpers.rb +1 -1
- data/lib/pry/indent.rb +21 -9
- data/lib/pry/plugins.rb +4 -0
- data/lib/pry/version.rb +1 -1
- data/pry.gemspec +4 -4
- data/test/test_default_commands/test_context.rb +6 -0
- data/test/test_default_commands/test_documentation.rb +62 -0
- metadata +58 -20
data/CHANGELOG
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
+
09/05/2012 version 0.9.9.5 minor bugfix
|
2
|
+
* fixed ZeroDivisionError in correct_indentation, bug #558
|
3
|
+
* fix double highlighting in rdoc, bug #562
|
4
|
+
* autocreate configuration for plugins, bug #548
|
5
|
+
|
1
6
|
26/4/2012 version 0.9.9.4 major bugfix
|
2
7
|
* fixed `NoMethodError: undefined method `winsize' for #<IO:<STDOUT>>`, bug #549
|
3
8
|
* fixes for jruby
|
9
|
+
* breakage on `exit` syntax error, fixes, #550
|
4
10
|
* heredoc content no longer auto-indented
|
5
11
|
|
6
12
|
19/4/2012 version 0.9.9.3 major doc bugfix
|
@@ -41,11 +41,14 @@ class Pry
|
|
41
41
|
end
|
42
42
|
|
43
43
|
command "exit-all", "End the current Pry session (popping all bindings) and returning to caller. Accepts optional return value. Aliases: !!@" do
|
44
|
+
# calculate user-given value
|
45
|
+
exit_value = target.eval(arg_string)
|
46
|
+
|
44
47
|
# clear the binding stack
|
45
48
|
_pry_.binding_stack.clear
|
46
49
|
|
47
50
|
# break out of the repl loop
|
48
|
-
throw(:breakout,
|
51
|
+
throw(:breakout, exit_value)
|
49
52
|
end
|
50
53
|
|
51
54
|
alias_command "!!@", "exit-all"
|
@@ -11,7 +11,7 @@ class Pry
|
|
11
11
|
gsub(/<i>(?:\s*\n)?(.*?)\s*<\/i>/m) { Pry.color ? "\e[1m#{$1}\e[0m" : $1 }.
|
12
12
|
gsub(/\B\+(\w*?)\+\B/) { Pry.color ? "\e[32m#{$1}\e[0m": $1 }.
|
13
13
|
gsub(/((?:^[ \t]+.+(?:\n+|\Z))+)/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }.
|
14
|
-
gsub(/`(?:\s*\n)?(
|
14
|
+
gsub(/`(?:\s*\n)?([^\e]*?)\s*`/) { "`#{Pry.color ? CodeRay.scan($1, code_type).term : $1}`" }
|
15
15
|
end
|
16
16
|
|
17
17
|
def process_yardoc_tag(comment, tag)
|
data/lib/pry/indent.rb
CHANGED
@@ -292,15 +292,8 @@ class Pry
|
|
292
292
|
full_line = prompt + code
|
293
293
|
whitespace = ' ' * overhang
|
294
294
|
|
295
|
-
|
296
|
-
|
297
|
-
elsif Readline.respond_to?(:get_screen_size)
|
298
|
-
_, cols = Readline.get_screen_size
|
299
|
-
elsif ENV['COLUMNS'] && ENV['COLUMNS'] != ''
|
300
|
-
cols = ENV['COLUMNS'].to_i
|
301
|
-
end
|
302
|
-
|
303
|
-
lines = cols ? (full_line.length / cols + 1) : 1
|
295
|
+
_, cols = screen_size
|
296
|
+
lines = cols && cols != 0 ? (full_line.length / cols + 1) : 1
|
304
297
|
|
305
298
|
if defined?(Win32::Console)
|
306
299
|
move_up = "\e[#{lines}F"
|
@@ -312,5 +305,24 @@ class Pry
|
|
312
305
|
|
313
306
|
"#{move_up}#{prompt}#{colorize_code(code)}#{whitespace}#{move_down}"
|
314
307
|
end
|
308
|
+
|
309
|
+
# Return a pair of [rows, columns] which gives the size of the window.
|
310
|
+
#
|
311
|
+
# If the window size cannot be determined, return nil.
|
312
|
+
def screen_size
|
313
|
+
[
|
314
|
+
# io/console adds a winsize method to IO streams.
|
315
|
+
$stdout.tty? && $stdout.respond_to?(:winsize) && $stdout.winsize,
|
316
|
+
|
317
|
+
# Some readlines also provides get_screen_size.
|
318
|
+
Readline.respond_to?(:get_screen_size) && Readline.get_screen_size,
|
319
|
+
|
320
|
+
# Otherwise try to use the environment (this may be out of date due
|
321
|
+
# to window resizing, but it better than nothing).
|
322
|
+
[ENV["ROWS"], ENV["COLUMNS"]]
|
323
|
+
].detect do |(rows, cols)|
|
324
|
+
cols.to_i > 0
|
325
|
+
end
|
326
|
+
end
|
315
327
|
end
|
316
328
|
end
|
data/lib/pry/plugins.rb
CHANGED
@@ -42,12 +42,16 @@ class Pry
|
|
42
42
|
# disabled)
|
43
43
|
# Does not reload plugin if it's already active.
|
44
44
|
def activate!
|
45
|
+
# Create the configuration object for the plugin.
|
46
|
+
Pry.config.send("#{gem_name.gsub('-', '_')}=", OpenStruct.new)
|
47
|
+
|
45
48
|
begin
|
46
49
|
require gem_name if !active?
|
47
50
|
rescue LoadError => e
|
48
51
|
warn "Warning: The plugin '#{gem_name}' was not found! (gem found but could not be loaded)"
|
49
52
|
warn e
|
50
53
|
end
|
54
|
+
|
51
55
|
self.active = true
|
52
56
|
self.enabled = true
|
53
57
|
end
|
data/lib/pry/version.rb
CHANGED
data/pry.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "pry"
|
5
|
-
s.version = "0.9.9.
|
5
|
+
s.version = "0.9.9.5"
|
6
6
|
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["John Mair (banisterfiend)"]
|
9
|
-
s.date = "2012-
|
9
|
+
s.date = "2012-05-09"
|
10
10
|
s.description = "An IRB alternative and runtime developer console"
|
11
11
|
s.email = "jrmair@gmail.com"
|
12
12
|
s.executables = ["pry"]
|
13
13
|
s.files = [".document", ".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "Gemfile", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/cli.rb", "lib/pry/code.rb", "lib/pry/command.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/cd.rb", "lib/pry/default_commands/commands.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/editing.rb", "lib/pry/default_commands/find_method.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/help.rb", "lib/pry/default_commands/hist.rb", "lib/pry/default_commands/input_and_output.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/misc.rb", "lib/pry/default_commands/navigating_pry.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/documentation_helpers.rb", "lib/pry/helpers/options_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/hooks.rb", "lib/pry/indent.rb", "lib/pry/method.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/rbx_method.rb", "lib/pry/rbx_path.rb", "lib/pry/version.rb", "lib/pry/wrapped_module.rb", "man/pry.1", "man/pry.1.html", "man/pry.1.ronn", "pry.gemspec", "test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad", "wiki/Customizing-pry.md", "wiki/Home.md"]
|
14
14
|
s.homepage = "http://pry.github.com"
|
15
15
|
s.require_paths = ["lib"]
|
16
|
-
s.rubygems_version = "1.8.
|
16
|
+
s.rubygems_version = "1.8.23"
|
17
17
|
s.summary = "An IRB alternative and runtime developer console"
|
18
18
|
s.test_files = ["test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad"]
|
19
19
|
|
@@ -77,6 +77,12 @@ describe "Pry::DefaultCommands::Context" do
|
|
77
77
|
it 'should break out of the repl loop of Pry instance when binding_stack has only one binding with exit, and return user-given value' do
|
78
78
|
Pry.start(0, :input => StringIO.new("exit :john")).should == :john
|
79
79
|
end
|
80
|
+
|
81
|
+
it 'should break out the repl loop of Pry instance even after an exception in user-given value' do
|
82
|
+
redirect_pry_io(InputTester.new("exit = 42", "exit"), StringIO.new) do
|
83
|
+
ins = Pry.new.tap { |v| v.repl(0).should == nil }
|
84
|
+
end
|
85
|
+
end
|
80
86
|
end
|
81
87
|
|
82
88
|
describe "jump-to" do
|
@@ -65,6 +65,68 @@ if !mri18_and_no_real_source_location?
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
describe "rdoc highlighting" do
|
69
|
+
it "should syntax highlight code in rdoc" do
|
70
|
+
c = Class.new{
|
71
|
+
# This can initialize your class:
|
72
|
+
#
|
73
|
+
# a = c.new :foo
|
74
|
+
#
|
75
|
+
# @param foo
|
76
|
+
def initialize(foo); end
|
77
|
+
}
|
78
|
+
|
79
|
+
begin
|
80
|
+
mock_pry(binding, "show-doc c#initialize").should =~ /c.new :foo/
|
81
|
+
Pry.config.color = true
|
82
|
+
# I don't want the test to rely on which colour codes are there, just to
|
83
|
+
# assert that "something" is being colourized.
|
84
|
+
mock_pry(binding, "show-doc c#initialize").should.not =~ /c.new :foo/
|
85
|
+
ensure
|
86
|
+
Pry.config.color = false
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should syntax highlight `code` in rdoc" do
|
91
|
+
c = Class.new{
|
92
|
+
# After initializing your class with `c.new(:foo)`, go have fun!
|
93
|
+
#
|
94
|
+
# @param foo
|
95
|
+
def initialize(foo); end
|
96
|
+
}
|
97
|
+
|
98
|
+
begin
|
99
|
+
mock_pry(binding, "show-doc c#initialize").should =~ /c.new\(:foo\)/
|
100
|
+
Pry.config.color = true
|
101
|
+
# I don't want the test to rely on which colour codes are there, just to
|
102
|
+
# assert that "something" is being colourized.
|
103
|
+
mock_pry(binding, "show-doc c#initialize").should.not =~ /c.new\(:foo\)/
|
104
|
+
ensure
|
105
|
+
Pry.config.color = false
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should not syntax highlight `` inside code" do
|
111
|
+
c = Class.new{
|
112
|
+
# Convert aligned output (from many shell commands) into nested arrays:
|
113
|
+
#
|
114
|
+
# a = decolumnize `ls -l $HOME`
|
115
|
+
#
|
116
|
+
# @param output
|
117
|
+
def decolumnize(output); end
|
118
|
+
}
|
119
|
+
|
120
|
+
begin
|
121
|
+
Pry.config.color = true
|
122
|
+
mock_pry(binding, "show-doc c#decolumnize").should =~ /ls -l \$HOME/
|
123
|
+
mock_pry(binding, "show-doc c#decolumnize").should.not =~ /`ls -l \$HOME`/
|
124
|
+
ensure
|
125
|
+
Pry.config.color = false
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
68
130
|
describe "on modules" do
|
69
131
|
before do
|
70
132
|
# god this is boring1
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.9.5
|
5
|
+
prerelease:
|
6
6
|
platform: i386-mswin32
|
7
7
|
authors:
|
8
8
|
- John Mair (banisterfiend)
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: coderay
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 1.0.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.0.5
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: slop
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -35,10 +40,18 @@ dependencies:
|
|
35
40
|
version: '3'
|
36
41
|
type: :runtime
|
37
42
|
prerelease: false
|
38
|
-
version_requirements:
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ! '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 2.4.4
|
49
|
+
- - <
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '3'
|
39
52
|
- !ruby/object:Gem::Dependency
|
40
53
|
name: method_source
|
41
|
-
requirement:
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
42
55
|
none: false
|
43
56
|
requirements:
|
44
57
|
- - ~>
|
@@ -46,10 +59,15 @@ dependencies:
|
|
46
59
|
version: 0.7.1
|
47
60
|
type: :runtime
|
48
61
|
prerelease: false
|
49
|
-
version_requirements:
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.7.1
|
50
68
|
- !ruby/object:Gem::Dependency
|
51
69
|
name: bacon
|
52
|
-
requirement:
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
53
71
|
none: false
|
54
72
|
requirements:
|
55
73
|
- - ~>
|
@@ -57,10 +75,15 @@ dependencies:
|
|
57
75
|
version: '1.1'
|
58
76
|
type: :development
|
59
77
|
prerelease: false
|
60
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
80
|
+
requirements:
|
81
|
+
- - ~>
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '1.1'
|
61
84
|
- !ruby/object:Gem::Dependency
|
62
85
|
name: open4
|
63
|
-
requirement:
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
64
87
|
none: false
|
65
88
|
requirements:
|
66
89
|
- - ~>
|
@@ -68,10 +91,15 @@ dependencies:
|
|
68
91
|
version: '1.3'
|
69
92
|
type: :development
|
70
93
|
prerelease: false
|
71
|
-
version_requirements:
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ~>
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '1.3'
|
72
100
|
- !ruby/object:Gem::Dependency
|
73
101
|
name: rake
|
74
|
-
requirement:
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
75
103
|
none: false
|
76
104
|
requirements:
|
77
105
|
- - ~>
|
@@ -79,10 +107,15 @@ dependencies:
|
|
79
107
|
version: '0.9'
|
80
108
|
type: :development
|
81
109
|
prerelease: false
|
82
|
-
version_requirements:
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ~>
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0.9'
|
83
116
|
- !ruby/object:Gem::Dependency
|
84
117
|
name: win32console
|
85
|
-
requirement:
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
86
119
|
none: false
|
87
120
|
requirements:
|
88
121
|
- - ~>
|
@@ -90,7 +123,12 @@ dependencies:
|
|
90
123
|
version: '1.3'
|
91
124
|
type: :runtime
|
92
125
|
prerelease: false
|
93
|
-
version_requirements:
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.3'
|
94
132
|
description: An IRB alternative and runtime developer console
|
95
133
|
email: jrmair@gmail.com
|
96
134
|
executables:
|
@@ -220,12 +258,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
220
258
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
259
|
none: false
|
222
260
|
requirements:
|
223
|
-
- - ! '
|
261
|
+
- - ! '>='
|
224
262
|
- !ruby/object:Gem::Version
|
225
|
-
version:
|
263
|
+
version: '0'
|
226
264
|
requirements: []
|
227
265
|
rubyforge_project:
|
228
|
-
rubygems_version: 1.8.
|
266
|
+
rubygems_version: 1.8.23
|
229
267
|
signing_key:
|
230
268
|
specification_version: 3
|
231
269
|
summary: An IRB alternative and runtime developer console
|