pub fn run_watcher_thread<W, E, F>(
config: WatcherFilterConfig,
extra_watch_paths: Vec<PathBuf>,
matcher: SharedGitignore,
matcher_generation: Arc<AtomicU64>,
dispatch_tx: Sender<WatcherDispatchEvent>,
shutdown: Arc<AtomicBool>,
attach: F,
)