X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FGetopt%2FParser%2FDescriptive.pm;h=bc4bf577a27912ec7d3f00fb9011d6d2a79c9fd1;hb=e013a17c4eaa4b6e075aa25ea316892c4b96bb34;hp=ff05c8ff4650734b6090b5a06f8cbc6dff224632;hpb=41dd8ab334a211da41754a36bd2896ef54fd7554;p=gitmo%2FMooseX-Getopt.git diff --git a/lib/MooseX/Getopt/Parser/Descriptive.pm b/lib/MooseX/Getopt/Parser/Descriptive.pm index ff05c8f..bc4bf57 100644 --- a/lib/MooseX/Getopt/Parser/Descriptive.pm +++ b/lib/MooseX/Getopt/Parser/Descriptive.pm @@ -25,6 +25,13 @@ has format => ( default => 'usage: %c %o', ); +# Usage object +has usage => ( + is => 'rw', + isa => 'Maybe[Getopt::Long::Descriptive::Usage]', + predicate => 'has_usage', +); + sub build_options { my $self = shift; @@ -89,11 +96,14 @@ sub build_options { $getopt->extra_argv( $extra_argv ); }; + # Store usage object + $self->usage( $usage ); + # Convert cmd_flags back to names in options hashref $new_options = { map { $cmd_flags_to_names{$_} => $new_options->{$_} } keys %$new_options }; - # Include old options and usage object - $new_options = { usage => $usage, %$options, %$new_options }; + # Include old options + $new_options = { %$options, %$new_options }; $getopt->status( ! $warnings ); $getopt->options( $new_options );