Refactored readArguments

This commit is contained in:
Emmanuel BENOîT 2022-10-30 10:13:59 +01:00
parent b17a9b8713
commit 98bf21fc88

View file

@ -911,23 +911,24 @@ EOF
sub readArguments sub readArguments
{ {
printBashInit if @ARGV == 1 && $ARGV[0] eq 'init'; return {} unless @ARGV;
my $state = {}; my $state = {};
if (@ARGV == 1 && $ARGV[0] =~ /^\d+$/) { if ($ARGV[0] eq 'init') {
printBashInit; # (will exit)
} elsif ($ARGV[0] =~ /^\d+$/) {
# Backward compatibility # Backward compatibility
$INPUT{rc} = $ARGV[0]; $INPUT{rc} = $ARGV[0];
} else { } else {
if (@ARGV && $ARGV[0] eq 'prevstate') { foreach my $arg (@ARGV) {
shift @ARGV; if ($arg eq 'prevstate') {
$state = eval $ENV{GPROMPT_STATE}; $state = eval $ENV{GPROMPT_STATE};
$state = {} if $!; $state = {} if $!;
} } elsif ($arg =~ /^([a-z]+):(.*)$/) {
foreach my $arg (@ARGV) {
next unless $arg =~ /^([a-z]+):(.*)$/;
$INPUT{$1} = $2; $INPUT{$1} = $2;
} }
} }
}
return $state; return $state;
} }