diff --git a/lib/pry/command_set.rb b/lib/pry/command_set.rb index 70ec2e532..339e6424b 100644 --- a/lib/pry/command_set.rb +++ b/lib/pry/command_set.rb @@ -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 diff --git a/lib/pry/commands/bang.rb b/lib/pry/commands/bang.rb index ca42834ed..1879c64eb 100644 --- a/lib/pry/commands/bang.rb +++ b/lib/pry/commands/bang.rb @@ -6,7 +6,7 @@ class Bang < Pry::ClassCommand 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 fc67d1409..c52439991 100644 --- a/spec/command_set_spec.rb +++ b/spec/command_set_spec.rb @@ -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')