doxy/App/Sources/Options/DoxyOptions.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
}
}