30 lines
794 B
Swift
30 lines
794 B
Swift
import ArgumentParser
|
|
import CliClient
|
|
import CliDoc
|
|
import Dependencies
|
|
import Foundation
|
|
import ShellClient
|
|
|
|
struct GenerateCommand: CommandRepresentable {
|
|
static let commandName = "generate"
|
|
|
|
static let configuration: CommandConfiguration = .init(
|
|
commandName: Self.commandName,
|
|
abstract: Abstract.default("Generates a version file in your project."),
|
|
usage: Usage.default(commandName: Self.commandName),
|
|
discussion: Discussion.default(
|
|
examples: [
|
|
makeExample(label: "Basic usage.", example: "")
|
|
]
|
|
) {
|
|
"This command can be interacted with directly, outside of the plugin usage context."
|
|
}
|
|
)
|
|
|
|
@OptionGroup var globals: GlobalOptions
|
|
|
|
func run() async throws {
|
|
try await globals.run(\.generate, command: Self.commandName)
|
|
}
|
|
}
|