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")
}