import Commander
extension ListSubcommand: CommanderSignatureProviding {
static func commanderSignature() -> CommandSignature {
CommandSignature(
flags: [
.commandFlag(
"detailed",
help: "Include detailed window information",
long: "detailed"
),
]
)
}
}
extension SwitchSubcommand: CommanderSignatureProviding {
static func commanderSignature() -> CommandSignature {
CommandSignature(
options: [
.commandOption(
"to",
help: "Space number to switch to (1-based)",
long: "to"
),
]
)
}
}
extension MoveWindowSubcommand: CommanderSignatureProviding {
static func commanderSignature() -> CommandSignature {
CommandSignature(
options: [
.commandOption(
"app",
help: "Target application name, bundle ID, or 'PID:12345'",
long: "app"
),
.commandOption(
"pid",
help: "Target application by process ID",
long: "pid"
),
.commandOption(
"windowTitle",
help: "Target window by title",
long: "window-title"
),
.commandOption(
"windowIndex",
help: "Target window by index",
long: "window-index"
),
.commandOption(
"to",
help: "Space number to move window to (1-based)",
long: "to"
),
],
flags: [
.commandFlag(
"toCurrent",
help: "Move window to current Space",
long: "to-current"
),
.commandFlag(
"follow",
help: "Switch to the target Space after moving",
long: "follow"
),
]
)
}
}