Fix CLI stripping --interactive and similar snapshot flags (#9)

* Fix --interactive flag being stripped for snapshot command

The clean_args function was removing all --prefixed arguments, which
incorrectly stripped command-specific flags like --interactive, --compact,
--depth, and --selector. Changed to only strip known global flags.

* Update Cargo.lock

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Coty Rosenblath
2026-01-11 23:17:13 -06:00
committed by GitHub
co-authored by Claude
parent 70816dc594
commit 5e94a18496
+7 -2
View File
@@ -41,6 +41,9 @@ pub fn clean_args(args: &[String]) -> Vec<String> {
let mut result = Vec::new();
let mut skip_next = false;
// Global flags that should be stripped from command args
const GLOBAL_FLAGS: &[&str] = &["--json", "--full", "--headed", "--debug"];
for arg in args.iter() {
if skip_next {
skip_next = false;
@@ -50,9 +53,11 @@ pub fn clean_args(args: &[String]) -> Vec<String> {
skip_next = true;
continue;
}
if !arg.starts_with("--") && arg != "-f" {
result.push(arg.clone());
// Only strip known global flags, not command-specific flags
if GLOBAL_FLAGS.contains(&arg.as_str()) || arg == "-f" {
continue;
}
result.push(arg.clone());
}
result
}