From d79fd746a96ddb5642939c9727baefce642d78e6 Mon Sep 17 00:00:00 2001 From: akbash Date: Tue, 25 Aug 2026 23:44:56 +0300 Subject: fix: require explicit workspace group close (#3206) refs #2874 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> --- src/cli/workspace.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'src/cli/workspace.rs') diff --git a/src/cli/workspace.rs b/src/cli/workspace.rs index 525fc971..c24c9b73 100644 --- a/src/cli/workspace.rs +++ b/src/cli/workspace.rs @@ -225,16 +225,19 @@ fn workspace_report_metadata(args: &[String]) -> std::io::Result { } fn workspace_close(args: &[String]) -> std::io::Result { - let Some(raw_workspace_id) = args.first() else { - eprintln!("usage: herdr workspace close "); - return Ok(2); + let (raw_workspace_id, close_group) = match args { + [workspace_id] => (workspace_id, false), + [workspace_id, flag] if flag == "--group" => (workspace_id, true), + _ => { + eprintln!("usage: herdr workspace close [--group]"); + return Ok(2); + } }; - if args.len() != 1 { - eprintln!("usage: herdr workspace close "); - return Ok(2); - } - super::runtime::workspace_close(super::normalize_workspace_id(raw_workspace_id)) + super::runtime::workspace_close(crate::api::schema::WorkspaceCloseParams { + workspace_id: super::normalize_workspace_id(raw_workspace_id), + close_group, + }) } fn print_workspace_help() { @@ -245,5 +248,5 @@ fn print_workspace_help() { eprintln!(" herdr workspace focus "); eprintln!(" herdr workspace rename