Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fwatch

fwatch is a file watching library written in Rust.


Installation

Add this to your Cargo.toml:

[dependencies]
fwatch = "0.1"

Basic Usage

The following example sets up a Watcher to observe any changes (called Transition's in fwatch) to foo.txt and bar.txt. The currently available transitions are Created, Modified, Deleted, and None.

Instead of BasicTarget, any struct implementing the Watchable trait can be used below.

use fwatch::{BasicTarget, Watcher, Transition};

fn main() {
    let mut watcher : Watcher<BasicTarget> = Watcher::new();

    // Add a couple of files to watch
    watcher.add_target(BasicTarget::new("foo.txt"));
    watcher.add_target(BasicTarget::new("bar.txt"));
    
    // Calling watcher.watch() returns a vector of Transitions, 
    // teling us if any of the watched files have undergone a
    // transition since the previous call to watcher.watch()
    for (index, transition) in watcher.watch().into_iter().enumerate() {
        // Get the path and state of the current target
        let path = watcher.get_path(index).unwrap();
        let state = watcher.get_state(index).uwnrap();

        // Do something based on the observed transition.
        match transition {
            Transition::Created => { 
            /* The watched file has been created */ 
            },
            Transition::Modified => { 
            /* The watched file has been modified */ 
            },
            Transition::Deleted => { 
            /* The watched file has been deleted */ 
            },
            Transition::None => { 
            /* None of the above transitions were observed */ 
            },
        }
    }
}

License

Licensed under either of

About

A file watching library written in Rust.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages