events.rs

 1#[cfg(target_os = "macos")]
 2fn main() {
 3    use fsevent::EventStream;
 4    use std::{env::args, path::Path, time::Duration};
 5
 6    let paths = args().skip(1).collect::<Vec<_>>();
 7    let paths = paths.iter().map(Path::new).collect::<Vec<_>>();
 8    assert!(!paths.is_empty(), "Must pass 1 or more paths as arguments");
 9
10    let (stream, _handle) = EventStream::new(&paths, Duration::from_millis(100));
11    stream.run(|events| {
12        eprintln!("event batch");
13        for event in events {
14            eprintln!("  {:?}", event);
15        }
16        true
17    });
18}
19
20#[cfg(not(target_os = "macos"))]
21fn main() {
22    eprintln!("This example only works on macOS");
23}