pry 0.10.3 → 0.14.2
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +439 -16
- data/LICENSE +1 -1
- data/README.md +362 -302
- data/bin/pry +4 -7
- data/lib/pry/basic_object.rb +10 -0
- data/lib/pry/block_command.rb +22 -0
- data/lib/pry/class_command.rb +194 -0
- data/lib/pry/cli.rb +84 -97
- data/lib/pry/code/code_file.rb +37 -26
- data/lib/pry/code/code_range.rb +7 -5
- data/lib/pry/code/loc.rb +26 -13
- data/lib/pry/code.rb +42 -31
- data/lib/pry/code_object.rb +53 -28
- data/lib/pry/color_printer.rb +46 -35
- data/lib/pry/command.rb +197 -369
- data/lib/pry/command_set.rb +89 -114
- data/lib/pry/command_state.rb +31 -0
- data/lib/pry/commands/amend_line.rb +86 -82
- data/lib/pry/commands/bang.rb +18 -14
- data/lib/pry/commands/bang_pry.rb +15 -11
- data/lib/pry/commands/cat/abstract_formatter.rb +23 -18
- data/lib/pry/commands/cat/exception_formatter.rb +85 -72
- data/lib/pry/commands/cat/file_formatter.rb +56 -46
- data/lib/pry/commands/cat/input_expression_formatter.rb +35 -30
- data/lib/pry/commands/cat.rb +62 -54
- data/lib/pry/commands/cd.rb +40 -35
- data/lib/pry/commands/change_inspector.rb +29 -22
- data/lib/pry/commands/change_prompt.rb +48 -23
- data/lib/pry/commands/clear_screen.rb +20 -0
- data/lib/pry/commands/code_collector.rb +148 -131
- data/lib/pry/commands/disable_pry.rb +23 -19
- data/lib/pry/commands/easter_eggs.rb +23 -34
- data/lib/pry/commands/edit/exception_patcher.rb +21 -17
- data/lib/pry/commands/edit/file_and_line_locator.rb +34 -23
- data/lib/pry/commands/edit.rb +185 -157
- data/lib/pry/commands/exit.rb +40 -35
- data/lib/pry/commands/exit_all.rb +24 -20
- data/lib/pry/commands/exit_program.rb +20 -16
- data/lib/pry/commands/find_method.rb +168 -162
- data/lib/pry/commands/fix_indent.rb +16 -12
- data/lib/pry/commands/help.rb +140 -133
- data/lib/pry/commands/hist.rb +151 -149
- data/lib/pry/commands/import_set.rb +20 -15
- data/lib/pry/commands/jump_to.rb +25 -21
- data/lib/pry/commands/list_inspectors.rb +35 -28
- data/lib/pry/commands/ls/constants.rb +59 -31
- data/lib/pry/commands/ls/formatter.rb +42 -36
- data/lib/pry/commands/ls/globals.rb +38 -36
- data/lib/pry/commands/ls/grep.rb +17 -15
- data/lib/pry/commands/ls/instance_vars.rb +29 -28
- data/lib/pry/commands/ls/interrogatable.rb +18 -12
- data/lib/pry/commands/ls/jruby_hacks.rb +47 -41
- data/lib/pry/commands/ls/local_names.rb +26 -24
- data/lib/pry/commands/ls/local_vars.rb +38 -30
- data/lib/pry/commands/ls/ls_entity.rb +47 -52
- data/lib/pry/commands/ls/methods.rb +49 -51
- data/lib/pry/commands/ls/methods_helper.rb +46 -42
- data/lib/pry/commands/ls/self_methods.rb +23 -21
- data/lib/pry/commands/ls.rb +124 -103
- data/lib/pry/commands/nesting.rb +21 -17
- data/lib/pry/commands/play.rb +92 -82
- data/lib/pry/commands/pry_backtrace.rb +22 -17
- data/lib/pry/commands/pry_version.rb +15 -11
- data/lib/pry/commands/raise_up.rb +33 -27
- data/lib/pry/commands/reload_code.rb +60 -48
- data/lib/pry/commands/reset.rb +16 -12
- data/lib/pry/commands/ri.rb +57 -42
- data/lib/pry/commands/save_file.rb +45 -43
- data/lib/pry/commands/shell_command.rb +56 -29
- data/lib/pry/commands/shell_mode.rb +22 -18
- data/lib/pry/commands/show_doc.rb +80 -70
- data/lib/pry/commands/show_info.rb +194 -155
- data/lib/pry/commands/show_input.rb +16 -11
- data/lib/pry/commands/show_source.rb +110 -42
- data/lib/pry/commands/stat.rb +35 -31
- data/lib/pry/commands/switch_to.rb +21 -15
- data/lib/pry/commands/toggle_color.rb +20 -16
- data/lib/pry/commands/watch_expression/expression.rb +32 -27
- data/lib/pry/commands/watch_expression.rb +89 -84
- data/lib/pry/commands/whereami.rb +156 -141
- data/lib/pry/commands/wtf.rb +78 -40
- data/lib/pry/config/attributable.rb +22 -0
- data/lib/pry/config/lazy_value.rb +29 -0
- data/lib/pry/config/memoized_value.rb +34 -0
- data/lib/pry/config/value.rb +24 -0
- data/lib/pry/config.rb +310 -20
- data/lib/pry/control_d_handler.rb +28 -0
- data/lib/pry/core_extensions.rb +22 -9
- data/lib/pry/editor.rb +56 -34
- data/lib/pry/env.rb +18 -0
- data/lib/pry/exception_handler.rb +43 -0
- data/lib/pry/exceptions.rb +13 -18
- data/lib/pry/forwardable.rb +27 -0
- data/lib/pry/helpers/base_helpers.rb +20 -62
- data/lib/pry/helpers/command_helpers.rb +52 -62
- data/lib/pry/helpers/documentation_helpers.rb +21 -12
- data/lib/pry/helpers/options_helpers.rb +15 -8
- data/lib/pry/helpers/platform.rb +55 -0
- data/lib/pry/helpers/table.rb +44 -32
- data/lib/pry/helpers/text.rb +96 -85
- data/lib/pry/helpers.rb +3 -0
- data/lib/pry/history.rb +81 -55
- data/lib/pry/hooks.rb +60 -110
- data/lib/pry/indent.rb +74 -68
- data/lib/pry/input_completer.rb +199 -158
- data/lib/pry/input_lock.rb +7 -10
- data/lib/pry/inspector.rb +36 -24
- data/lib/pry/last_exception.rb +45 -45
- data/lib/pry/method/disowned.rb +19 -5
- data/lib/pry/method/patcher.rb +14 -8
- data/lib/pry/method/weird_method_locator.rb +79 -45
- data/lib/pry/method.rb +178 -124
- data/lib/pry/object_path.rb +37 -28
- data/lib/pry/output.rb +102 -16
- data/lib/pry/pager.rb +187 -174
- data/lib/pry/prompt.rb +213 -25
- data/lib/pry/pry_class.rb +119 -98
- data/lib/pry/pry_instance.rb +261 -224
- data/lib/pry/repl.rb +83 -29
- data/lib/pry/repl_file_loader.rb +27 -22
- data/lib/pry/ring.rb +89 -0
- data/lib/pry/slop/LICENSE +20 -0
- data/lib/pry/slop/commands.rb +190 -0
- data/lib/pry/slop/option.rb +210 -0
- data/lib/pry/slop.rb +672 -0
- data/lib/pry/syntax_highlighter.rb +26 -0
- data/lib/pry/system_command_handler.rb +17 -0
- data/lib/pry/testable/evalable.rb +24 -0
- data/lib/pry/testable/mockable.rb +22 -0
- data/lib/pry/testable/pry_tester.rb +88 -0
- data/lib/pry/testable/utility.rb +34 -0
- data/lib/pry/testable/variables.rb +52 -0
- data/lib/pry/testable.rb +68 -0
- data/lib/pry/version.rb +3 -1
- data/lib/pry/warning.rb +20 -0
- data/lib/pry/{module_candidate.rb → wrapped_module/candidate.rb} +35 -32
- data/lib/pry/wrapped_module.rb +68 -63
- data/lib/pry.rb +133 -149
- metadata +58 -69
- data/lib/pry/commands/disabled_commands.rb +0 -2
- data/lib/pry/commands/gem_cd.rb +0 -26
- data/lib/pry/commands/gem_install.rb +0 -32
- data/lib/pry/commands/gem_list.rb +0 -33
- data/lib/pry/commands/gem_open.rb +0 -29
- data/lib/pry/commands/gist.rb +0 -101
- data/lib/pry/commands/install_command.rb +0 -53
- data/lib/pry/commands/list_prompts.rb +0 -35
- data/lib/pry/commands/simple_prompt.rb +0 -22
- data/lib/pry/commands.rb +0 -6
- data/lib/pry/config/behavior.rb +0 -139
- data/lib/pry/config/convenience.rb +0 -25
- data/lib/pry/config/default.rb +0 -161
- data/lib/pry/history_array.rb +0 -121
- data/lib/pry/plugins.rb +0 -103
- data/lib/pry/rbx_path.rb +0 -22
- data/lib/pry/rubygem.rb +0 -82
- data/lib/pry/terminal.rb +0 -79
- data/lib/pry/test/helper.rb +0 -170
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6d8bac7565d29bff46039481c17aa6a88fec28084916dd8dad12cd4e83b146c1
|
4
|
+
data.tar.gz: 90b46a979aaac6d01ddf589217baca57bc2d7ce8197c8f27bc22f823eeaffcdd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e671cca56deb75c1c47ba9108155bec171ebe34d5ba740b3dd7ea3e848fc789291111e40b7c604835b3d90209873a4a3364ec72a5f4c0f062dea98e5b466a30
|
7
|
+
data.tar.gz: f4c80ad6f3187823c18e1fff35306fc1e0a0ee4045a06b190f4742c92099b89d7ef5bafcb1c1dd68c8ae09b251a9a9b64bfd33179c2a7778f3122c90d636afa5
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,427 @@
|
|
1
|
-
###
|
1
|
+
### master
|
2
2
|
|
3
|
-
|
3
|
+
### [v0.14.2][v0.14.2] (January 9, 2023)
|
4
4
|
|
5
|
-
|
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
|
6
210
|
|
7
|
-
*
|
8
|
-
|
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
|
337
|
+
|
338
|
+
#### Features
|
339
|
+
|
340
|
+
* Add Pry::Testable, an improved modular replacement for PryTestHelpers.
|
341
|
+
**breaking change**.
|
342
|
+
|
343
|
+
See pull request [#1679](https://github.com/pry/pry/pull/1679).
|
344
|
+
|
345
|
+
* Add a new category module: "Pry::Platform". Loosely related to #1668 below.
|
346
|
+
|
347
|
+
See pull request [#1670](https://github.com/pry/pry/pull/1670)
|
348
|
+
|
349
|
+
* Add `mac_osx?` and `linux?` utility functions to Pry::Helpers::BaseHelpers.
|
350
|
+
|
351
|
+
See pull request [#1668](https://github.com/pry/pry/pull/1668).
|
352
|
+
|
353
|
+
* Add utility functions for drawing colorised text on a colorised background.
|
354
|
+
|
355
|
+
See pull request [#1673](https://github.com/pry/pry/pull/1673).
|
356
|
+
|
357
|
+
#### Bug fixes
|
358
|
+
|
359
|
+
* Fix a case of infinite recursion in `Pry::Method::WeirdMethodLocator#find_method_in_superclass`
|
360
|
+
that users of the [Hanami](http://hanamirb.org/) web framework experienced and
|
361
|
+
reported since 2015.
|
362
|
+
|
363
|
+
See pull request [#1689](https://github.com/pry/pry/pull/1689).
|
364
|
+
|
365
|
+
* Fix a bug where Method objects were not returned for setters inherited
|
366
|
+
from a default (Pry::Config::Default). Eg, this is no longer an error:
|
367
|
+
|
368
|
+
pry(main)> d = Pry::Config.from_hash({}, Pry::Config::Default.new)
|
369
|
+
pry(main)> d.method(:exception_whitelist=) # Error
|
370
|
+
|
371
|
+
See pull request [#1688](https://github.com/pry/pry/pull/1688).
|
372
|
+
|
373
|
+
* Do not capture unused Proc objects in Text helper methods `no_color` and `no_paging`,
|
374
|
+
for performance reasons. Improve the documentation of both methods.
|
375
|
+
|
376
|
+
See pull request [#1691](https://github.com/pry/pry/pull/1691).
|
377
|
+
|
378
|
+
* Fix `String#pp` output color.
|
379
|
+
|
380
|
+
See pull request [#1674](https://github.com/pry/pry/pull/1674).
|
381
|
+
|
382
|
+
|
383
|
+
### 0.11.0
|
384
|
+
|
385
|
+
* Add alias 'whereami[?!]+' for 'whereami' command. ([#1597](https://github.com/pry/pry/pull/1597))
|
386
|
+
* Improve Ruby 2.4 support ([#1611](https://github.com/pry/pry/pull/1611)):
|
387
|
+
* Deprecated constants are hidden from `ls` output by default, use the `-d` switch to see them.
|
388
|
+
* Fix warnings that originate in Pry while using the repl.
|
389
|
+
* Improve completion speed in large applications. ([#1588](https://github.com/pry/pry/pull/1588))
|
390
|
+
* Pry::ColorPrinter.pp: add `newline` argument and pass it on to PP. ([#1603](https://github.com/pry/pry/pull/1603))
|
391
|
+
* Use `less` or system pager pager on MS Windows if it is available. ([#1512](https://github.com/pry/pry/pull/1512))
|
392
|
+
* Add `Pry.configure` as an alternative to the current way of changing configuration options in `.pryrc` files. ([#1502](https://github.com/pry/pry/pull/1502))
|
393
|
+
* Add `Pry::Config::Behavior#eager_load!` to add a possible workaround for issues like ([#1501](https://github.com/pry/pry/issues/1501))
|
394
|
+
* Remove Slop as a runtime dependency by vendoring v3.4 as Pry::Slop.
|
395
|
+
People can depend on Slop v4 and Pry at the same time without running into version conflicts. ([#1497](https://github.com/pry/pry/issues/1497))
|
396
|
+
* Fix auto-indentation of code that uses a single-line rescue ([#1450](https://github.com/pry/pry/issues/1450))
|
397
|
+
* Remove "Pry::Config#refresh", please use "Pry::Config#clear" instead.
|
398
|
+
* Defining a method called "ls" no longer breaks the "ls" command ([#1407](https://github.com/pry/pry/issues/1407))
|
399
|
+
* Don't raise when directory permissions don't allow file expansion ([#1432](https://github.com/pry/pry/issues/1432))
|
400
|
+
* Syntax highlight <tt> tags in documentation output.
|
401
|
+
* Add support for BasicObject subclasses who implement their own #inspect (#1341)
|
402
|
+
* Fix 'include RSpec::Matchers' at the top-level (#1277)
|
403
|
+
* Add 'gem-readme' command, prints the README file bundled with a rubygem
|
404
|
+
* Add 'gem-search' command, searches for a gem with the rubygems.org HTTP API
|
405
|
+
* Fixed bug in the `cat` command where it was impossible to use line numbers with files ([#1349](https://github.com/pry/pry/issues/1349))
|
406
|
+
* Fixed uncaught Errno::EOPNOTSUPP exception when $stdout is a socket ([#1352](https://github.com/pry/pry/issues/1352))
|
407
|
+
* Display a warning when you cd'ed inside a C object and executed 'show-source' without arguments ([#691](https://github.com/pry/pry/issues/691))
|
408
|
+
* Make the stagger_output method more reliable by reusing possibly available Pry instance ([#1364](https://github.com/pry/pry/pull/1364))
|
409
|
+
* Make the 'gem-install' message less confusing by removing backticks ([#1350](https://github.com/pry/pry/pull/1350))
|
410
|
+
* Fixed error when Pry was trying to load incompatible versions of plugins ([#1312](https://github.com/pry/pry/issues/1312))
|
411
|
+
* Fixed bug when `hist --clear` led to ArgumentError ([#1340](https://github.com/pry/pry/pull/1340))
|
412
|
+
* Fixed the "uninitialized constant Pry::ObjectPath::StringScanner" exception during autocomplete ([#1330](https://github.com/pry/pry/issues/1330))
|
413
|
+
* Secured usage of colours with special characters (RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE) in Pry::Helpers::Text ([#493](https://github.com/pry/pry/issues/493#issuecomment-39232771))
|
414
|
+
* Fixed regression with `pry -e` when it messes the terminal ([#1387](https://github.com/pry/pry/issues/1387))
|
415
|
+
* Fixed regression with space prefixes of expressions ([#1369](https://github.com/pry/pry/issues/1369))
|
416
|
+
* Introduced the new way to define hooks for commands (with `Pry.hooks.add_hook("{before,after}_commandName")`). The old way is deprecated, but still supported (with `Pry.commands.{before,after}_command`) ([#651](https://github.com/pry/pry/issues/651))
|
417
|
+
* Removed old API's using `Pry::Hooks.from_hash` altogether
|
418
|
+
* Removed hints on Foreman support (see [this](https://github.com/ddollar/foreman/pull/536))
|
419
|
+
* Fixed support for the tee command ([#1334](https://github.com/pry/pry/issues/1334))
|
420
|
+
* Implemented support for CDPATH for ShellCommand ([#1433](https://github.com/pry/pry/issues/1433), [#1434](https://github.com/pry/pry/issues/1434))
|
421
|
+
* `Pry::CLI.parse_options` does not start Pry anymore ([#1393](https://github.com/pry/pry/pull/1393))
|
422
|
+
* The gem uses CPU-less platforms for Windows now ([#1410](https://github.com/pry/pry/pull/1410))
|
423
|
+
* Add `Pry::Config::Memoization` to make it easier to implement your own `Pry::Config::Default` class.([#1503](https://github.com/pry/pry/pull/1503/))
|
424
|
+
* Lazy load the config defaults for `Pry.config.history` and `Pry.config.gist`.
|
9
425
|
|
10
426
|
### 0.10.1
|
11
427
|
|
@@ -13,7 +429,6 @@
|
|
13
429
|
* Move to rspec for testing (from bacon)
|
14
430
|
* Clean up ruby warnings
|
15
431
|
|
16
|
-
|
17
432
|
### 0.10.0
|
18
433
|
|
19
434
|
#### Features
|
@@ -376,7 +791,7 @@
|
|
376
791
|
* Fewer internal methods polluting output
|
377
792
|
|
378
793
|
### 0.9.8.4 (2012/6/3)
|
379
|
-
* ~/.pry_history
|
794
|
+
* ~/.pry_history wasn't being created (if it did not exist)! FIXED
|
380
795
|
* `hist --save` saved colors! FIXED
|
381
796
|
* added Pry#add_sticky_local API for adding sticky locals to individual pry instances
|
382
797
|
|
@@ -384,7 +799,7 @@
|
|
384
799
|
* various tweaks to improve rbx support
|
385
800
|
* commands now support optional block arguments
|
386
801
|
* much improved help command
|
387
|
-
* updated method_source
|
802
|
+
* updated method_source dependency
|
388
803
|
* added wtf command
|
389
804
|
* jruby should now work in windows (though without color)
|
390
805
|
|
@@ -412,7 +827,7 @@ MAJOR NEW FEATURES
|
|
412
827
|
- added gist command (removed gist-method, new gist command is more general)
|
413
828
|
|
414
829
|
complete CHANGELOG:
|
415
|
-
* CommandError's no longer cause the current input to be
|
830
|
+
* CommandError's no longer cause the current input to be discarded
|
416
831
|
* Better syntax highlighting for rbx code code
|
417
832
|
* added cat --in to show pry input history
|
418
833
|
* prefixed temporary file names with 'pry'
|
@@ -425,7 +840,7 @@ complete CHANGELOG:
|
|
425
840
|
* added CommandSet#{before_command,after_command} for enhancing builtin commands
|
426
841
|
* added checking for namespace collisions with pry commands, set Pry.config.collision_warning
|
427
842
|
* work around namespace collisions by ensuring lines starting with a space are executed as
|
428
|
-
* ruby.work around namespace collisions by
|
843
|
+
* ruby.work around namespace collisions by pressuring lines starting with a space are executed as ruby
|
429
844
|
* added handlers for Ctrl+C (SIGINT) on jruby, these are now caught as in other ruby versions
|
430
845
|
* removed dependency on ruby_parser
|
431
846
|
* prevented colours leaking across the pry prompt
|
@@ -445,7 +860,7 @@ complete CHANGELOG:
|
|
445
860
|
|
446
861
|
### 0.9.7.4 (2011/11/5)
|
447
862
|
* ls -M now works in modules (bugfix)
|
448
|
-
* added exception
|
863
|
+
* added exception message for bad cd object/path
|
449
864
|
* no longer die when encounter exceptions in .pryrc
|
450
865
|
* baked in CoolLine support
|
451
866
|
* Pry.config.input in .pryrc now respected
|
@@ -462,7 +877,7 @@ complete CHANGELOG:
|
|
462
877
|
* changed ^D so it no longer resets indent level automatically
|
463
878
|
|
464
879
|
### 0.9.7.1 (2011/10/26)
|
465
|
-
* fixed gem
|
880
|
+
* fixed gem dependency issues
|
466
881
|
|
467
882
|
### 0.9.7 (2011/10/25)
|
468
883
|
|
@@ -503,7 +918,7 @@ complete CHANGELOG:
|
|
503
918
|
* play -m --open uses show-input to show play'd code
|
504
919
|
* added "unindent" helper to make adding help to commands easier
|
505
920
|
* local ./.pryrc now loaded after ~/.pryrc if it exists
|
506
|
-
* cat --ex N and edit --ex N now can navigate through backtrace, where cat --ex (with no args) moves
|
921
|
+
* cat --ex N and edit --ex N now can navigate through backtrace, where cat --ex (with no args) moves through successive levels of the backtrace automatically with state stored on the exception object itself
|
507
922
|
* new option Pry.config.exception_window_size determines window size for cat --ex
|
508
923
|
* 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
|
509
924
|
* Pry.config.system() defines how pry runs system commands
|
@@ -536,10 +951,10 @@ complete CHANGELOG:
|
|
536
951
|
* fixed bug #200 ( https://github.com/pry/pry/issues/200 )- string interpolation bug (thanks to ryanf)
|
537
952
|
* show-doc and stat now display method visibility (update WIKI)
|
538
953
|
* got rid of warnings caused by stricter ruby 1.9.3 rules
|
539
|
-
* remove interpolation of command names and fix interpolation error
|
954
|
+
* remove interpolation of command names and fix interpolation error message (update WIKI) (thanks ryanf!)
|
540
955
|
* 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
|
541
956
|
* '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
|
542
|
-
* added switch-to command (like jump-to but
|
957
|
+
* added switch-to command (like jump-to but doesn't unwind the stack)
|
543
958
|
* show-method and show-doc now accept multiple method names
|
544
959
|
* control_d hook added (Pry.config.control_d_handler)
|
545
960
|
* 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
|
@@ -633,7 +1048,7 @@ complete CHANGELOG:
|
|
633
1048
|
* -I mode for pry commandline
|
634
1049
|
* --color mode for pry commandline
|
635
1050
|
* clean up requires (put them all in one place)
|
636
|
-
* simple-prompt command and toggle-color
|
1051
|
+
* simple-prompt command and toggle-color command.
|
637
1052
|
|
638
1053
|
### 0.6.3 (2011/2/28)
|
639
1054
|
* Using MethodSource 0.3.4 so 1.8 show-method support provided
|
@@ -716,3 +1131,11 @@ complete CHANGELOG:
|
|
716
1131
|
|
717
1132
|
### 0.1.0 (2010/12/8)
|
718
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