Skip to content

Commit

Permalink
Improve help listing for regex aliases
Browse files Browse the repository at this point in the history
This commit improves the appearance of regex aliases in the help index
by storing the result of calling #inspect on the regex as the listing.

For example, consider the `whereami` alias `/whereami[!?]+/`.
Previously this would appear in the help index as
`(?-mix:whereami[!?]+)`. This commit fixes this so it appears as
`/whereami[!?]+/`.
  • Loading branch information
bingram-eab committed Mar 22, 2020
1 parent 0b3b71e commit a164846
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lib/pry/command_set.rb
Expand Up @@ -193,7 +193,7 @@ def alias_command(match, action, options = {})

options = original_options.merge!(
desc: "Alias for `#{action}`",
listing: match
listing: match.is_a?(String) ? match : match.inspect
).merge!(options)

# ensure default description is used if desc is nil
Expand Down
7 changes: 6 additions & 1 deletion spec/command_set_spec.rb
Expand Up @@ -185,11 +185,16 @@
expect(new_command.description).to eq('Alias for `test`')
end

it "sets aliased command's listing" do
it "sets aliased command's listing for string alias" do
new_command = subject.alias_command('new-test', 'test')
expect(new_command.options).to include(listing: 'new-test')
end

it "sets aliased command's listing for regex alias" do
new_command = subject.alias_command(/test[!?]+/, 'test')
expect(new_command.options[:listing].to_s).to eq('/test[!?]+/')
end

it "sets group for the aliased command automatically" do
new_command = subject.alias_command('new-test', 'test')
expect(new_command.group).to eq('Aliases')
Expand Down

0 comments on commit a164846

Please sign in to comment.