public struct MoveWorkspaceToMonitorCmdArgs: CmdArgs { /*conforms*/ public var commonState: CmdArgsCommonState public init(rawArgs: StrArrSlice) { self.commonState = .init(rawArgs) } public static let parser: CmdParser = .init( kind: .moveWorkspaceToMonitor, help: move_workspace_to_monitor_help_generated, flags: [ "--wrap-around": trueBoolFlag(\.wrapAround), "--workspace": workspaceSubArgParser(), ], posArgs: [ dashDashArg(mandatory: false), newMandatoryPosArgParser(\.target, parseMonitorTarget, placeholder: MonitorTarget.cases.joinedCliArgs), ], ) public var wrapAround: Bool = false public var target: Lateinit = .uninitialized } func parseWorkspaceToMonitorCmdArgs(_ args: StrArrSlice) -> ParsedCmd { parseSpecificCmdArgs(MoveWorkspaceToMonitorCmdArgs(rawArgs: args), args) .filter("--wrap-around is incompatible with argument") { $0.wrapAround.implies(!$0.target.val.isPatterns) } }