// // ColorToolOptions.swift // // // Created by Thibaut Schmitt on 17/01/2022. // import Foundation import ArgumentParser struct ColorToolOptions: ParsableArguments { @Flag(name: [.customShort("f"), .customShort("F")], help: "Should force generation") var forceGeneration = false @Argument(help: "Input files where colors ared defined.", transform: { $0.replaceTiltWithHomeDirectoryPath() }) var inputFile: String @Option(help: "Color style to generate: light for light colors only, or all for dark and light colors") fileprivate var style: String @Option(help: "Path of xcassets where to generate colors", transform: { $0.replaceTiltWithHomeDirectoryPath() }) var xcassetsPath: String @Option(help: "Path where to generate the extension.", transform: { $0.replaceTiltWithHomeDirectoryPath() }) var extensionOutputPath: String @Option(help: "Extension name. If not specified, it will generate an UIColor extension. Using default extension name will generate static property.") var extensionName: String = ColorTool.defaultExtensionName @Option(help: "Extension suffix. Ex: MyApp, it will generate {extensionName}+ColorsMyApp.swift") var extensionSuffix: String = "" } extension ColorToolOptions { var colorStyle: ColorStyle { ColorStyle(rawValue: style) ?? .all } }