Cross-platform filesystem notification library for Rust.
toml
[dependencies]
notify = "1.0"
Notify uses semver, so only major versions break backward compatibility. While Rust hasn't reached 1.0, compatibility breaks through language evolution are ignored and counted as bugfixes; the compatibility is for this API only.
```rust extern crate notify;
use notify::{RecommendedWatcher, Error, Watcher};
fn main() { // Create a channel to receive the events. let (tx, rx) = channel();
// Automatically select the best implementation for your platform.
// You can also access each implementation directly e.g. PollWatcher.
let mut w: Result
match w { Ok(mut watcher) => { // Add a path to be watched. All files and directories at that path and // below will be monitored for changes. watcher.watch(&Path::new("/home/test/notify"));
// You'll probably want to do that in a loop. The type to match for is
// notify::Event, look at src/lib.rs for details.
match rx.recv() {
_ => println!("Recv.")
}
},
Err(e) => println!("Error")
} } ```
op::WRITE
)op::WRITE
sTODO
comments in the code for moreInspired by Go's fsnotify, born out of need for cargo watch, and general frustration at the non-existence of C/Rust cross-platform notify libraries.
Written from scratch by Félix Saparelli, and released in the Public Domain.