Merge pull request #117 from shaunbennett/master

Watch for file creation events in watch mode
This commit is contained in:
komaeda 2019-03-06 20:28:29 +01:00 committed by GitHub
commit 7d6e2812fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 2 deletions

View File

@ -3,6 +3,7 @@ use crate::verify::verify;
use clap::{crate_version, App, Arg, SubCommand}; use clap::{crate_version, App, Arg, SubCommand};
use notify::DebouncedEvent; use notify::DebouncedEvent;
use notify::{RecommendedWatcher, RecursiveMode, Watcher}; use notify::{RecommendedWatcher, RecursiveMode, Watcher};
use std::ffi::OsStr;
use std::io::BufRead; use std::io::BufRead;
use std::sync::mpsc::channel; use std::sync::mpsc::channel;
use std::time::Duration; use std::time::Duration;
@ -85,9 +86,11 @@ fn watch() -> notify::Result<()> {
loop { loop {
match rx.recv() { match rx.recv() {
Ok(event) => match event { Ok(event) => match event {
DebouncedEvent::Chmod(_) | DebouncedEvent::Write(_) => { DebouncedEvent::Create(b) | DebouncedEvent::Chmod(b) | DebouncedEvent::Write(b) => {
if b.extension() == Some(OsStr::new("rs")) {
let _ignored = verify(); let _ignored = verify();
} }
}
_ => {} _ => {}
}, },
Err(e) => println!("watch error: {:?}", e), Err(e) => println!("watch error: {:?}", e),