synaps_cli/core/auth/
browser.rs1pub fn open_browser(url: &str) -> std::result::Result<(), String> {
3 #[cfg(target_os = "linux")]
4 {
5 std::process::Command::new("xdg-open")
6 .arg(url)
7 .stdout(std::process::Stdio::null())
8 .stderr(std::process::Stdio::null())
9 .spawn()
10 .map_err(|e| format!("Failed to open browser: {}", e))?;
11 }
12
13 #[cfg(target_os = "macos")]
14 {
15 std::process::Command::new("open")
16 .arg(url)
17 .stdout(std::process::Stdio::null())
18 .stderr(std::process::Stdio::null())
19 .spawn()
20 .map_err(|e| format!("Failed to open browser: {}", e))?;
21 }
22
23 #[cfg(target_os = "windows")]
24 {
25 std::process::Command::new("cmd")
26 .args(["/c", "start", url])
27 .stdout(std::process::Stdio::null())
28 .stderr(std::process::Stdio::null())
29 .spawn()
30 .map_err(|e| format!("Failed to open browser: {}", e))?;
31 }
32
33 Ok(())
34}