pry 0.9.9.4pre1-i386-mingw32 → 0.9.9.5-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 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, target.eval(arg_string))
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)?(.*?)\s*`/) { Pry.color ? CodeRay.scan($1, code_type).term : $1 }
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)
@@ -292,15 +292,8 @@ class Pry
292
292
  full_line = prompt + code
293
293
  whitespace = ' ' * overhang
294
294
 
295
- if $stdout.tty? && $stdout.respond_to?(:winsize)
296
- _, cols = $stdout.winsize
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  class Pry
2
- VERSION = "0.9.9.4pre1"
2
+ VERSION = "0.9.9.5"
3
3
  end
@@ -2,18 +2,18 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "pry"
5
- s.version = "0.9.9.4pre1"
5
+ s.version = "0.9.9.5"
6
6
 
7
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
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-04-26"
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"
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.4pre1
5
- prerelease: 7
4
+ version: 0.9.9.5
5
+ prerelease:
6
6
  platform: i386-mingw32
7
7
  authors:
8
8
  - John Mair (banisterfiend)
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-26 00:00:00.000000000 Z
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: &70094362124780 !ruby/object:Gem::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: *70094362124780
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: &70094362124100 !ruby/object:Gem::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: *70094362124100
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: &70094362123260 !ruby/object:Gem::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: *70094362123260
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: &70094362122620 !ruby/object:Gem::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: *70094362122620
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: &70094362122100 !ruby/object:Gem::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: *70094362122100
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: &70094362121540 !ruby/object:Gem::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: *70094362121540
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: &70094362120880 !ruby/object:Gem::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: *70094362120880
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: 1.3.1
263
+ version: '0'
226
264
  requirements: []
227
265
  rubyforge_project:
228
- rubygems_version: 1.8.16
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