From 52c9c1f62e7d699059b24f61c4eb87e8d6d0ab60 Mon Sep 17 00:00:00 2001 From: Aniket Date: Tue, 6 Oct 2026 08:19:14 +0000 Subject: [PATCH] Use visibility.base for .longWithSingleDash help names Signed-off-by: Aniket --- Sources/ArgumentParser/Usage/HelpGenerator.swift | 2 +- .../HelpTests.swift | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Sources/ArgumentParser/Usage/HelpGenerator.swift b/Sources/ArgumentParser/Usage/HelpGenerator.swift index 1f3d1774c..d2449812b 100644 --- a/Sources/ArgumentParser/Usage/HelpGenerator.swift +++ b/Sources/ArgumentParser/Usage/HelpGenerator.swift @@ -450,7 +450,7 @@ extension NameSpecification { case .long(let helpName): return .long("\(helpName)-\(visibility.base)") case .longWithSingleDash(let helpName): - return .longWithSingleDash("\(helpName)-\(visibility)") + return .longWithSingleDash("\(helpName)-\(visibility.base)") case .short: // Cannot create a non-default help flag from a short name. return nil diff --git a/Tests/ArgumentParserPackageManagerTests/HelpTests.swift b/Tests/ArgumentParserPackageManagerTests/HelpTests.swift index c9af23bf0..96bae3561 100644 --- a/Tests/ArgumentParserPackageManagerTests/HelpTests.swift +++ b/Tests/ArgumentParserPackageManagerTests/HelpTests.swift @@ -199,6 +199,12 @@ struct CustomHelp: ParsableCommand { ) } +struct SingleDashCustomHelp: ParsableCommand { + static let configuration = CommandConfiguration( + helpNames: [.customLong("show-help", withSingleDash: true)] + ) +} + extension HelpTests { @Test func customHelpNames() { let helpNames = [CustomHelp.self].getHelpNames(visibility: .default) @@ -214,6 +220,15 @@ extension HelpTests { See 'custom-help --show-help' for more information. """) } + + @Test func singleDashCustomHelpNamesUseVisibilityBase() { + let helpNames = [SingleDashCustomHelp.self].getHelpNames( + visibility: .default) + #expect(helpNames == [.longWithSingleDash("show-help")]) + let helpHiddenNames = [SingleDashCustomHelp.self].getHelpNames( + visibility: .hidden) + #expect(helpHiddenNames == [.longWithSingleDash("show-help-hidden")]) + } } struct NoHelp: ParsableCommand {