use crate::internals::helpers::err_write;
use std::io::Write;
use std::process::{Command, Stdio};
pub fn pwd<W: Write, E: Write>(out: &mut W, stderr: &mut E, hook: &str) {
if hook == "default" || hook == "" {
if let Ok(pwd) = std::env::current_dir() {
let _ = write!(out, "{}\n", pwd.display());
} else {
err_write("failed to get current directory", stderr);
}
} else {
let mut child = Command::new(hook)
.arg("pwd")
.stdin(Stdio::inherit())
.stdout(Stdio::inherit())
.stderr(Stdio::inherit())
.spawn()
.expect("Failed to start");
child.wait().unwrap();
}
}