From e9ec6792cb29731713099a56468f2c298e4aa92b Mon Sep 17 00:00:00 2001 From: John Gee Date: Mon, 19 Dec 2022 22:48:10 +1300 Subject: [PATCH] Add support for showing global options in Help --- index.d.ts | 7 ++++++- tests/commander.test-d.ts | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 53fe33d..7a3b901 100644 --- a/index.d.ts +++ b/index.d.ts @@ -358,7 +358,8 @@ export class CommanderError extends Error { helpWidth?: number; sortSubcommands: boolean; sortOptions: boolean; - + showGlobalOptions: boolean; + constructor(); /** Get the command term to show in the list of subcommands. */ @@ -383,6 +384,8 @@ export class CommanderError extends Error { visibleCommands(cmd: CommandUnknownOpts): CommandUnknownOpts[]; /** Get an array of the visible options. Includes a placeholder for the implicit help option, if there is one. */ visibleOptions(cmd: CommandUnknownOpts): Option[]; + /** Get an array of the visible global options. (Not including help.) */ + visibleGlobalOptions(cmd: CommandUnknownOpts): Option[]; /** Get an array of the arguments which have descriptions. */ visibleArguments(cmd: CommandUnknownOpts): Argument[]; @@ -390,6 +393,8 @@ export class CommanderError extends Error { longestSubcommandTermLength(cmd: CommandUnknownOpts, helper: Help): number; /** Get the longest option term length. */ longestOptionTermLength(cmd: CommandUnknownOpts, helper: Help): number; + /** Get the longest global option term length. */ + longestGlobalOptionTermLength(cmd: CommandUnknownOpts, helper: Help): number; /** Get the longest argument term length. */ longestArgumentTermLength(cmd: CommandUnknownOpts, helper: Help): number; /** Calculate the pad width from the maximum term length. */ diff --git a/tests/commander.test-d.ts b/tests/commander.test-d.ts index f941cbc..874727b 100644 --- a/tests/commander.test-d.ts +++ b/tests/commander.test-d.ts @@ -385,6 +385,7 @@ const helperArgument = new commander.Argument(''); expectType(helper.helpWidth); expectType(helper.sortSubcommands); expectType(helper.sortOptions); +expectType(helper.showGlobalOptions); expectType(helper.subcommandTerm(helperCommand)); expectType(helper.commandUsage(helperCommand)); @@ -397,10 +398,12 @@ expectType(helper.argumentDescription(helperArgument)); expectType(helper.visibleCommands(helperCommand)); expectType(helper.visibleOptions(helperCommand)); +expectType(helper.visibleGlobalOptions(helperCommand)); expectType(helper.visibleArguments(helperCommand)); expectType(helper.longestSubcommandTermLength(helperCommand, helper)); expectType(helper.longestOptionTermLength(helperCommand, helper)); +expectType(helper.longestGlobalOptionTermLength(helperCommand, helper)); expectType(helper.longestArgumentTermLength(helperCommand, helper)); expectType(helper.padWidth(helperCommand, helper));