Library Moduleswift-argument-parser 1.5.0ArgumentParser

ArgumentParser

Straightforward, type-safe argument parsing for Swift.

ArgumentParser.md
import ArgumentParser

Module information

Declarations
223
Symbols
284

Coverage

80.3 percent of the declarations in ArgumentParser are fully documented18.8 percent of the declarations in ArgumentParser are indirectly documented0.9 percent of the declarations in ArgumentParser are completely undocumented

Declarations

60.1 percent of the declarations in ArgumentParser are initializers, type members, or enum cases15.7 percent of the declarations in ArgumentParser are instance members2.7 percent of the declarations in ArgumentParser are protocols6.3 percent of the declarations in ArgumentParser are protocol requirements6.3 percent of the declarations in ArgumentParser are default implementations9.0 percent of the declarations in ArgumentParser are structures

Interfaces

97.3 percent of the declarations in ArgumentParser are unrestricted2.7 percent of the declarations in ArgumentParser are underscored
Module stats and coverage details

Overview

By using ArgumentParser, you can create a command-line interface tool by declaring simple Swift types. Begin by declaring a type that defines the information that you need to collect from the command line. Decorate each stored property with one of ArgumentParser‘s property wrappers, declare conformance to ParsableCommand, and implement your command’s logic in its run() method. For async renditions of run, declare AsyncParsableCommand conformance instead.

import ArgumentParser

@main
struct Repeat: ParsableCommand {
    @Argument(help: "The phrase to repeat.")
    var phrase: String

    @Option(help: "The number of times to repeat 'phrase'.")
    var count: Int? = nil

    mutating func run() throws {
        let repeatCount = count ?? 2
        for _ in 0..<repeatCount {
            print(phrase)
        }
    }
}

When a user executes your command, the ArgumentParser library parses the command-line arguments, instantiates your command type, and then either calls your run() method or exits with a useful message.

The output of the Repeat command, declared above.

Additional Resources

Essentials

Arguments, Options, and Flags

Property Customization

Custom Types

Validation and Errors

Shell Completion Scripts

Advanced Topics