diff --git a/lib/pry/command_set.rb b/lib/pry/command_set.rb index 70ec2e53..339e6424 100644 --- a/lib/pry/command_set.rb +++ b/lib/pry/command_set.rb @@ -193,7 +193,7 @@ class Pry 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 diff --git a/lib/pry/commands/bang.rb b/lib/pry/commands/bang.rb index ca42834e..1879c64e 100644 --- a/lib/pry/commands/bang.rb +++ b/lib/pry/commands/bang.rb @@ -6,7 +6,7 @@ class Pry match(/^\s*!\s*$/) group 'Editing' description 'Clear the input buffer.' - command_options use_prefix: false + command_options use_prefix: false, listing: '!' banner <<-'BANNER' Clear the input buffer. Useful if the parsing process goes wrong and you get diff --git a/spec/command_set_spec.rb b/spec/command_set_spec.rb index fc67d140..c5243999 100644 --- a/spec/command_set_spec.rb +++ b/spec/command_set_spec.rb @@ -185,11 +185,16 @@ RSpec.describe Pry::CommandSet do 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')