use crate::{run_command, run_std_command, tasks::cmd};
use anyhow::{Context, Result as AnyResult};
use std::process::Command;
pub fn docs() -> AnyResult<()> {
ensure_cargo_watch_installed()?;
run_command!(
cmd!("cargo", "watch", "-s", "cargo doc --no-deps"),
"Failed to execute 'cargo watch' for generating documentation"
);
Ok(())
}
pub fn ensure_cargo_watch_installed() -> AnyResult<()> {
run_std_command!(
Command::new("cargo").args(["install", "cargo-watch"]),
"Failed to install 'cargo-watch'"
);
Ok(())
}