32 lines
628 B
Swift
32 lines
628 B
Swift
import ArgumentParser
|
|
|
|
struct EncryptCommand: AsyncParsableCommand {
|
|
|
|
static let commandName = "encrypt"
|
|
|
|
static let configuration = CommandConfiguration(
|
|
commandName: commandName,
|
|
abstract: createAbstract("Encrypt a vault file.")
|
|
)
|
|
|
|
@OptionGroup var options: VaultOptions
|
|
|
|
@Option(
|
|
name: .shortAndLong,
|
|
help: "Output file."
|
|
)
|
|
var output: String?
|
|
|
|
mutating func run() async throws {
|
|
var args = ["encrypt"]
|
|
if let output {
|
|
args.append(contentsOf: ["--output", output])
|
|
}
|
|
try await runVault(
|
|
commandName: Self.commandName,
|
|
options: options,
|
|
args
|
|
)
|
|
}
|
|
}
|