33 lines
758 B
Swift
33 lines
758 B
Swift
import ArgumentParser
|
|
import CliClient
|
|
import Dependencies
|
|
|
|
// TODO: Need to add a step to build prior to generating file.
|
|
|
|
struct GeneratePdfCommand: AsyncParsableCommand {
|
|
static let commandName = "pdf"
|
|
|
|
static let configuration = CommandConfiguration(
|
|
commandName: commandName
|
|
)
|
|
|
|
@Option(
|
|
name: [.customShort("e"), .customLong("engine")],
|
|
help: "The pdf engine to use."
|
|
)
|
|
var pdfEngine: String?
|
|
|
|
@OptionGroup var globals: GenerateOptions
|
|
|
|
mutating func run() async throws {
|
|
@Dependency(\.cliClient) var cliClient
|
|
|
|
let output = try await cliClient.runPandocCommand(
|
|
globals.pandocOptions(.pdf(engine: pdfEngine)),
|
|
logging: globals.loggingOptions(commandName: Self.commandName)
|
|
)
|
|
|
|
print(output)
|
|
}
|
|
}
|