aboutsummaryrefslogtreecommitdiff
path: root/src/remote.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-03 01:32:22 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-03 01:32:22 +0300
commitdaf636fef7fd68bcb1e30cfb155883c3b831513c (patch)
treee3f8403b964ebb16c54cf1d0650511179e713687 /src/remote.rs
parenta1ba035707cfb3c83fad541ecd32ccbd7be58815 (diff)
fix: preserve child argv flags after separator
refs #383
Diffstat (limited to 'src/remote.rs')
-rw-r--r--src/remote.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/remote.rs b/src/remote.rs
index cd53344b..ce56ba8a 100644
--- a/src/remote.rs
+++ b/src/remote.rs
@@ -72,6 +72,10 @@ pub(crate) fn extract_remote_args(
let mut index = 1;
while index < args.len() {
let arg = &args[index];
+ if arg == "--" {
+ cleaned.extend_from_slice(&args[index..]);
+ break;
+ }
if arg == "--handoff" {
live_handoff = true;
index += 1;
@@ -1844,6 +1848,27 @@ mod tests {
}
#[test]
+ fn extract_remote_args_preserves_child_remote_options_after_separator() {
+ let args = vec![
+ "herdr".into(),
+ "agent".into(),
+ "start".into(),
+ "repro".into(),
+ "--".into(),
+ "child".into(),
+ "--remote".into(),
+ "dev".into(),
+ "--remote-keybindings=server".into(),
+ "--handoff".into(),
+ ];
+
+ let (cleaned, remote) = extract_remote_args(&args).unwrap();
+
+ assert_eq!(cleaned, args);
+ assert!(remote.is_none());
+ }
+
+ #[test]
fn extract_remote_args_preserves_handoff_without_remote() {
let args = vec!["herdr".into(), "update".into(), "--handoff".into()];