| use crate::OpenError; |
| use std::ffi::OsStr; |
| use std::process::{Command, Stdio}; |
| |
| pub(crate) fn open(path: &OsStr) -> Result<(), OpenError> { |
| let mut open = Command::new("open") |
| .arg(path) |
| .stdin(Stdio::null()) |
| .stdout(Stdio::null()) |
| .stderr(Stdio::piped()) |
| .spawn() |
| .map_err(OpenError::Io)?; |
| |
| crate::wait_child(&mut open, "open") |
| } |
| |
| #[cfg(feature = "reveal")] |
| pub(crate) fn reveal(path: &std::path::Path) -> Result<(), OpenError> { |
| let mut open = Command::new("open") |
| .arg("-R") |
| .arg("--") |
| .arg(path) |
| .stdin(Stdio::null()) |
| .stdout(Stdio::null()) |
| .stderr(Stdio::piped()) |
| .spawn() |
| .map_err(OpenError::Io)?; |
| |
| crate::wait_child(&mut open, "open") |
| } |