public struct SwapCmdArgs: CmdArgs { /*conforms*/ public var commonState: CmdArgsCommonState public init(rawArgs: StrArrSlice) { self.commonState = .init(rawArgs) } public static let parser: CmdParser = .init( kind: .swap, help: swap_help_generated, flags: [ "--swap-focus": trueBoolFlag(\.swapFocus), "--wrap-around": trueBoolFlag(\.wrapAround), "--window-id": windowIdSubArgParser(), ], posArgs: [newMandatoryPosArgParser(\.target, parseCardinalOrDfsDirection, placeholder: CardinalOrDfsDirection.unionLiteral)], ) public var target: Lateinit = .uninitialized public var swapFocus: Bool = false public var wrapAround: Bool = false } func parseSwapCmdArgs(_ args: StrArrSlice) -> ParsedCmd { return parseSpecificCmdArgs(SwapCmdArgs(rawArgs: args), args) }