pry 0.10.2-i386-mswin32 → 1.0.0.pre1-i386-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. data/.document +2 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +21 -0
  4. data/.yardopts +3 -0
  5. data/CHANGELOG +503 -0
  6. data/CONTRIBUTORS +55 -0
  7. data/Gemfile +9 -0
  8. data/Guardfile +62 -0
  9. data/LICENSE +2 -2
  10. data/{README.md → README.markdown} +31 -37
  11. data/Rakefile +144 -0
  12. data/TODO +117 -0
  13. data/lib/pry.rb +146 -33
  14. data/lib/pry/cli.rb +13 -35
  15. data/lib/pry/code.rb +63 -24
  16. data/lib/pry/code/loc.rb +2 -2
  17. data/lib/pry/code_object.rb +21 -40
  18. data/lib/pry/command.rb +6 -9
  19. data/lib/pry/command_set.rb +37 -80
  20. data/lib/pry/commands.rb +1 -1
  21. data/lib/pry/commands/amend_line.rb +1 -1
  22. data/lib/pry/commands/bang.rb +1 -1
  23. data/lib/pry/commands/cat.rb +2 -11
  24. data/lib/pry/commands/cat/abstract_formatter.rb +1 -1
  25. data/lib/pry/commands/cat/exception_formatter.rb +7 -6
  26. data/lib/pry/commands/cat/file_formatter.rb +32 -15
  27. data/lib/pry/commands/cat/input_expression_formatter.rb +1 -1
  28. data/lib/pry/commands/cd.rb +3 -14
  29. data/lib/pry/commands/code_collector.rb +4 -4
  30. data/lib/pry/commands/easter_eggs.rb +3 -3
  31. data/lib/pry/commands/edit.rb +22 -10
  32. data/lib/pry/commands/edit/exception_patcher.rb +1 -1
  33. data/lib/pry/commands/edit/file_and_line_locator.rb +2 -0
  34. data/lib/pry/{method/patcher.rb → commands/edit/method_patcher.rb} +37 -40
  35. data/lib/pry/commands/find_method.rb +22 -16
  36. data/lib/pry/commands/gem_install.rb +2 -5
  37. data/lib/pry/commands/gem_open.rb +1 -1
  38. data/lib/pry/commands/gist.rb +11 -10
  39. data/lib/pry/commands/help.rb +14 -14
  40. data/lib/pry/commands/hist.rb +5 -24
  41. data/lib/pry/commands/ls.rb +287 -56
  42. data/lib/pry/commands/play.rb +10 -44
  43. data/lib/pry/commands/pry_backtrace.rb +2 -1
  44. data/lib/pry/commands/raise_up.rb +1 -1
  45. data/lib/pry/commands/reload_code.rb +15 -31
  46. data/lib/pry/commands/ri.rb +3 -7
  47. data/lib/pry/commands/shell_command.rb +12 -17
  48. data/lib/pry/commands/shell_mode.rb +2 -2
  49. data/lib/pry/commands/show_doc.rb +0 -5
  50. data/lib/pry/commands/show_info.rb +10 -11
  51. data/lib/pry/commands/show_source.rb +3 -15
  52. data/lib/pry/commands/simple_prompt.rb +1 -1
  53. data/lib/pry/commands/toggle_color.rb +4 -8
  54. data/lib/pry/commands/whereami.rb +10 -18
  55. data/lib/pry/completion.rb +293 -0
  56. data/lib/pry/config.rb +233 -20
  57. data/lib/pry/core_extensions.rb +19 -29
  58. data/lib/pry/custom_completions.rb +6 -0
  59. data/lib/pry/editor.rb +103 -109
  60. data/lib/pry/helpers/base_helpers.rb +109 -22
  61. data/lib/pry/helpers/command_helpers.rb +8 -10
  62. data/lib/pry/helpers/documentation_helpers.rb +2 -1
  63. data/lib/pry/helpers/text.rb +5 -4
  64. data/lib/pry/history.rb +10 -21
  65. data/lib/pry/history_array.rb +0 -5
  66. data/lib/pry/hooks.rb +29 -9
  67. data/lib/pry/indent.rb +10 -5
  68. data/lib/pry/method.rb +86 -81
  69. data/lib/pry/method/weird_method_locator.rb +2 -4
  70. data/lib/pry/module_candidate.rb +14 -5
  71. data/lib/pry/pager.rb +48 -193
  72. data/lib/pry/plugins.rb +2 -2
  73. data/lib/pry/pry_class.rb +193 -104
  74. data/lib/pry/pry_instance.rb +154 -152
  75. data/lib/pry/rbx_method.rb +13 -0
  76. data/lib/pry/rbx_path.rb +1 -1
  77. data/lib/pry/repl.rb +14 -17
  78. data/lib/pry/repl_file_loader.rb +3 -8
  79. data/lib/pry/rubygem.rb +3 -3
  80. data/lib/pry/terminal.rb +3 -4
  81. data/lib/pry/test/helper.rb +11 -6
  82. data/lib/pry/version.rb +1 -1
  83. data/lib/pry/wrapped_module.rb +56 -49
  84. data/man/pry.1 +195 -0
  85. data/man/pry.1.html +204 -0
  86. data/man/pry.1.ronn +141 -0
  87. data/pry.gemspec +31 -0
  88. data/spec/Procfile +3 -0
  89. data/spec/cli_spec.rb +78 -0
  90. data/spec/code_object_spec.rb +277 -0
  91. data/spec/code_spec.rb +219 -0
  92. data/spec/command_helpers_spec.rb +29 -0
  93. data/spec/command_integration_spec.rb +562 -0
  94. data/spec/command_set_spec.rb +627 -0
  95. data/spec/command_spec.rb +821 -0
  96. data/spec/commands/amend_line_spec.rb +247 -0
  97. data/spec/commands/bang_spec.rb +18 -0
  98. data/spec/commands/cat_spec.rb +164 -0
  99. data/spec/commands/cd_spec.rb +250 -0
  100. data/spec/commands/disable_pry_spec.rb +25 -0
  101. data/spec/commands/edit_spec.rb +725 -0
  102. data/spec/commands/exit_all_spec.rb +27 -0
  103. data/spec/commands/exit_program_spec.rb +19 -0
  104. data/spec/commands/exit_spec.rb +28 -0
  105. data/spec/commands/find_method_spec.rb +70 -0
  106. data/spec/commands/gem_list_spec.rb +26 -0
  107. data/spec/commands/gist_spec.rb +79 -0
  108. data/spec/commands/help_spec.rb +56 -0
  109. data/spec/commands/hist_spec.rb +172 -0
  110. data/spec/commands/jump_to_spec.rb +15 -0
  111. data/spec/commands/ls_spec.rb +189 -0
  112. data/spec/commands/play_spec.rb +136 -0
  113. data/spec/commands/raise_up_spec.rb +56 -0
  114. data/spec/commands/save_file_spec.rb +177 -0
  115. data/spec/commands/show_doc_spec.rb +488 -0
  116. data/spec/commands/show_input_spec.rb +17 -0
  117. data/spec/commands/show_source_spec.rb +760 -0
  118. data/spec/commands/whereami_spec.rb +203 -0
  119. data/spec/completion_spec.rb +221 -0
  120. data/spec/control_d_handler_spec.rb +62 -0
  121. data/spec/documentation_helper_spec.rb +73 -0
  122. data/spec/editor_spec.rb +79 -0
  123. data/spec/exception_whitelist_spec.rb +21 -0
  124. data/spec/fixtures/candidate_helper1.rb +11 -0
  125. data/spec/fixtures/candidate_helper2.rb +8 -0
  126. data/spec/fixtures/example.erb +5 -0
  127. data/spec/fixtures/example_nesting.rb +33 -0
  128. data/spec/fixtures/show_source_doc_examples.rb +15 -0
  129. data/spec/fixtures/testlinkrc +2 -0
  130. data/spec/fixtures/testrc +2 -0
  131. data/spec/fixtures/testrcbad +2 -0
  132. data/spec/fixtures/whereami_helper.rb +6 -0
  133. data/spec/helper.rb +35 -0
  134. data/spec/helpers/bacon.rb +86 -0
  135. data/spec/helpers/mock_pry.rb +44 -0
  136. data/spec/helpers/repl_tester.rb +112 -0
  137. data/spec/helpers/table_spec.rb +105 -0
  138. data/spec/history_array_spec.rb +67 -0
  139. data/spec/hooks_spec.rb +522 -0
  140. data/spec/indent_spec.rb +301 -0
  141. data/spec/method_spec.rb +482 -0
  142. data/spec/prompt_spec.rb +61 -0
  143. data/spec/pry_defaults_spec.rb +420 -0
  144. data/spec/pry_history_spec.rb +69 -0
  145. data/spec/pry_output_spec.rb +95 -0
  146. data/spec/pry_repl_spec.rb +86 -0
  147. data/spec/pry_spec.rb +394 -0
  148. data/spec/pryrc_spec.rb +97 -0
  149. data/spec/run_command_spec.rb +25 -0
  150. data/spec/sticky_locals_spec.rb +147 -0
  151. data/spec/syntax_checking_spec.rb +81 -0
  152. data/spec/wrapped_module_spec.rb +261 -0
  153. data/wiki/Customizing-pry.md +397 -0
  154. data/wiki/Home.md +4 -0
  155. metadata +272 -61
  156. checksums.yaml +0 -7
  157. data/CHANGELOG.md +0 -714
  158. data/lib/pry/code/code_file.rb +0 -103
  159. data/lib/pry/color_printer.rb +0 -55
  160. data/lib/pry/commands/change_inspector.rb +0 -27
  161. data/lib/pry/commands/change_prompt.rb +0 -26
  162. data/lib/pry/commands/list_inspectors.rb +0 -35
  163. data/lib/pry/commands/list_prompts.rb +0 -35
  164. data/lib/pry/commands/ls/constants.rb +0 -47
  165. data/lib/pry/commands/ls/formatter.rb +0 -49
  166. data/lib/pry/commands/ls/globals.rb +0 -48
  167. data/lib/pry/commands/ls/grep.rb +0 -21
  168. data/lib/pry/commands/ls/instance_vars.rb +0 -39
  169. data/lib/pry/commands/ls/interrogatable.rb +0 -18
  170. data/lib/pry/commands/ls/jruby_hacks.rb +0 -49
  171. data/lib/pry/commands/ls/local_names.rb +0 -35
  172. data/lib/pry/commands/ls/local_vars.rb +0 -39
  173. data/lib/pry/commands/ls/ls_entity.rb +0 -70
  174. data/lib/pry/commands/ls/methods.rb +0 -57
  175. data/lib/pry/commands/ls/methods_helper.rb +0 -46
  176. data/lib/pry/commands/ls/self_methods.rb +0 -32
  177. data/lib/pry/commands/watch_expression.rb +0 -105
  178. data/lib/pry/commands/watch_expression/expression.rb +0 -38
  179. data/lib/pry/config/behavior.rb +0 -139
  180. data/lib/pry/config/convenience.rb +0 -25
  181. data/lib/pry/config/default.rb +0 -161
  182. data/lib/pry/exceptions.rb +0 -78
  183. data/lib/pry/input_completer.rb +0 -242
  184. data/lib/pry/input_lock.rb +0 -132
  185. data/lib/pry/inspector.rb +0 -27
  186. data/lib/pry/last_exception.rb +0 -61
  187. data/lib/pry/object_path.rb +0 -82
  188. data/lib/pry/output.rb +0 -50
  189. data/lib/pry/prompt.rb +0 -26
@@ -0,0 +1,2 @@
1
+ -
2
+ wiki/*.md
@@ -0,0 +1,16 @@
1
+ Makefile
2
+ *.so
3
+ *.o
4
+ *.def
5
+ *.rbc
6
+ doc/
7
+ pkg/
8
+ coverage/
9
+ .yardoc/
10
+ /tags
11
+ *.gem
12
+ .rbx/
13
+ .rvmrc
14
+ Gemfile.lock
15
+ *.swp
16
+ **/*~
@@ -0,0 +1,21 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - ruby-head
6
+ - ree
7
+ - rbx-18mode
8
+ - rbx-19mode
9
+ - jruby-18mode
10
+ - jruby-19mode
11
+ - jruby-head
12
+
13
+ notifications:
14
+ irc: "irc.freenode.org#pry"
15
+ recipients:
16
+ - jrmair@gmail.com
17
+
18
+ branches:
19
+ only:
20
+ - master
21
+ - 0-9-11-stable
@@ -0,0 +1,3 @@
1
+ --markup markdown
2
+ --private
3
+ --hide-void-return
@@ -0,0 +1,503 @@
1
+ 17/01/2012 version 0.9.11.3
2
+ * fix Pry.run_command
3
+ * improve `ls` output
4
+ * add :requires_gem => "jist" to 'gist' command (so deps can be installed
5
+ via install-command)
6
+ * improve help for 'edit' command
7
+
8
+ 16/01/2012 version 0.9.11.2
9
+ * minor bug fix for gist on windows, rescuing Jist::ClipboardError
10
+ rather than letting the scary error spill out to users and potentially
11
+ have them think the gist didnt post.
12
+
13
+ 16/01/2012 version 0.9.11.1
14
+ * fixed minor bug in 'gist' command where i neglected to remove
15
+ a call to a non-existent method (no_arg) which was called when
16
+ `gist` is invoked with no parameters
17
+
18
+ 16/01/2013 version 0.9.11
19
+ dependency changes:
20
+ * upgrade the slop gem to version ~> 3.4
21
+ * new optional dependency: Bond (you'll need to perform `gem install bond`). It enables autocompletion if you use Readline. Does not support work for Editline (more info: https://github.com/pry/pry/wiki/FAQ#wiki-readline). Big thanks to cldwalker.
22
+
23
+ new features:
24
+ * #738 basic Ruby 2.0 support
25
+ * #732 JRuby 1.7.0+ support
26
+ * new reload-code command, using it you can reload code for methods,
27
+ classes, commands, objects and so on. e.g reload-code MyCLass,
28
+ reload-code my_method, reload-code my_obj
29
+ * added bond tabcompletion, much more powerful than standard tab
30
+ completion. However, it requires a real 'readline' to work,
31
+ so will not work on standard osx setup (since it uses Editline)
32
+ * show-source can now extract source for classes, methods, procs,
33
+ pry commands, and arbitrary objects (it shows the source for the class of
34
+ the object). As a result, show-command is now deprecated
35
+ * gist/play/save-file now infer object type without requiring flags,
36
+ e.g play MyClass, play my_file.rb, play my_method
37
+ * edit command can now edit most things, including: files, methods,
38
+ classes, commands. As a result the 'edit-method' command is now
39
+ deprecatd.
40
+ e.g edit my_file.rb, edit my_method, edit MyClass
41
+ * removed "edit-method", now merged with 'edit'
42
+ * amend-line and play now properly indent code added to input buffer.
43
+ * #674 added support for require switches chaining (`pry -rubygems -r./a.rb`)
44
+ * #695 added ability to customize the name displayed in the prompt
45
+ * #716 added `--patch` switch for `edit --ex` command
46
+ * #736 respect the `$PAGER` environment variable
47
+ * #497 added `disable-pry` command
48
+ * removed "show-command" command; use "show-source" command instead
49
+ * exec switch chaining (`pry -e ':one' -e ':two'`)
50
+ * added two new hooks: "before_eval" and "after_eval"
51
+ * added tabcompletion for "show-source", "show-doc" commands and "Array#<tab>" cases
52
+ * immediately require gems after gem-install
53
+ * added `-l` switch for `ls` command (displays local variables)
54
+ * added "gem-open" command
55
+ * added "fix-indent" command
56
+ * added subcommands API
57
+ * exposed the test API for plugin writers (d1489a)
58
+ * tablifed ls output
59
+ * added `--no-line-numbers` switch for "whereami" command
60
+ * added `--lines` switch for "play" command
61
+
62
+ bug fixes:
63
+ * #652 find-method uses single escape instead of double
64
+ * #657 fixed blank string delimiters
65
+ * #622 fixed "unwanted 'binding_impl_method' local now exists in scratch bindings"
66
+ * #645 fixed "edit-method -p changes constant lookup"
67
+ * #682 fixed ".pryrc" loading twice when invoked from `$HOME` directory
68
+ * #675 fixed pry not remembering initial "pwd"
69
+ * #717 fixed multiline object coloring
70
+ * #719 fixed "show-method" not supporting `String::new` notation
71
+ * #754 fixed "whereami" command not showing correct line numbers
72
+ * #751 fixed buggy Cucumber AST output
73
+ * #787 fixed `while/until do` loops indentation
74
+ * #526 fixed buggy `--no-plugins` switch of pry
75
+ * #774 ensure all errors go to the error handler
76
+ * fixed ".pryrc" loading with wrong `__FILE__`
77
+ * fixed bug when pager doesn't work if "less" is not available on system
78
+ * fixed "Control-D" press in nested REPL
79
+ * many small improvements of unclear error messages and formatting of documentation
80
+
81
+ 14/07/2012 version 0.9.10
82
+ dependency changes:
83
+ * #561 upgrade the slop gem to version 3
84
+ * #590 move to the jist gem from gist.
85
+ * upgrade method_source to 0.8
86
+
87
+ new features:
88
+ * #572 add --hist, -o and -k flags to gist command
89
+ * #584 support show-source/doc on methods defined in class-eval
90
+ * #585 support show-source/doc on gem methods defined in C
91
+ * #596 add --disable-plugin and --select-plugin options
92
+ * #597 allow "cd -" to switch between bindings
93
+ * #612 add Pry.config.should_load_local_rc to turn off ./.pryrc
94
+ * allow running a file of pry input with pry <file>
95
+ * support colours in "ri" command
96
+ * add before_eval hook
97
+ * prompt now gets a lot more data when proc arity is 1
98
+
99
+ bug fixes &c.
100
+ * #554 removed the "req" command
101
+ * #567 fix rendering bugs when starting pry
102
+ * #568 fix Array#pretty_print on Jruby
103
+ * #575 fix "edit" on windows
104
+ * #576 fix "find-method" in the presence of badly behaved objects
105
+ * #580 fix "whereami" in erb files on rails
106
+ * #632 raise fewer exceptions while tab completing
107
+ * #605 dont immediately quite pry when an error happens in readline
108
+ * #606 support for ansicon to give jruby windows users colour
109
+ * #613 massive speed improvements to show-source for modules
110
+ * #620 improve whereami command when not in a binding.pry
111
+ * #622 support embedded documents (=begin ... =end)
112
+ * #627 support editing files with spaces in the name
113
+ * changed __binding_impl__ to __pry__
114
+ * support for absolute paths in $EDITOR
115
+ * fix "cat" command on files with unknown extensions
116
+ * many many internal refactorings and tidyings
117
+
118
+ 09/05/2012 version 0.9.9.6 fixes #558
119
+ * #558 has been a thorn in our side for long enough, hopefully this properly fixes it
120
+ (though im not too confident :P)
121
+
122
+ 09/05/2012 version 0.9.9.5 minor bugfix
123
+ * fixed ZeroDivisionError in correct_indentation, bug #558
124
+ * fix double highlighting in rdoc, bug #562
125
+ * autocreate configuration for plugins, bug #548
126
+
127
+ 26/4/2012 version 0.9.9.4 major bugfix
128
+ * fixed `NoMethodError: undefined method `winsize' for #<IO:<STDOUT>>`, bug #549
129
+ * fixes for jruby
130
+ * breakage on `exit` syntax error, fixes, #550
131
+ * heredoc content no longer auto-indented
132
+
133
+ 19/4/2012 version 0.9.9.3 major doc bugfix
134
+ * show-doc would fail on some core classes, i.e `show-doc Bignum`. This is now fixed
135
+ and show allow a wider range of core documentation to be viewed directly in Pry.
136
+
137
+ 18/4/2012 version 0.9.9.2 minor bugfix
138
+ * make correct_indentation's auto-colorization respect Pry.color
139
+
140
+ 18/4/2012 version 0.9.9.1 very minor release
141
+ * cleared up confusion in show-source/show-doc docs that -a switch applies to classes
142
+ as well as modules
143
+
144
+ 18/4/2012 version 0.9.9
145
+ MAJOR NEW FEATURES
146
+ * lines of input are syntax highlighted upon 'enter' keypress
147
+ * show-source command can now show class/module sourcecode (use -a to see all monkeypatches). Hard dependency on ruby18_source_location gem in MRI 1.8
148
+ * show-doc command can show class/module docs (use -a to see docs for all monkeypatches) Hard dependency on ruby18_source_location gem in MRI 1.8.
149
+ * new `find-method` command, performs a recursive search in a namespace for the existence of methods. Can find methods whose names match a regex or methods which contain provided CODE! This command is like a ruby-aware 'grep', very cool (thanks swarley)
150
+ * pry-coolline now works properly with Pry (https://github.com/pry/pry-coolline)
151
+ * alias_command method now much more powerful, e.g: alias_command "lM", "ls -M"
152
+ * `whereami` is now more intelligent, automatically showing entire sourcecode of current method if current context is a method (thanks robgleeson).
153
+ * new `raise-up` command. Allows you to raise an exception that will bubble out of pry (ending the session) and escape into enclosing program.
154
+
155
+ remaining items:
156
+ * fixed windows crashing bug when paging
157
+ * lines ending with \ are incomplete (kudos to fowl)
158
+ * `edit-method -n` no longer blocks (thanks misfo)s
159
+ * show instance methods of modules by default in ls
160
+ * docs for REPL defined methods can now be displayed using show-doc
161
+ * autoload ruby18_source_location on mri18, when available (https://github.com/conradirwin/ruby18_source_location)
162
+ * tab completion should work on first line now (historic bug fixed)
163
+ * :quiet => true option added to `Pry.start`, turns off whereami
164
+ * another easter egg added
165
+ * show unloaded constants in yellow for ls
166
+ * improved documentation for Pry.config options
167
+ * improved auto indentation
168
+ * JRuby: heuristics used to clean up 'ls' output (less internal methods polluting output)
169
+
170
+ 6/3/2012 version 0.9.8.4 major bugfix
171
+ * ~/.pry_history wasnt being created (if it did not exist)! FIXED
172
+ * `hist --save` saved colors! FIXED
173
+ * added Pry#add_sticky_local API for adding sticky locals to individual pry instances
174
+
175
+ 2/3/2012 version 0.9.8.3 minor update
176
+ * various tweaks to improve rbx support
177
+ * commands now support optional block arguments
178
+ * much improved help command
179
+ * updated method_source dependencya
180
+ * added wtf command
181
+ * jruby should now work in windows (though without color)
182
+
183
+ 9/2/2012 version 0.9.8.2 bugfix
184
+ * fixed bugs related to --super
185
+ * upgraded slop dependency
186
+ * added edit -c (edit current line)
187
+ * edit now respects Pry.config.disable_autoreload option
188
+
189
+ 30/1/2012 version 0.9.8.1 bugfix
190
+ * fixed broken --no-plugins option
191
+ * Ensure ARGV is not mutated during option parsing.
192
+ * Use a more rbx-friendly test for unicodeness
193
+ * Use rbx-{18,19}mode as indicated http://about.travis-ci.org/docs/user/languages/ruby/
194
+ * Don't explode in gem-list [Fixes #453, #454]
195
+ * Check for command-name collision on assignment [Fixes #450]
196
+
197
+ 25/1/2012 version 0.9.8
198
+
199
+ MAJOR NEW FEATURES
200
+ - upgraded command api, https://github.com/pry/pry/wiki/Custom-commands
201
+ - added a system of hooks for customizing pry behaviour
202
+ - changed syntax checking to use eval() for improved accuracy
203
+ - added save-file command
204
+ - added gist command (removed gist-method, new gist command is more general)
205
+
206
+ complete CHANGELOG:
207
+ * CommandError's no longer cause the current input to be disgarded
208
+ * Better syntax highlighting for rbx code code
209
+ * added cat --in to show pry input history
210
+ * prefixed temporary file names with 'pry'
211
+ * show-doc now supports -l and -b options (line numbers)
212
+ * play now supports -i and -d options
213
+ * moved UserCommandAPI command-set to pry-developer_tools plugin
214
+ * added :when_started event for hooks, called in Pry.start
215
+ * added a man page
216
+ * added rename method to Pry::CommandSet (commands can be renamed)
217
+ * added CommandSet#{before_command,after_command} for enhancing builtin commands
218
+ * added checking for namespace collisions with pry commands, set Pry.config.collision_warning
219
+ * work around namespace collisions by ensuring lines starting with a space are executed as
220
+ * ruby.work around namespace collisions by prensuring lines starting with a space are executed as ruby
221
+ * added handlers for Ctrl+C (SIGINT) on jruby, these are now caught as in other ruby versions
222
+ * removed dependency on ruby_parser
223
+ * prevented colours leaking across the pry prompt
224
+ * fixed edge cases in Pry::Method, for methods with crazy names and methods that have been 'undef'd
225
+ * refactored history handling code for clarity and correctness
226
+ * added Pry::WrappedModule as a counterpart to Pry::Method
227
+ * made a trailing , cause pry to wait for further input
228
+ * removed gist-method command, added gist command
229
+ * added pry-backtrace command to show history of current session
230
+ * fixed whereami within 'super' methods
231
+ * replaced inline version guards by Pry::Helpers::BaseHelpers.{rbx?,jruby?,windows?} etc.
232
+ * removed the CommandProcessor, its functionality is part of the new Command class
233
+ * changed cd .. at the top level so it doesn't quit pry.
234
+ * changed edit-command to no-longer need a command set argument
235
+ * fixed empty lines so that they don't replace _ by nil
236
+ * fixed SyntaxErrors at the REPL level so they don't replace _ex_.
237
+
238
+ 5/11/2011 version 0.9.7.4 hotfix
239
+ * ls -M now works in modules (bugfix)
240
+ * added exception msg for bad cd object/path
241
+ * no longer die when encounter exceptions in .pryrc
242
+ * baked in CoolLine support
243
+ * Pry.config.input in .pryrc now respected
244
+
245
+ 28/10/2011 version 0.9.7.3 hotfix-hotfix ;)
246
+ * really fixed indentation for 'super if' and friends
247
+ * Fixed indentation for tmux
248
+ * added Pry.config.correct_indent option (to toggle whether indentation
249
+ * corrected optional param behaviour for method signatures: e.g Signature meth(param1=?, param2=?)
250
+
251
+ 27/10/2011 version 0.9.7.2 hotfix
252
+ * fixed indentation for 'super if' and 'ensure', 'next if', etc
253
+ * refactored Pry#run_command so it can accept an eval_string parameter (so amend-line and so on can work with it)
254
+ * changed ^D so it no longer resets indent level automatically
255
+
256
+ 26/10/2011 version 0.9.7.1 hotfix
257
+ * fixed gem dependecy issues
258
+
259
+ 25/10/2011 version 0.9.7
260
+
261
+ MAJOR NEW FEATURES:
262
+ - upgraded ls command to have a more intuitive interface
263
+ - added automatic indentation (thanks YorickPeterse!)
264
+ - added Pry::Method wrapper class to encapsulate method-related functionality
265
+
266
+ complete CHANGELOG:
267
+ * fixed syntax highlighting for object literals
268
+ * fixed ActiveSupport method-naming conflict with "in?"
269
+ * added --super option to edit-method, show-method, and friends - making it easier to operate on superclass methods
270
+ * officially added edit --in to open previous expressions in an editor
271
+ * whereami now works for REPL-defined code
272
+ * started using JRuby parser for input validation in JRuby (thanks pangloss!)
273
+ * fixed bug where ~/.pryrc could be loaded more than once (thanks kelseyjudson!)
274
+ * added parse_options! helper to pull option parsing out of commands
275
+ * Pry now respects the terminal's input encoding
276
+ * moved some requires out of the startup process for improved speed
277
+ * added input_array info to DEFAULT_PROMPT, e.g [1] pry(main)>
278
+ * added --no-history option to pry binary (prevent history being LOADED, history will still be saved)
279
+
280
+ 27/9/2011 version 0.9.6.2 HOTFIX release
281
+ * downgrading to CodeRay 0.9.8 due to problems with 1.0 and rails (autoloading problem) see #280 on pry and #6 on CodeRay
282
+ * also added (as a minor feature) cirwin's implementation of edit --in
283
+ * added early break/exit for objectpath errors (the 'cd 34/@hello/bad_path/23')
284
+
285
+ 19/9/2011 version 0.9.6
286
+ * restored previous behavior of command-line switches (allowing "-rfilename")
287
+ * removed -p option (--play) from edit command
288
+ * `edit` with no arguments now edits the current or most recent expression
289
+ * `edit` auto-reloads .rb files (need to specify -n to suppress)
290
+ * added -p option (--patch) to edit-method command, which allows
291
+ monkeypatching methods without touching the original file
292
+ * edit-method can now edit REPL-defined methods
293
+ * cat --ex now works on exceptions in REPL-defined code
294
+ * play -m now uses eval_string.replace()
295
+ * play -m --open uses show-input to show play'd code
296
+ * added "unindent" helper to make adding help to commands easier
297
+ * local ./.pryrc now loaded after ~/.pryrc if it exists
298
+ * cat --ex N and edit --ex N now can navigate through backtrace, where cat --ex (with no args) moves throuh successive levels of the backtrace automatically with state stored on the exceptino object itself
299
+ * new option Pry.config.exception_window_size determines window size for cat --ex
300
+ * input_stack now implemented - pushing objects onto a pry instance's input_stack causes the instance to read from those objects in turn as it encounters EOF on the previous object. On finishing the input_stack the input object for the pry instance is set back to Pry.config.input, if this fails, pry breaks out of the REPL (throw(:breakout)) with an error message
301
+ * Pry.config.system() defines how pry runs system commands
302
+ * now injecting target_self method into command scope
303
+ * play now performs 'show-input' always unless eval_string contains a valid expression (i.e it's about to be eval'd)
304
+ * play and hist --replay now push the current input object onto the input_stack before redirecting input to a StringIO (works much better with pry-remote now)
305
+
306
+ 8/9/2011 version 0.9.5
307
+
308
+ MAJOR NEW FEATURES:
309
+ - JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
310
+ - extended cd syntax: cd ../@x/y
311
+ - play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
312
+ - history saving/loading is now lightning fast
313
+ - 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
314
+ - 'edit' command is also, in general more intelligent
315
+ - ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
316
+ - new switch-to command for moving around the binding stack without exiting out of sessions
317
+ - more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
318
+ - major bug fix for windows systems
319
+ - much better support for huge objects, should no longer hang pry (see #245)
320
+ - cat --ex and edit --ex now work better
321
+
322
+ complete CHANGELOG:
323
+ * tempfile should end in .rb (for edit -t)
324
+ * ls output should not be in array format
325
+ * fix history saving (should not save all of Readline::HISTORY, but only what changed)
326
+ * prevent blank lines going to Readline::HISTORY (thanks cirwin!)
327
+ * ensure that cat --ex emulates the `whereami` format - includes line numbers and formatted the same, etc
328
+ * fixed bug #200 ( https://github.com/pry/pry/issues/200 )- string interpolation bug (thanks to ryanf)
329
+ * show-doc and stat now display method visibility (update WIKI)
330
+ * got rid of warnings caused by stricter ruby 1.9.3 rules
331
+ * remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
332
+ * 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
333
+ * 'cd ..' just pops a binding off the binding_stack with special behaviour when only one binding in stack - it breaks out of the repl loop
334
+ * added switch-to command (like jump-to but doesnt unwind the stack)
335
+ * show-method and show-doc now accept multiple method names
336
+ * control_d hook added (Pry.config.control_d_handler)
337
+ * behaviour of ^d is now to break out of current expr if in multi-line expr, or break out of current context if nested, or break out of pry repl loop if at top-level
338
+ * can no longer interpolate command name itself e.g #{x}-#{y} where x = "show" and y = "doc"
339
+ * ^C no longer captured
340
+ * got rid of Pry.active_instance, Pry.last_exception and friends.
341
+ * also special locals now shared among bindings in a pry instance (i.e _ex_ (and friends) re-injected into new binding entered with 'cd')
342
+ * renamed inp and out to _in_ and _out_ (to avoid collisions with actual locals in debugging scope)
343
+ * added third parameter to prompts, the pry instance itself (_pry) see https://github.com/pry/pry/issues/233 for why it's important
344
+ * cd behaviour when no args performs the same as `cd /`
345
+ * commands with keep_retval can now return nil (to suppress output now return 'void' instead)
346
+ * Pry::CommandProcessor::Result introduced
347
+ * Pry.view_clip() modified to be more robust and properly display Class#name
348
+ * edit command when invoked with no args now works like edit -t
349
+ * when edit is invoked (with no args or with -t) inside a multi-line expression input buffer, it dumps that buffer into a temp file and takes you to it
350
+ * got rid of Pry#null_input? since all that was needed was eval_string.empty?
351
+ * cd command now supports complex syntax: cd ../@y/y/../z
352
+ * JRuby is no longer a 2nd class citizen, almost full JRuby support, passing 100% tests
353
+ * added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
354
+ * _pry_ now passed as 3rd parameter to :before_session hook
355
+ * ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
356
+ * ls separator configurable via, e.g Pry.config.ls.separator = " "
357
+ * Pry.view_clip() now only calls inspect on a few immediates, otherwise uses the #<> syntax, which has been truncated further to exclude teh mem address, again related to #245
358
+
359
+ 27/7/2011 version 0.9.3
360
+ * cat --ex (cats 5 lines above and below line in file where exception was raised)
361
+ * edit --ex (edits line in file where exception was raised)
362
+ * edit -t (opens a temporary file and evals it in current context when closed)
363
+ * `pry -r` requires now happen after plugin loading (so as not to interfere with
364
+ * new Pry.config.disable_auto_reload option, for turning off auto reloading by edit-method and related (thanks ryanf)
365
+ * add better error messages for `cd` command
366
+ * fixed exotic object regression - BasicObject.new etc now return "=> unknown"
367
+ * added reload-method command (reloads the associated file of a method)
368
+ * converted: import => import-set, version => pry-version, install => install-command
369
+ * Pry.config.command_prefix support (thanks ryanf!)
370
+ * fixed indentation for simple-prompt
371
+ * hist command now excludes last line of input (the command invocation itself)
372
+ * hist now has `history` alias
373
+ * missing plugins no longer raise exception, just print a warning to $stderr
374
+ * fixed jedit editor support
375
+
376
+ 21/6/2011 version 0.9.2
377
+ * fixed string interpolation bug (caused valid ruby code not to execute, sorry!)
378
+ * fixed `ls` command, so it can properly display members of Object and classes, and BasicObject, etc
379
+ * added a few git related commands to experimental command set, blame and diff
380
+
381
+ 17/6/2011 version 0.9.0
382
+ * plugin system
383
+ * regex commands
384
+ * show-method works on methods defined in REPL
385
+ * new command system/API
386
+ * rubinius core support
387
+ * more backports to ruby 1.8
388
+ * inp/out special locals
389
+ * _ex_ backtrace navigation object (_ex_.line, _ex_.file)
390
+ * readline history saving/loading
391
+ * prompt stack
392
+ * more hooks
393
+ * amend-line
394
+ * play
395
+ * show-input
396
+ * edit
397
+ * much more comprehensive test suite
398
+ * support for new and old rubygems API
399
+ * changed -s behaviour of ls (now excludes Object methods)
400
+ * removed eval-file, lls, lcd, and a few other commands
401
+
402
+
403
+ 26/3/2011 version 0.7.6.1
404
+ * added slightly better support for YARD
405
+ * now @param and @return tags are colored green and markdown `code` is syntax highlighted using coderay
406
+
407
+ 26/3/2011 version 0.7.6
408
+ * `whereami` command now accepts parameter AROUND, to display AROUND lines on eitherside of invocation line.
409
+ * made it so `whereami` is invoked even if no method exists in current context (i.e in rspec tests)
410
+ * added rubinius support for `whereami` invocation in HOOKS by checking for __unknown__.rb rather than just <main>
411
+
412
+ 15/3/2011 version 0.7.0
413
+ * add pry-doc support with syntax highlighting for docs
414
+ * add 'mj' option to ls (restrict to singleton methods)
415
+ * add _ex_ local to hold last exception raised in an exception
416
+
417
+ 6/3/2011 version 0.6.8
418
+ * add whereami command, a la the `ir_b` gem
419
+ * make whereami run at the start of every session
420
+ * make .pryrc be loaded by run-time pry sessions
421
+
422
+ 4/3/2011 version 0.6.7
423
+ * color support
424
+ * --simple-prompt for pry commandline
425
+ * -I mode for pry commandline
426
+ * --color mode for pry commandline
427
+ * clean up requires (put them all in one place)
428
+ * simple-prompt command and toggle-color commandd.
429
+
430
+ 28/2/2011 version 0.6.3
431
+ * Using MethodSource 0.3.4 so 1.8 show-method support provided
432
+ * `Set` class added to list of classes that are inspected
433
+
434
+ 26/2/2011 version 0.6.1
435
+ * !@ command alias for exit_all
436
+ * `cd /` for breaking out to pry top level (jump-to 0)
437
+ * made `-e` option work in a more effective way for `pry` command line invocation
438
+ * exit and exit-all commands now accept a parameter, this parameter becomes the return value of repl()
439
+ * `command` method from CommandBase now accepts a :keep_retval arg that determines if command value is returned to pry session or just `nil` (`nil` was old behaviour)
440
+ * tests for new :keep_retval and exit-all/exit behaviour; :keep_retval will remain undocumented.
441
+
442
+ 22/2/2011 version 0.5.8
443
+ * Added -c (context) option to show-doc, show-methods and eval-file
444
+ * Fixed up ordering issue of -c and -r parameters to command line pry
445
+
446
+ 21/2/2011 version 0.5.7
447
+ * Added pry executable, auto-loads .pryrc in user's home directory, if it
448
+ exists.
449
+
450
+ 19/2/2011 version 0.5.5
451
+ * Added Pry.run_command
452
+ * More useful error messages
453
+ * Easter eggs (game and cohen-poem)
454
+
455
+ 17/2/2011 version 0.5.0
456
+ * Use clipped version of Pry.view() for large objects
457
+ * Exit Pry session on ^d
458
+ * Use Shellwords for breaking up parameters to pry commands
459
+ * Use OptionParser to parse options for default pry commands
460
+ * Add version command
461
+ * Refactor 'status' command: add current method info
462
+ * Add meth_name_from_binding utility lambda to commands.rb
463
+ * Add -M, -m, -v(erbose), -a(ll), -s(uper), -l(ocals), -i(ivars), -k(klass
464
+ vars), etc options to ls
465
+ * add -M(instance method) options to show-method and show-doc
466
+ * add --help option to most commands
467
+ * Get rid of ls_method and ls_imethods (subsumed by more powerful ls)
468
+ * Get rid of show_idoc and show_imethod
469
+ * Add special eval-file command that evals target file in current context
470
+
471
+ 27/1/2011 version 0.4.5
472
+ * fixed show_method (though fragile as it references __binding_impl__
473
+ directly, making a name change to that method difficult
474
+ 27/1/2011 version 0.4.4
475
+ * oops, added examples/ directory
476
+ 26/1/2011 version 0.4.3
477
+ * added alias_command and desc methods to Pry::CommandBase
478
+ * changed behaviour of ls_methods and ls_imethods to return sorted lists
479
+ of methods
480
+ 23/1/2011 version 0.4.1
481
+ * made it so a 'def meth;end' in an object Pry session defines singleton
482
+ methods, not methods on the class (except in the case of
483
+ immediates)
484
+ * reorganized documentation, moving customization to a separate wiki file
485
+ * storing wiki in a nested git repo, as github wiki pages have their own
486
+ repo
487
+ * added more tests for new method definition behaviour
488
+ 21/1/2011 version 0.4.0
489
+ * added command API
490
+ * added many new commands, i.e ls_methods and friends
491
+ * modified other commands
492
+ * now accepts greater customization, can modify: input, output, hooks,
493
+ prompt, print object
494
+ * added tab completion (even completes commands)
495
+ * added extensive tests
496
+ * added examples
497
+ * many more changes
498
+ 9/12/2010 version 0.1.3
499
+ * Got rid of rubygems dependency, refactored some code.
500
+ 8/12/2010 version 0.1.2
501
+ * now rescuing SyntaxError as well as Racc::Parser error in valid_expression?
502
+ 8/12/2010 version 0.1.0
503
+ * release!