Skip to content

Commit a836797

Browse files
authored
Add ParsableArguments#_errorPrefix to allow a more-customized error prefix than ParsableArguments#_errorLabel. (#837)
1 parent 6d473ea commit a836797

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

Sources/ArgumentParser/Parsable Types/ParsableArguments.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,15 @@ public protocol ParsableArguments: Decodable, _SendableMetatype {
2525
mutating func validate() throws
2626

2727
/// The label to use for "Error: ..." messages from this type (experimental).
28+
///
29+
/// Can be ignored if `_errorPrefix`'s is changed.
30+
@available(*, deprecated, message: "Use _errorPrefix instead.")
2831
static var _errorLabel: String { get }
32+
33+
/// The prefix to use for "Error: ..." messages from this type (experimental).
34+
///
35+
/// Defaults to `"\(_errorLabel): "`.
36+
static var _errorPrefix: String { get }
2937
}
3038

3139
/// A type that provides the `ParsableCommand` interface to a `ParsableArguments` type.
@@ -60,6 +68,13 @@ extension ParsableArguments {
6068
public static var _errorLabel: String {
6169
"Error"
6270
}
71+
72+
/// The prefix to use for "Error: ..." messages from this type (experimental).
73+
///
74+
/// Defaults to `"\(_errorLabel): "`.
75+
public static var _errorPrefix: String {
76+
"\(_errorLabel): "
77+
}
6378
}
6479

6580
// MARK: - API

Sources/ArgumentParser/Usage/MessageInfo.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ enum MessageInfo {
164164
case .validation(let message, let usage, let help):
165165
let helpMessage = help.isEmpty ? "" : "Help: \(help)\n"
166166
let errorMessage =
167-
message.isEmpty ? "" : "\(args._errorLabel): \(message)\n"
167+
message.isEmpty ? "" : "\(args._errorPrefix)\(message)\n"
168168
return errorMessage + helpMessage + usage
169169
case .other(let message, _):
170-
return message.isEmpty ? "" : "\(args._errorLabel): \(message)"
170+
return message.isEmpty ? "" : "\(args._errorPrefix)\(message)"
171171
}
172172
}
173173

0 commit comments

Comments
 (0)