48 lines
1.4 KiB
Swift
48 lines
1.4 KiB
Swift
import ArgumentParser
|
|
import DoxyLibrary
|
|
import Logging
|
|
|
|
extension Doxy {
|
|
/// An option type that contains all the possible parameters that can be provided to the application.
|
|
struct Options: AppArguments, ParsableArguments {
|
|
|
|
// MARK: Properties
|
|
|
|
/// A path to the location of the DocC archives in the local file system.
|
|
@Option(
|
|
name: .long,
|
|
help: "A path to the location of the DocC archives in the local file system."
|
|
)
|
|
var archivesPath: String
|
|
|
|
/// A hostname to bind the application to.
|
|
@Option(
|
|
name: .long,
|
|
help: "A hostname to bind the application to. Defaults to `127.0.0.1`."
|
|
)
|
|
var hostname: String = "127.0.0.1"
|
|
|
|
/// A log level to set the logger service in the application.
|
|
@Option(
|
|
name: .long,
|
|
help: "A log level to set the logger service in the application."
|
|
)
|
|
var logLevel: Logger.Level?
|
|
|
|
/// A name for the Hummingbird application.
|
|
@Option(
|
|
name: .long,
|
|
help: "A name for the Hummingbird application. Defaults to `Doxy`."
|
|
)
|
|
var name: String = "Doxy"
|
|
|
|
/// A port number to bind the application to.
|
|
@Option(
|
|
name: .long,
|
|
help: "A port number to bind the application to. Defaults to `8080`."
|
|
)
|
|
var port: Int = 8080
|
|
|
|
}
|
|
}
|