From c98bea31189e4f9178f2790723187769507798d7 Mon Sep 17 00:00:00 2001 From: Bruce Guenter Date: Thu, 8 Feb 2018 12:16:01 -0600 Subject: [PATCH] Fix default ignore for vim temporary files .swp files are created by vim to store editing state while a file is open. However, it may also create .swo, .swn, etc files if .swp already exists. Also, the temporary files are always hidden (start with "."). Finally, vim temporarily creates .swpx files as well which are caught by inotify. This change fixes the *.swp pattern to only match hidden files and to match the other vim temporary files. --- doc/watchexec.1 | 2 +- src/cli.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/watchexec.1 b/doc/watchexec.1 index 775edb5..d5e28f8 100644 --- a/doc/watchexec.1 +++ b/doc/watchexec.1 @@ -71,7 +71,7 @@ Skip loading of version control system (VCS) ignore files\. By default, watchexe . .TP \fB\-\-no\-default\-ignore\fR -Skip default ignore statements\. By default, watchexec ignores common temporary files for you, for example \fB*\.swp\fR, \fB*\.pyc\fR, and \fB\.DS_Store\fR +Skip default ignore statements\. By default, watchexec ignores common temporary files for you, for example \fB.*\.swp\fR, \fB*\.pyc\fR, and \fB\.DS_Store\fR . .SH "ENVIRONMENT" Processes started by watchexec have the \fB$WATCHEXEC_UPDATED_PATH\fR environment variable set to the path of the first modification observed\. In addition, the \fB$WATCHEXEC_COMMON_PATH\fR environment variable is set to the common path of all observed modifications\. diff --git a/src/cli.rs b/src/cli.rs index 837c945..a59a848 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -147,7 +147,8 @@ pub fn get_args() -> Args { let mut ignores = vec![]; let default_ignores = vec![format!("**{}.DS_Store", MAIN_SEPARATOR), String::from("*.pyc"), - String::from("*.swp"), + String::from(".*.sw?"), + String::from(".*.sw?x"), format!("**{}.git{}**", MAIN_SEPARATOR, MAIN_SEPARATOR), format!("**{}.hg{}**", MAIN_SEPARATOR, MAIN_SEPARATOR), format!("**{}.svn{}**", MAIN_SEPARATOR, MAIN_SEPARATOR)];