From 04d0f78a2c3f326eae80c92ee6c83765bd4ce11e Mon Sep 17 00:00:00 2001
From: Shaun Bennett <me@phinary.ca>
Date: Wed, 6 Mar 2019 18:38:55 +0000
Subject: [PATCH] Fix file watching for vim swap files

---
 src/main.rs | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 8f9ccea..de13f1c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -3,6 +3,7 @@ use crate::verify::verify;
 use clap::{crate_version, App, Arg, SubCommand};
 use notify::DebouncedEvent;
 use notify::{RecommendedWatcher, RecursiveMode, Watcher};
+use std::ffi::OsStr;
 use std::io::BufRead;
 use std::sync::mpsc::channel;
 use std::time::Duration;
@@ -85,8 +86,10 @@ fn watch() -> notify::Result<()> {
     loop {
         match rx.recv() {
             Ok(event) => match event {
-                DebouncedEvent::Chmod(_) | DebouncedEvent::Write(_) => {
-                    let _ignored = verify();
+                DebouncedEvent::Create(b) | DebouncedEvent::Chmod(b) | DebouncedEvent::Write(b) => {
+                    if b.extension() == Some(OsStr::new("rs")) {
+                        let _ignored = verify();
+                    }
                 }
                 _ => {}
             },