From c888d26e6e901d56bfb5964adff833888fe600e5 Mon Sep 17 00:00:00 2001 From: Tjerk Wolterink Date: Wed, 15 Feb 2023 10:06:45 +0100 Subject: [PATCH] Allow passing printHelpOnEmptyArgs to ArgParser This makes it easier to use the commands, cause it will print the help text when you set printHelpOnEmptyArgs = true --- core/commonMain/src/ArgParser.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/commonMain/src/ArgParser.kt b/core/commonMain/src/ArgParser.kt index 0338bec..60b6782 100644 --- a/core/commonMain/src/ArgParser.kt +++ b/core/commonMain/src/ArgParser.kt @@ -103,7 +103,8 @@ open class ArgParser( var useDefaultHelpShortName: Boolean = true, var prefixStyle: OptionPrefixStyle = OptionPrefixStyle.LINUX, var skipExtraArguments: Boolean = false, - var strictSubcommandOptionsOrder: Boolean = false + var strictSubcommandOptionsOrder: Boolean = false, + var printHelpOnEmptyArgs: Boolean = false ) { /** @@ -532,6 +533,10 @@ open class ArgParser( protected fun parse(args: List): ArgParserResult { check(parsingState == null) { "Parsing of command line options can be called only once." } + if (args.isEmpty() && printHelpOnEmptyArgs) { + outputAndTerminate(makeUsage(), 0) + } + // Add help option. val helpDescriptor = if (useDefaultHelpShortName) OptionDescriptor( optionFullFormPrefix,