| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //===----------------------------------------------------------------------===//
- //
- // This source file is part of the Swift Argument Parser open source project
- //
- // Copyright (c) 2020 Apple Inc. and the Swift project authors
- // Licensed under Apache License v2.0 with Runtime Library Exception
- //
- // See https://swift.org/LICENSE.txt for license information
- //
- //===----------------------------------------------------------------------===//
- /// Gets thrown while parsing and will be handled by the error output generation.
- enum ParserError: Error {
- case helpRequested(visibility: ArgumentVisibility)
- case versionRequested
- case dumpHelpRequested
- case completionScriptRequested(shell: String?)
- case completionScriptCustomResponse(String)
- case unsupportedShell(String? = nil)
- case notImplemented
- case invalidState
- case unknownOption(InputOrigin.Element, Name)
- case invalidOption(String)
- case nonAlphanumericShortOption(Character)
- /// The option was there, but its value is missing, e.g. `--name` but no value for the `name`.
- case missingValueForOption(InputOrigin, Name)
- case missingValueOrUnknownCompositeOption(InputOrigin, Name, Name)
- case unexpectedValueForOption(InputOrigin.Element, Name, String)
- case unexpectedExtraValues([(InputOrigin, String)])
- case duplicateExclusiveValues(
- previous: InputOrigin, duplicate: InputOrigin, originalInput: [String])
- /// We need a value for the given key, but it’s not there. Some non-optional option or argument is missing.
- case noValue(forKey: InputKey)
- case unableToParseValue(
- InputOrigin, Name?, String, forKey: InputKey, originalError: Error?)
- case missingSubcommand
- case userValidationError(Error)
- case noArguments(Error)
- case notParentCommand(String)
- }
- /// These are errors used internally to the parsing, and will not be exposed to the help generation.
- enum InternalParseError: Error {
- case wrongType(valueRepresentation: String, forKey: InputKey)
- case subcommandNameMismatch
- case subcommandLevelMismatch(Int, Int)
- case subcommandLevelMissing(Int)
- case subcommandLevelDuplicated(Int)
- case expectedCommandButNoneFound
- }
|