pry 0.10.2-i386-mingw32 → 1.0.0.pre1-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.
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!