Moved the Create.Options model to its own file in the executable target.

This commit is contained in:
Javier Cicchelli 2025-01-12 03:13:42 +01:00
parent 1f738fe644
commit afa7686407
2 changed files with 22 additions and 23 deletions

View File

@ -1,6 +1,5 @@
import ArgumentParser import ArgumentParser
import ColibriLibrary import ColibriLibrary
import Foundation
extension Colibri { extension Colibri {
struct Create: AsyncParsableCommand { struct Create: AsyncParsableCommand {
@ -32,25 +31,3 @@ extension Colibri {
} }
} }
// MARK: - Options
extension Colibri.Create {
struct Options: ParsableArguments {
// MARK: Properties
@Option(name: .shortAndLong)
var name: String
@Option(name: .shortAndLong)
var location: String?
// MARK: Computed
var locationURL: URL? {
location.flatMap { URL(fileURLWithPath: $0) }
}
}
}

View File

@ -0,0 +1,22 @@
import ArgumentParser
import Foundation
extension Colibri.Create {
struct Options: ParsableArguments {
// MARK: Properties
@Option(name: .shortAndLong)
var name: String
@Option(name: .shortAndLong)
var location: String?
// MARK: Computed
var locationURL: URL? {
location.flatMap { URL(fileURLWithPath: $0) }
}
}
}