pub mod browse;
pub mod config_cmd;
pub mod init;
pub mod lookup;
pub mod status;
pub mod sync;
pub mod watch;
use crate::config::VyctorConfig;
use crate::daemon::{is_daemon_running, log_file_path, start_daemon};
use anyhow::Result;
use colored::Colorize;
use std::path::Path;
pub fn ensure_daemon_running(root: &Path, config: &VyctorConfig) -> Result<()> {
if !config.watch.auto_start {
return Ok(());
}
if is_daemon_running(root).is_some() {
return Ok(());
}
match start_daemon(root, config.watch.debounce_ms) {
Ok(pid) => {
println!("{} Started watcher daemon (PID {})", "→".cyan(), pid);
println!(" Log file: {}", log_file_path(root).display());
Ok(())
}
Err(e) => {
eprintln!("{} Could not start watcher daemon: {}", "!".yellow(), e);
Ok(())
}
}
}