ArgumentParser
Straightforward, type-safe argument parsing for Swift.
import ArgumentParser
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.
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?
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.