pry 0.11.3 → 0.14.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +346 -2
  3. data/LICENSE +1 -1
  4. data/README.md +351 -292
  5. data/bin/pry +1 -0
  6. data/lib/pry/basic_object.rb +8 -4
  7. data/lib/pry/block_command.rb +22 -0
  8. data/lib/pry/class_command.rb +194 -0
  9. data/lib/pry/cli.rb +58 -76
  10. data/lib/pry/code/code_file.rb +33 -28
  11. data/lib/pry/code/code_range.rb +7 -5
  12. data/lib/pry/code/loc.rb +26 -13
  13. data/lib/pry/code.rb +37 -33
  14. data/lib/pry/code_object.rb +41 -39
  15. data/lib/pry/color_printer.rb +47 -45
  16. data/lib/pry/command.rb +178 -374
  17. data/lib/pry/command_set.rb +89 -121
  18. data/lib/pry/command_state.rb +31 -0
  19. data/lib/pry/commands/amend_line.rb +86 -82
  20. data/lib/pry/commands/bang.rb +18 -14
  21. data/lib/pry/commands/bang_pry.rb +15 -11
  22. data/lib/pry/commands/cat/abstract_formatter.rb +23 -18
  23. data/lib/pry/commands/cat/exception_formatter.rb +71 -59
  24. data/lib/pry/commands/cat/file_formatter.rb +55 -49
  25. data/lib/pry/commands/cat/input_expression_formatter.rb +35 -30
  26. data/lib/pry/commands/cat.rb +62 -54
  27. data/lib/pry/commands/cd.rb +40 -35
  28. data/lib/pry/commands/change_inspector.rb +29 -22
  29. data/lib/pry/commands/change_prompt.rb +48 -23
  30. data/lib/pry/commands/clear_screen.rb +20 -0
  31. data/lib/pry/commands/code_collector.rb +148 -133
  32. data/lib/pry/commands/disable_pry.rb +23 -19
  33. data/lib/pry/commands/easter_eggs.rb +19 -30
  34. data/lib/pry/commands/edit/exception_patcher.rb +21 -17
  35. data/lib/pry/commands/edit/file_and_line_locator.rb +34 -23
  36. data/lib/pry/commands/edit.rb +184 -160
  37. data/lib/pry/commands/exit.rb +40 -35
  38. data/lib/pry/commands/exit_all.rb +24 -20
  39. data/lib/pry/commands/exit_program.rb +20 -16
  40. data/lib/pry/commands/find_method.rb +168 -162
  41. data/lib/pry/commands/fix_indent.rb +16 -12
  42. data/lib/pry/commands/help.rb +140 -133
  43. data/lib/pry/commands/hist.rb +151 -149
  44. data/lib/pry/commands/import_set.rb +20 -15
  45. data/lib/pry/commands/jump_to.rb +25 -21
  46. data/lib/pry/commands/list_inspectors.rb +35 -28
  47. data/lib/pry/commands/ls/constants.rb +60 -43
  48. data/lib/pry/commands/ls/formatter.rb +42 -37
  49. data/lib/pry/commands/ls/globals.rb +38 -36
  50. data/lib/pry/commands/ls/grep.rb +17 -15
  51. data/lib/pry/commands/ls/instance_vars.rb +29 -28
  52. data/lib/pry/commands/ls/interrogatable.rb +18 -12
  53. data/lib/pry/commands/ls/jruby_hacks.rb +47 -41
  54. data/lib/pry/commands/ls/local_names.rb +26 -24
  55. data/lib/pry/commands/ls/local_vars.rb +38 -30
  56. data/lib/pry/commands/ls/ls_entity.rb +47 -52
  57. data/lib/pry/commands/ls/methods.rb +49 -51
  58. data/lib/pry/commands/ls/methods_helper.rb +46 -42
  59. data/lib/pry/commands/ls/self_methods.rb +23 -23
  60. data/lib/pry/commands/ls.rb +124 -105
  61. data/lib/pry/commands/nesting.rb +21 -17
  62. data/lib/pry/commands/play.rb +92 -82
  63. data/lib/pry/commands/pry_backtrace.rb +22 -17
  64. data/lib/pry/commands/pry_version.rb +15 -11
  65. data/lib/pry/commands/raise_up.rb +33 -27
  66. data/lib/pry/commands/reload_code.rb +60 -48
  67. data/lib/pry/commands/reset.rb +16 -12
  68. data/lib/pry/commands/ri.rb +56 -45
  69. data/lib/pry/commands/save_file.rb +45 -43
  70. data/lib/pry/commands/shell_command.rb +52 -51
  71. data/lib/pry/commands/shell_mode.rb +22 -18
  72. data/lib/pry/commands/show_doc.rb +80 -70
  73. data/lib/pry/commands/show_info.rb +192 -167
  74. data/lib/pry/commands/show_input.rb +16 -11
  75. data/lib/pry/commands/show_source.rb +110 -42
  76. data/lib/pry/commands/stat.rb +35 -31
  77. data/lib/pry/commands/switch_to.rb +21 -15
  78. data/lib/pry/commands/toggle_color.rb +20 -16
  79. data/lib/pry/commands/watch_expression/expression.rb +32 -27
  80. data/lib/pry/commands/watch_expression.rb +89 -84
  81. data/lib/pry/commands/whereami.rb +156 -148
  82. data/lib/pry/commands/wtf.rb +78 -40
  83. data/lib/pry/config/attributable.rb +22 -0
  84. data/lib/pry/config/lazy_value.rb +29 -0
  85. data/lib/pry/config/memoized_value.rb +34 -0
  86. data/lib/pry/config/value.rb +24 -0
  87. data/lib/pry/config.rb +312 -9
  88. data/lib/pry/control_d_handler.rb +28 -0
  89. data/lib/pry/core_extensions.rb +13 -10
  90. data/lib/pry/editor.rb +56 -34
  91. data/lib/pry/env.rb +18 -0
  92. data/lib/pry/exception_handler.rb +43 -0
  93. data/lib/pry/exceptions.rb +13 -18
  94. data/lib/pry/forwardable.rb +5 -1
  95. data/lib/pry/helpers/base_helpers.rb +58 -58
  96. data/lib/pry/helpers/command_helpers.rb +52 -62
  97. data/lib/pry/helpers/documentation_helpers.rb +21 -13
  98. data/lib/pry/helpers/options_helpers.rb +14 -7
  99. data/lib/pry/helpers/platform.rb +55 -0
  100. data/lib/pry/helpers/table.rb +44 -32
  101. data/lib/pry/helpers/text.rb +20 -18
  102. data/lib/pry/helpers.rb +3 -0
  103. data/lib/pry/history.rb +65 -60
  104. data/lib/pry/hooks.rb +24 -15
  105. data/lib/pry/indent.rb +72 -70
  106. data/lib/pry/input_completer.rb +251 -228
  107. data/lib/pry/input_lock.rb +7 -10
  108. data/lib/pry/inspector.rb +36 -24
  109. data/lib/pry/last_exception.rb +45 -45
  110. data/lib/pry/method/disowned.rb +18 -5
  111. data/lib/pry/method/patcher.rb +14 -5
  112. data/lib/pry/method/weird_method_locator.rb +74 -51
  113. data/lib/pry/method.rb +175 -121
  114. data/lib/pry/object_path.rb +37 -28
  115. data/lib/pry/output.rb +122 -35
  116. data/lib/pry/pager.rb +187 -180
  117. data/lib/pry/prompt.rb +213 -25
  118. data/lib/pry/pry_class.rb +91 -96
  119. data/lib/pry/pry_instance.rb +258 -223
  120. data/lib/pry/repl.rb +49 -25
  121. data/lib/pry/repl_file_loader.rb +27 -22
  122. data/lib/pry/ring.rb +89 -0
  123. data/lib/pry/slop/commands.rb +164 -170
  124. data/lib/pry/slop/option.rb +172 -170
  125. data/lib/pry/slop.rb +567 -556
  126. data/lib/pry/syntax_highlighter.rb +26 -0
  127. data/lib/pry/system_command_handler.rb +17 -0
  128. data/lib/pry/testable/evalable.rb +21 -12
  129. data/lib/pry/testable/mockable.rb +18 -10
  130. data/lib/pry/testable/pry_tester.rb +71 -56
  131. data/lib/pry/testable/utility.rb +29 -21
  132. data/lib/pry/testable/variables.rb +49 -43
  133. data/lib/pry/testable.rb +59 -61
  134. data/lib/pry/version.rb +3 -1
  135. data/lib/pry/warning.rb +20 -0
  136. data/lib/pry/wrapped_module/candidate.rb +31 -23
  137. data/lib/pry/wrapped_module.rb +63 -59
  138. data/lib/pry.rb +132 -149
  139. metadata +39 -51
  140. data/lib/pry/commands/disabled_commands.rb +0 -2
  141. data/lib/pry/commands/gem_cd.rb +0 -26
  142. data/lib/pry/commands/gem_install.rb +0 -32
  143. data/lib/pry/commands/gem_list.rb +0 -33
  144. data/lib/pry/commands/gem_open.rb +0 -29
  145. data/lib/pry/commands/gem_readme.rb +0 -25
  146. data/lib/pry/commands/gem_search.rb +0 -40
  147. data/lib/pry/commands/gist.rb +0 -101
  148. data/lib/pry/commands/install_command.rb +0 -53
  149. data/lib/pry/commands/list_prompts.rb +0 -35
  150. data/lib/pry/commands/simple_prompt.rb +0 -22
  151. data/lib/pry/commands.rb +0 -6
  152. data/lib/pry/config/behavior.rb +0 -231
  153. data/lib/pry/config/convenience.rb +0 -25
  154. data/lib/pry/config/default.rb +0 -149
  155. data/lib/pry/config/memoization.rb +0 -44
  156. data/lib/pry/history_array.rb +0 -121
  157. data/lib/pry/platform.rb +0 -93
  158. data/lib/pry/plugins.rb +0 -118
  159. data/lib/pry/rbx_path.rb +0 -22
  160. data/lib/pry/rubygem.rb +0 -84
  161. data/lib/pry/terminal.rb +0 -90
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2b64fffecceb1735b3224542dddf8210a4eea3ea
4
- data.tar.gz: 00453f4390dc9d7d31a5a0215823f2f57929b097
2
+ SHA256:
3
+ metadata.gz: 6d8bac7565d29bff46039481c17aa6a88fec28084916dd8dad12cd4e83b146c1
4
+ data.tar.gz: 90b46a979aaac6d01ddf589217baca57bc2d7ce8197c8f27bc22f823eeaffcdd
5
5
  SHA512:
6
- metadata.gz: 9fa428d4b7e63c0260dfd1082de23e978adc52461fb1123e415baed4101171a664ba7928511acbfe17d9aa034002f0e5f61645de6fa7cba036be1b87fd05525b
7
- data.tar.gz: 91ca93bd5bd1948952ddb11bccc0ab03e1f792e7025f3ff77461c89801993f5141c1e5fbe85e123308b2d19c8ec86daf662c4e419b3bfef571d54f044e729758
6
+ metadata.gz: 2e671cca56deb75c1c47ba9108155bec171ebe34d5ba740b3dd7ea3e848fc789291111e40b7c604835b3d90209873a4a3364ec72a5f4c0f062dea98e5b466a30
7
+ data.tar.gz: f4c80ad6f3187823c18e1fff35306fc1e0a0ee4045a06b190f4742c92099b89d7ef5bafcb1c1dd68c8ae09b251a9a9b64bfd33179c2a7778f3122c90d636afa5
data/CHANGELOG.md CHANGED
@@ -1,4 +1,339 @@
1
- ### HEAD
1
+ ### master
2
+
3
+ ### [v0.14.2][v0.14.2] (January 9, 2023)
4
+
5
+ #### Features
6
+
7
+ * Configure `code` as a supported editor on Pry::Editor
8
+ ([#2236](https://github.com/pry/pry/pull/2236))
9
+ * Added support for Ruby 3.2
10
+ ([#2263](https://github.com/pry/pry/pull/2263))
11
+ * Added support for Ruby 3.1
12
+ ([#2228](https://github.com/pry/pry/pull/2228))
13
+
14
+ #### Bug fixes
15
+
16
+ * Short circuit eval regexes in finding module definition
17
+ ([#2253](https://github.com/pry/pry/pull/2253))
18
+ * Revert "Escape non-printing characters"
19
+ ([#2235](https://github.com/pry/pry/pull/2235))
20
+ * Fixed bug where WeirdMethodLocator would fail to find the source of a method breaking whereami
21
+ ([#2244](https://github.com/pry/pry/pull/2244))
22
+ * Fixed bug where pry would throw an FrozenError when dealing with incomplete tokens
23
+ ([#2136](https://github.com/pry/pry/pull/2136))
24
+ * Restore --no-history CLI flag functionality
25
+ ([#2196](https://github.com/pry/pry/pull/2196))
26
+ * Fixed bug where reading from the `_out_` sticky local variable could return
27
+ wrong results ([#2201](https://github.com/pry/pry/pull/2201))
28
+
29
+ #### Breaking Changes
30
+
31
+ * Remove support for Ruby 1.9 and JRuby < 9.0
32
+ ([#2239](https://github.com/pry/pry/pull/2239))
33
+
34
+ ### [v0.14.1][v0.14.1] (April 12, 2021)
35
+
36
+ #### Bug fixes
37
+
38
+ * Fixed bad coloring of some RDoc-style docs
39
+ ([#2182](https://github.com/pry/pry/pull/2182))
40
+ * Fixed broken `--plugins` option. It shows a warning now
41
+ ([#2180](https://github.com/pry/pry/pull/2180))
42
+ * Fixed bad output on printing non-visible characters with color codes
43
+ ([#2154](https://github.com/pry/pry/pull/2154))
44
+ * Fixed bad output when colors are disabled and a string with color codes is
45
+ printed ([#2158](https://github.com/pry/pry/pull/2158))
46
+
47
+ ### [v0.14.0][v0.14.0] (February 8, 2021)
48
+
49
+ #### Features
50
+
51
+ * Made `?` an alias to `show-source -d`
52
+ ([#2133](https://github.com/pry/pry/pull/2133))
53
+ * Added support for Ruby 3.0
54
+
55
+ #### Breaking changes
56
+
57
+ * Deleted support for plugin autoloading
58
+ ([#2119](https://github.com/pry/pry/pull/2119)). In order to load a Pry plugin
59
+ you must `require` it from your `pryrc` or add it to your Gemfile.
60
+
61
+ ```rb
62
+ # ~/.pryrc
63
+ require 'pryrc'
64
+ ```
65
+
66
+ ### [v0.13.1][v0.13.1] (April 12, 2020)
67
+
68
+ #### Bug fixes
69
+
70
+ * Fixed bug where on invalid input only the last syntax error is displayed
71
+ (instead of all of them) ([#2117](https://github.com/pry/pry/pull/2117))
72
+ * Fixed `Pry::Config` raising `NoMethodError` on undefined option instead of
73
+ returning `nil` (usually invoked via `Pry.config.foo_option` calls)
74
+ ([#2126](https://github.com/pry/pry/pull/2126))
75
+ * Fixed `help` command not displaying regexp aliases properly
76
+ ([#2120](https://github.com/pry/pry/pull/2120))
77
+ * Fixed `pry-backtrace` not working ([#2122](https://github.com/pry/pry/pull/2122))
78
+
79
+ ### [v0.13.0][v0.13.0] (March 21, 2020)
80
+
81
+ #### Features
82
+
83
+ * Added metadata to the gem (such as changelog URI, source code URI & bug
84
+ tracker URI), so it shows on https://rubygems.org/gems/pry
85
+ ([#1869](https://github.com/pry/pry/pull/1869))
86
+ * Added ability to forward ARGV to a Pry session via `--` (or `-`) when
87
+ launching Pry from shell
88
+ ([#1902](https://github.com/pry/pry/commit/5cd65d3c0eb053f6edcdf571eea5d0cd990626ed))
89
+ * Added `Pry::Config::LazyValue` & `Pry::Config::MemoizedValue`, which allow
90
+ storing callable procs in the config
91
+ ([#2024](https://github.com/pry/pry/pull/2024))
92
+ * Added the `rc_file` config option that tells Pry the path to `pryrc`
93
+ ([#2027](https://github.com/pry/pry/pull/2027))
94
+ * Added the `--code` flag to the `wtf` command, which shows code for each
95
+ backtrace frame ([#2037](https://github.com/pry/pry/pull/2037))
96
+ * Added the ability to paste method call chains with leading dots
97
+ ([#2060](https://github.com/pry/pry/pull/2060))
98
+
99
+ #### API changes
100
+
101
+ * `Pry::Prompt` is a class now and it can be instantiated to create new prompts
102
+ on the fly that are not registered with `Pry::Prompt#add`. Learn more about
103
+ its API in the docs ([#1877](https://github.com/pry/pry/pull/1877))
104
+
105
+ #### Deprecations
106
+
107
+ * Deprecated `Pry.config.exception_whitelist` in favor of
108
+ `Pry.config.unrescued_exceptions`
109
+ ([#1874](https://github.com/pry/pry/pull/1874))
110
+ * Deprecated `Pry.config.prompt = Pry::Prompt[:simple][:value]` in favor of
111
+ `Pry.config.prompt = Pry::Prompt[:simple]` when setting Pry prompt via
112
+ `pryrc`. `Pry::Prompt[:simple]` would return an instance of `Pry::Prompt`
113
+ instead of `Hash` ([#1877](https://github.com/pry/pry/pull/1877))
114
+ * Deprecated setting prompt via an array of two procs:
115
+ ([#1877](https://github.com/pry/pry/pull/1877))
116
+
117
+ ```ruby
118
+ # Deprecated, emits a warning.
119
+ Pry.config.prompt = [proc {}, proc {}]
120
+ ```
121
+
122
+ This will be removed in the next release.
123
+ * Deprecated the `show-doc` command. The `show-source -d` is the new recommended
124
+ way of reading docs ([#1934](https://github.com/pry/pry/pull/1934))
125
+ * Deprecated `Pry::Command#_pry_`. Use `Pry::Command#pry_instance` instead
126
+ ([#1989](https://github.com/pry/pry/pull/1989))
127
+
128
+ #### Breaking changes
129
+
130
+ * Deleted deprecated `Pry::Platform`
131
+ ([#1863](https://github.com/pry/pry/pull/1863))
132
+ * Deleted deprecated `Pry#{input/output}_array`
133
+ ([#1884](https://github.com/pry/pry/pull/1864))
134
+ * Deleted deprecated `Pry::Prompt::MAP`
135
+ ([#1866](https://github.com/pry/pry/pull/1866))
136
+ * Deleted deprecated methods of `Pry::Helpers::BaseHelpers` such as `mac_osx?`,
137
+ `linux?`, `windows?`, `windows_ansi?`, `jruby?`, `jruby_19?`, `mri?`,
138
+ `mri_19?`, `mri_2?` ([#1867](https://github.com/pry/pry/pull/1867))
139
+ * Deleted deprecated `Pry::Command#text`
140
+ ([#1865](https://github.com/pry/pry/pull/1865))
141
+ * Deleted deprecated `Pry::Method#all_from_common`
142
+ ([#1868](https://github.com/pry/pry/pull/1868))
143
+ * Deleted `install-command` ([#1979](https://github.com/pry/pry/pull/1979))
144
+ * Deleted `Pry::Helpers::BaseHelpers#command_dependencies_met?`
145
+ ([#1979](https://github.com/pry/pry/pull/1979))
146
+ * Deleted commands: `gem-cd`, `gem-install`, `gem-list`, `gem-open`,
147
+ `gem-readme`, `gem-search`, `gem-stats`
148
+ ([#1981](https://github.com/pry/pry/pull/1981))
149
+ * Deleted deprecated commands: `edit-method` and `show-command`
150
+ ([#2001](https://github.com/pry/pry/pull/2001))
151
+ * Deleted `Pry::Command#disabled_commands`
152
+ ([#2001](https://github.com/pry/pry/pull/2001))
153
+ * Deleted `Pry::BlockCommand#opts` (use `#context` instead)
154
+ ([#2003](https://github.com/pry/pry/pull/2003))
155
+ * Deleted `Pry.lazy` (use `Pry::Config::LazyValue` instead)
156
+ ([#2024](https://github.com/pry/pry/pull/2024))
157
+
158
+ #### Bug fixes
159
+
160
+ * Fixed bug where using `Pry.config.prompt_name` can return a
161
+ `Pry::Config::Lazy` instead of expected instance of `String`
162
+ ([#1890](https://github.com/pry/pry/commit/c8f23b3464d596c08922dc923c64bb57488e6227))
163
+ * Fixed `LoadError` being raised when using auto completions and Bundler
164
+ ([#1896](https://github.com/pry/pry/commit/85850f47e074fe01f93e5cb7d561e7c2de7aede9))
165
+ * Fixed bug where `Pry.input_ring` doesn't append duplicate elements
166
+ ([#1898](https://github.com/pry/pry/pull/1898))
167
+ * Fixed Ruby 2.6 warning about `Binding#source_location`
168
+ ([#1904](https://github.com/pry/pry/pull/1904))
169
+ * Fixed wrong `winsize` when custom `output` is passed to Pry
170
+ ([#2045](https://github.com/pry/pry/pull/2045))
171
+ * Fixed `XDG_CONFIG_HOME` & `XDG_DATA_HOME` precedence. When these env variables
172
+ are set, Pry no longer uses traditional files like `~/.pryrc` &
173
+ `~/.pry_history`. Instead, the env variable paths are loaded first
174
+ ([#2056](https://github.com/pry/pry/pull/2056))
175
+ * Fixed the `$SAFE will become a normal global variable in Ruby 3.0` warning on
176
+ Ruby 2.7 ([#2107](https://github.com/pry/pry/pull/2107))
177
+ * Fixed bug when `whereami -c` cannot show beginning of the class, which is on
178
+ the same line as another expression
179
+ ([#2098](https://github.com/pry/pry/pull/2098))
180
+ * Fixed bug when `Object#owner` is defined, which results into somewhat broken
181
+ method introspection ([#2113](https://github.com/pry/pry/pull/2113))
182
+ * Fixed bug when indentation leaves parts of input after pressing enter when
183
+ Readline is enabled with mode indicators for vi mode. This was supposed to be
184
+ fixed in v0.12.2 but it regressed
185
+ ([#2114](https://github.com/pry/pry/pull/2114))
186
+
187
+ ### [v0.12.2][v0.12.2] (November 12, 2018)
188
+
189
+ #### Bug fixes
190
+
191
+ * Restore removed deprecations, which were removed by accident due to a bad
192
+ rebase.
193
+
194
+ ### [v0.12.1][v0.12.1] (November 12, 2018)
195
+
196
+ #### Bug fixes
197
+
198
+ * Stopped creating a new hash each time `Pry::Prompt#[]` is invoked
199
+ ([#1855](https://github.com/pry/pry/pull/1855))
200
+ * Fixed `less` pager not working when it's available
201
+ ([#1861](https://github.com/pry/pry/pull/1861))
202
+
203
+ ### [v0.12.0][v0.12.0] (November 5, 2018)
204
+
205
+ #### Major changes
206
+
207
+ * Dropped support for Rubinius ([#1785](https://github.com/pry/pry/pull/1785))
208
+
209
+ #### Features
210
+
211
+ * Added a new command, `clear-screen`, that clears the content of the screen Pry
212
+ is running in regardless of platform (Windows or UNIX-like)
213
+ ([#1723](https://github.com/pry/pry/pull/1723))
214
+ * Added a new command, `gem-stat`, that prints gem statistics such as gem
215
+ dependencies and downloads ([#1707](https://github.com/pry/pry/pull/1707))
216
+ * Added support for nested exceptions for the `wtf` command
217
+ ([#1791](https://github.com/pry/pry/pull/1791))
218
+ * Added support for dynamic prompt names
219
+ ([#1833](https://github.com/pry/pry/pull/1833))
220
+
221
+ ```rb
222
+ # pryrc
223
+ Pry.config.prompt_name = Pry.lazy { rand(100) }
224
+
225
+ # Session
226
+ [1] 80(main)>
227
+ [2] 87(main)>
228
+ [3] 30(main)>
229
+ ```
230
+ * Added support for XDG Base Directory Specification
231
+ ([#1609](https://github.com/pry/pry/pull/1609),
232
+ [#1844](https://github.com/pry/pry/pull/1844),
233
+ ([#1848](https://github.com/pry/pry/pull/1848)))
234
+ * Removed the `simple-prompt`. Use `change-prompt simple` instead. The
235
+ `list-prompt` command was removed and embedded as `change-prompt --list`
236
+ ([#1849](https://github.com/pry/pry/pull/1849))
237
+
238
+ #### API changes
239
+
240
+ * The following methods started accepting the new optional `config` parameter
241
+ ([#1809](https://github.com/pry/pry/pull/1809)):
242
+ * `Pry::Helpers.tablify(things, line_length, config = Pry.config)`
243
+ * `Pry::Helpers.tablify_or_one_line(heading, things, config = Pry.config)`
244
+ * `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)`
245
+ * `Pry::Helpers::Table.new(items, args, config = Pry.config)`
246
+
247
+ You are expected to pass a session-local `_pry_.config` instead of the global
248
+ one.
249
+
250
+ * Added new method `Pry::Config.assign`, for creating a Config non-recursively
251
+ ([#1725](https://github.com/pry/pry/issues/1725))
252
+ * Added `Pry.lazy`, which is a helper method for values that need to be
253
+ calculated dynamically. Currently, only `config.prompt_name` supports it
254
+ ([#1833](https://github.com/pry/pry/pull/1833))
255
+ * `Pry::Prompt` responds to `.[]`, `.all` & `.add` now. The `Pry::Prompt.add`
256
+ method must be used for implementing custom prompts. See the API in the
257
+ documentation for the class ([#1846](https://github.com/pry/pry/pull/1846))
258
+
259
+ #### Breaking changes
260
+
261
+ * Deleted the `Pry::Helpers::Text.bright_default` alias for
262
+ `Pry::Helpers::Text.bold` ([#1795](https://github.com/pry/pry/pull/1795))
263
+ * `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)`
264
+ requires `options` or `nil` in place of them.
265
+ * `Pry::Helpers::Table.new(items, args, config = Pry.config)` requires `args`
266
+ or `nil` in place of them.
267
+ * Completely revamped `Pry::HistoryArray`
268
+ ([#1818](https://github.com/pry/pry/pull/1818)).
269
+ * It's been renamed to `Pry::Ring`
270
+ ([#1817](https://github.com/pry/pry/pull/1817))
271
+ * The implementation has changed and as result, the following methods were
272
+ removed:
273
+ * `Pry::Ring#length` (use `Pry::Ring#count` instead)
274
+ * `#empty?`, `#each`, `#inspect`, `#pop!`, `#to_h`
275
+ * To access old Enumerable methods convert the ring to Array with `#to_a`
276
+ * Fixed indexing for elements (e.g. `_pry_.input_ring[0]` always return some
277
+ element and not `nil`)
278
+ * Renamed `Pry.config.prompt_safe_objects` to `Pry.config.prompt_safe_contexts`
279
+ * Removed deprecated `Pry::CommandSet#before_command` &
280
+ `Pry::CommandSet#after_command` ([#1838](https://github.com/pry/pry/pull/1838))
281
+
282
+ #### Deprecations
283
+
284
+ * Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of
285
+ `_pry_.input_ring` & `_pry_.output_ring` respectively
286
+ ([#1814](https://github.com/pry/pry/pull/1814))
287
+ * Deprecated `Pry::Command#text`. Please use `#black`, `#white`, etc. directly
288
+ instead (as you would with helper functions from `BaseHelpers` and
289
+ `CommandHelpers`) ([#1701](https://github.com/pry/pry/pull/1701))
290
+ * Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of
291
+ `_pry_.input_ring` and `_pry_.output_ring` respectively
292
+ ([#1817](https://github.com/pry/pry/pull/1817))
293
+ * Deprecated `Pry::Platform`. Use `Pry::Helpers::Platform` instead. Note that
294
+ `Pry::Helpers::BaseHelpers` still includes the `Platform` methods but emits a
295
+ warning. You must switch to `Pry::Helpers::Platform` in your code
296
+ ([#1838](https://github.com/pry/pry/pull/1838),
297
+ ([#1845](https://github.com/pry/pry/pull/1845)))
298
+ * Deprecated `Pry::Prompt::MAP`. You should use `Pry::Prompt.all` instead to
299
+ access the same map ([#1846](https://github.com/pry/pry/pull/1846))
300
+
301
+ #### Bug fixes
302
+
303
+ * Fixed a bug where `cd Hash.new` reported `self` as an instance of Pry::Config
304
+ in the prompt ([#1725](https://github.com/pry/pry/pull/1725))
305
+ * Silenced the `Could not find files for the given pattern(s)` error message
306
+ coming from `where` on Windows, when `less` or another pager is not installed
307
+ ([#1767](https://github.com/pry/pry/pull/1767))
308
+ * Fixed possible double loading of Pry plugins' `cli.rb` on Ruby (>= 2.4) due to
309
+ [the `realpath` changes while invoking
310
+ `require`](https://bugs.ruby-lang.org/issues/10222)
311
+ ([#1762](https://github.com/pry/pry/pull/1762),
312
+ [#1774](https://github.com/pry/pry/pull/1762))
313
+ * Fixed `NoMethodError` on code objects that have a comment but no source when
314
+ invoking `show-source` ([#1779](https://github.com/pry/pry/pull/1779))
315
+ * Fixed `negative argument (ArgumentError)` upon pasting code with tabs, which
316
+ used to confuse automatic indentation
317
+ ([#1771](https://github.com/pry/pry/pull/1771))
318
+ * Fixed Pry not being able to load history on Ruby 2.4.4+ when it contains the
319
+ null character ([#1789](https://github.com/pry/pry/pull/1789))
320
+ * Fixed Pry raising errors on `cd`'ing into some objects that redefine
321
+ `method_missing` and `respond_to?`
322
+ ([#1811](https://github.com/pry/pry/pull/1811))
323
+ * Fixed bug when indentation leaves parts of input after pressing enter when
324
+ Readline is enabled with mode indicators for vi mode
325
+ ([#1813](https://github.com/pry/pry/pull/1813),
326
+ [#1820](https://github.com/pry/pry/pull/1820),
327
+ [#1825](https://github.com/pry/pry/pull/1825))
328
+ * Fixed `edit` not writing to history
329
+ ([#1749](https://github.com/pry/pry/issues/1749))
330
+
331
+ #### Other changes
332
+
333
+ * Deprecated the `Data` constant to match Ruby 2.5 in the `ls` command
334
+ ([#1731](https://github.com/pry/pry/pull/1731))
335
+
336
+ ### 0.11.3
2
337
 
3
338
  #### Features
4
339
 
@@ -25,7 +360,7 @@ See pull request [#1673](https://github.com/pry/pry/pull/1673).
25
360
  that users of the [Hanami](http://hanamirb.org/) web framework experienced and
26
361
  reported since 2015.
27
362
 
28
- See pull request [#1639](https://github.com/pry/pry/pull/1689).
363
+ See pull request [#1689](https://github.com/pry/pry/pull/1689).
29
364
 
30
365
  * Fix a bug where Method objects were not returned for setters inherited
31
366
  from a default (Pry::Config::Default). Eg, this is no longer an error:
@@ -44,6 +379,7 @@ See pull request [#1691](https://github.com/pry/pry/pull/1691).
44
379
 
45
380
  See pull request [#1674](https://github.com/pry/pry/pull/1674).
46
381
 
382
+
47
383
  ### 0.11.0
48
384
 
49
385
  * Add alias 'whereami[?!]+' for 'whereami' command. ([#1597](https://github.com/pry/pry/pull/1597))
@@ -795,3 +1131,11 @@ complete CHANGELOG:
795
1131
 
796
1132
  ### 0.1.0 (2010/12/8)
797
1133
  * release!
1134
+
1135
+ [v0.12.0]: https://github.com/pry/pry/releases/tag/v0.12.0
1136
+ [v0.12.1]: https://github.com/pry/pry/releases/tag/v0.12.1
1137
+ [v0.12.2]: https://github.com/pry/pry/releases/tag/v0.12.2
1138
+ [v0.13.0]: https://github.com/pry/pry/releases/tag/v0.13.0
1139
+ [v0.13.1]: https://github.com/pry/pry/releases/tag/v0.13.1
1140
+ [v0.14.0]: https://github.com/pry/pry/releases/tag/v0.14.0
1141
+ [v0.14.1]: https://github.com/pry/pry/releases/tag/v0.14.1
data/LICENSE CHANGED
@@ -3,7 +3,7 @@ License
3
3
 
4
4
  (The MIT License)
5
5
 
6
- Copyright (c) 2016 John Mair (banisterfiend)
6
+ Copyright (c) 2018 John Mair (banisterfiend)
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining
9
9
  a copy of this software and associated documentation files (the