nextclade icon indicating copy to clipboard operation
nextclade copied to clipboard

ENH: More informative error when no value supplied to `--output-all`

Open corneliusroemer opened this issue 2 years ago • 1 comments

When using --output-all but not passing any value, the error message is not as helpful as it could be.

I would like to know what the possible values are, printing the help snippt for --output-all would be great, or suggesting directly what the values could be.

❯ RUST_BACKTRACE=full target/debug/nextclade run -D data --output-all --output-basename SAMPLENAME.very.long.basename --output-translations out/translations -t out/test.tsv
error: The argument '--output-all <OUTPUT_ALL>' requires a value but none was supplied

For more information try --help

corneliusroemer avatar Jun 29 '22 12:06 corneliusroemer

Showing this would be great:

    -O, --output-all <OUTPUT_ALL>
            Produce all of the output files into this directory, using default basename and
            predefined suffixes and extensions. This is equivalent to specifying each of the
            individual `--output-*` flags. Convenient when you want to receive all or most of output
            files into the same directory and don't care about their filenames.
            
            Output files can be optionally included or excluded using `--output-selection` flag. The
            base filename can be set using `--output-basename` flag.
            
            If both the `--output-all` and individual `--output-*` flags are provided, each
            individual flag overrides the corresponding default output path.
            
            At least one of the output flags is required: `--output-all`, `--output-fasta`,
            `--output-ndjson`, `--output-json`, `--output-csv`, `--output-tsv`, `--output-tree`,
            `--output-translations`, `--output-insertions`, `--output-errors`
            
            If the required directory tree does not exist, it will be created.

corneliusroemer avatar Jun 29 '22 12:06 corneliusroemer