diff --git a/Sources/ArgumentParser/Parsable Types/ParsableArguments.swift b/Sources/ArgumentParser/Parsable Types/ParsableArguments.swift index a93308b3..354d944b 100644 --- a/Sources/ArgumentParser/Parsable Types/ParsableArguments.swift +++ b/Sources/ArgumentParser/Parsable Types/ParsableArguments.swift @@ -25,7 +25,15 @@ public protocol ParsableArguments: Decodable, _SendableMetatype { mutating func validate() throws /// The label to use for "Error: ..." messages from this type (experimental). + /// + /// Can be ignored if `_errorPrefix`'s is changed. + @available(*, deprecated, message: "Use _errorPrefix instead.") static var _errorLabel: String { get } + + /// The prefix to use for "Error: ..." messages from this type (experimental). + /// + /// Defaults to `"\(_errorLabel): "`. + static var _errorPrefix: String { get } } /// A type that provides the `ParsableCommand` interface to a `ParsableArguments` type. @@ -60,6 +68,13 @@ extension ParsableArguments { public static var _errorLabel: String { "Error" } + + /// The prefix to use for "Error: ..." messages from this type (experimental). + /// + /// Defaults to `"\(_errorLabel): "`. + public static var _errorPrefix: String { + "\(_errorLabel): " + } } // MARK: - API diff --git a/Sources/ArgumentParser/Usage/MessageInfo.swift b/Sources/ArgumentParser/Usage/MessageInfo.swift index 8bf4528c..5e17f059 100644 --- a/Sources/ArgumentParser/Usage/MessageInfo.swift +++ b/Sources/ArgumentParser/Usage/MessageInfo.swift @@ -164,10 +164,10 @@ enum MessageInfo { case .validation(let message, let usage, let help): let helpMessage = help.isEmpty ? "" : "Help: \(help)\n" let errorMessage = - message.isEmpty ? "" : "\(args._errorLabel): \(message)\n" + message.isEmpty ? "" : "\(args._errorPrefix)\(message)\n" return errorMessage + helpMessage + usage case .other(let message, _): - return message.isEmpty ? "" : "\(args._errorLabel): \(message)" + return message.isEmpty ? "" : "\(args._errorPrefix)\(message)" } }