/hotwatch

A Rust library for conveniently watching and handling file changes.

Primary LanguageRustApache License 2.0Apache-2.0

hotwatch

Crates.io Docs.rs CI Status

hotwatch is a Rust library for comfortably watching and handling file changes. It's a thin convenience wrapper over notify, allowing you to easily set callbacks for each path you want to watch.

Only the latest stable version of Rust is supported.

use hotwatch::{Hotwatch, Event, EventKind};

let mut hotwatch = Hotwatch::new().expect("hotwatch failed to initialize!");
hotwatch.watch("war.png", |event: Event| {
    if let EventKind::Modify(_) = event.kind {
        println!("War has changed.");
    }
}).expect("failed to watch file!");

Why should I use this instead of warmy?

warmy is a more general solution for responding to resource changes. hotwatch is very simplistic and intends to be trivial to integrate.

I've never actually used warmy, though. It's probably awesome. I just know that hotwatch is really easy to use and has a sexy name.