fswatch

Travis Codecov Crates.io Docs.rs

This is a Rust crate to integrate with the C API of libfswatch, via fswatch-sys.

```rust extern crate fswatch;

use fswatch::{Fsw, FswSession};

fn main() { // Initialize the library. This must be called before anything else can be done. Fsw::init_library().expect("Could not start fswatch");

// Create a new session. let session = FswSession::default().unwrap(); // Add a monitoring path, unwrapping any possible error. session.addpath("./").unwrap(); // Set the callback for when events are fired, unwrapping any possible error. session.setcallback(|events| { // Prettily print out the vector of events. println!("{:#?}", events); }).unwrap(); // Start the monitor, unwrapping any possible error. This will most likely be a blocking call. // See the libfswatch documentation for more information. session.start_monitor().unwrap(); } ```

```rust extern crate fswatch;

use fswatch::{Fsw, FswSessionBuilder};

fn main() { Fsw::init_library().expect("Could not start fswatch");

FswSessionBuilder::new(vec!["./"]) .buildcallback(|events| println!("{:#?}", events)) .unwrap() .startmonitor() .unwrap(); } ```

```rust extern crate fswatch;

use fswatch::{Fsw, FswSession};

fn main() { Fsw::init_library().expect("Could not start fswatch");

let session = FswSession::builder().add_path("./").build().unwrap(); for event in session { println!("{:#?}", event); } } ```