From a0ef512f42c2175bd1cb085a2888971b7a9fa05b Mon Sep 17 00:00:00 2001 From: "docelic@crystallabs.io" Date: Mon, 6 May 2019 19:58:28 +0000 Subject: [PATCH] Support separating aliases by space too FossilOrigin-Name: d43b2b7086552734bd613a9398044e9431fb6eaea16131cd45bb30cb43ab47c4 --- shelldap | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/shelldap b/shelldap index fe00883..0534ffd 100755 --- a/shelldap +++ b/shelldap @@ -1578,8 +1578,8 @@ sub run_alias } return - # If there is argument but without =, user wanted to print specific alias - } elsif($cmd_alias !~ /=/ and !@_) { + # If there is argument but without = or space, user wanted to print specific alias + } elsif($cmd_alias !~ /[=\s]/ and !@_) { my $alias = $cmd_alias; my $cmd_args = $conf->{alias}{$alias}; unless( $cmd_args) { @@ -1591,9 +1591,13 @@ sub run_alias # There is argument with =, so the line is a new alias definition } else { - my($alias, $command) = split /=/, $cmd_alias, 2; + my($alias, $command) = ($cmd_alias =~ m/^(\S+?)[=\s]?(.*)$/); + unless( $alias) { + print "Invalid syntax.\n"; + return + } $command = $cmd_map{$command}[0] if $cmd_map{$command} and $cmd_map{$command}[0]; - $conf->{alias}{$alias} = [ $command, @_ ]; + $conf->{alias}{$alias} = [ $command ? $command : (), @_ ]; } }