Moose->throw_error('First argument is not a MooseX::Getopt::Session')
unless $getopt->isa('MooseX::Getopt::Session');
- my ($options, $usage);
- my @opts;
+ my $options = {};
+ my $usage;
+ my (@opts, %cmd_flags_to_names);
foreach my $attr (@attrs) {
my $name = $attr->name;
my ($flag, @aliases) = $getopt->_get_cmd_flags_for_attr($attr);
my $type = $getopt->_get_cmd_type_for_attr($attr);
+ $cmd_flags_to_names{$flag} = $name;
+
my $opt_string = join '|', $flag, @aliases;
$opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type);
$getopt->extra_argv( $extra_argv );
};
+ # Convert cmd_flags back to names in options hashref
+ $options = {
+ map {
+ $cmd_flags_to_names{$_} => $options->{$_}
+ } keys %$options,
+ };
+
#%options = map { $_ => $options{$_} } grep { defined $options{$_} } keys %options;
- $getopt->options( defined $options ? $options : {} );
+ $getopt->options( $options );
### MooseX::Getopt::Parser::Descriptive::build_options $options : $options
### MooseX::Getopt::Parser::Descriptive::build_options $usage : $usage
### MooseX::Getopt::Parser::Descriptive::build_options $getopt->status : $getopt->status
- die join '', $getopt->warning
- if $getopt->die_on_warning && ($getopt->has_warning || !$getopt->status);
+ die join '', $getopt->warning if ($getopt->has_warning || !$getopt->status);
return $options;
};