Files
Rauhul Varma 10d80282e5 Enable swift-format checking (#711)
Adopts the common swift-mmio and swift-argument-parser format and enables CI checking.

Fixes: #702
2025-02-10 14:58:19 -08:00

51 lines
2.0 KiB
Swift
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//===----------------------------------------------------------*- swift -*-===//
//
// 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 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)
}
/// 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
}