pub(crate) async fn run_watch(state: State, opts: WatchOpts) -> Result<()>