Commit graph

254 commits

Author SHA1 Message Date
Matt Green
b2b0a60ca5 Add -1 option for integration testing, closes #35 2017-01-27 15:27:44 -05:00
Matt Green
0d5de7c4da rustfmt 2017-01-27 13:13:37 -05:00
Matt Green
ebcb5976ba Use globset for ignore matching; closes #14 and #23 2017-01-27 13:00:13 -05:00
Matt Green
fd2d6e364a Add -k to support sending SIGKILL 2017-01-16 14:18:38 -05:00
Matt Green
6b7351d45b Remove kill/wait tests as process handling is async now 2016-12-20 13:42:39 -05:00
Matt Green
dddc1e8886 Fix Windows warnings 2016-12-20 13:25:08 -05:00
Matt Green
09448cd91e Fix reap() hanging when child processes are still running 2016-12-20 13:21:24 -05:00
Matt Green
171132a722 rustfmt & clippy fixes 2016-12-20 12:20:21 -05:00
Matt Green
b2c809c87a SIGCHLD handling 2016-12-20 11:44:18 -05:00
Matt Green
a925cb356a Fix sending SIGKILL by default when restarting processes 2016-12-19 15:36:59 -05:00
Matt Green
9c65e816da Add -k option to send SIGKILL instead of SIGTERM; closes #31 2016-12-19 11:37:20 -05:00
Matt Green
787c31040c Remask received signal after re-raising it 2016-12-15 09:41:10 -05:00
Matt Green
154c23a5a4 Propagate SIGTSTP/SIGCONT to children 2016-12-14 20:19:58 -05:00
Matt Green
54baf4e384 Add process::spawn function 2016-11-23 12:59:56 -05:00
Matt Green
f768721ca3 Remove --watch option, always watch cwd 2016-11-17 08:45:55 -05:00
Matt Green
0e9dafffc8 Unix: pipe read/write handles EINTR 2016-11-16 20:18:46 -05:00
Matt Green
12557d11bf Fix setpgid() racing killpg()/waitpid() in tests 2016-11-16 08:55:15 -05:00
Matt Green
e4557e462b Wait for child process, not any child process in group 2016-11-15 22:43:51 -05:00
Matt Green
5b2858e6d6 Die quietly if exec() fails 2016-11-15 17:04:15 -05:00
Matt Green
3bf3086a29 Replace before_exec with fork/exec, removing Rust nightly requirement 2016-11-15 16:55:29 -05:00
Matt Green
bdce629782 Drop size optimizations that require nightly builds 2016-11-13 18:34:23 -05:00
Matt Green
0ef334e2a1 Size optimizations 2016-11-10 19:43:13 -05:00
Matt Green
68960fec9a Style fixes 2016-11-09 17:48:38 -05:00
Matt Green
48b0def80d Fix warnings in tests 2016-11-09 17:37:35 -05:00
Matt Green
2d2a8cb079 rustfmt 2016-11-09 17:25:52 -05:00
Matt Green
707fa2e952 Windows compilation fixes 2016-11-09 17:20:13 -05:00
Matt Green
6523f6edf5 Cleanup, initial Windows implementation of interrupt handler 2016-11-09 17:00:24 -05:00
Matt Green
cf0a98b7a5 Remove use of select! 2016-11-09 09:44:00 -05:00
Matt Green
0d85d8275a Fix gitignore searching not terminating in some cases; closes #25 2016-11-08 17:52:29 -05:00
David Raifaizen
dfe9dcc338 Refactoring get_longest_common_path to be simpler and more efficient 2016-11-05 08:42:45 -04:00
Matt Green
a2e66f179c Upgrade to notify 3; closes #22 2016-11-03 17:20:43 -04:00
Matt Green
06bcef5853 Use globset in NotificationFilter; closes #24 2016-11-03 17:04:39 -04:00
Matt Green
8f916c495f Apply clippy suggested fixes 2016-10-30 12:37:34 -04:00
Matt Green
69eedd4cc5 rustfmt fixes 2016-10-30 12:28:54 -04:00
Matt Green
d859b4b70e Drop threadpool dep (was spawning threads over and over) 2016-10-30 12:28:11 -04:00
Matt Green
2d7715f8d7 Merge pull request #20 from craftytrickster/common-prefix
Creating method to update the watch_exec variable with the greatest c…
2016-10-30 10:06:40 -04:00
David Raifaizen
8713140a4e Creating method to update the watch_exec variable with the greatest common path found among the changed filepaths 2016-10-29 14:39:48 -04:00
Matt Green
85f0a4aaaf Make --run-initially default, add --postpone flag to disable 2016-10-29 10:43:45 -04:00
Matt Green
82713fc906 Fix watching multiple dirs with differing roots 2016-10-29 10:24:31 -04:00
Matt Green
9652aeb837 Fix dotted dir default filter to only fire on dirs 2016-10-29 10:21:04 -04:00
Matt Green
a182fda43f Add NotificationFilter tests 2016-10-29 09:37:50 -04:00
Matt Green
ed865d9039 Linux: fix logspam from inotify's notification volume 2016-10-28 08:58:15 -04:00
Matt Green
672fd469a9 Reorder new() 2016-10-28 08:46:35 -04:00
Matt Green
4370d41e71 Make NotificationFilter immutable 2016-10-27 08:27:16 -04:00
Matt Green
fdc31d4b02 Fix test 2016-10-26 16:29:34 -04:00
Matt Green
e26eff226c Process module improvements, use later nix 2016-10-26 16:20:44 -04:00
Matt Green
d14ccaaa1a Fix Windows warnings 2016-10-26 11:52:00 -04:00
Matt Green
f04083a21d Use Process & ProcessReaper to handle async process waiting 2016-10-26 11:02:04 -04:00
Matt Green
1cc4d92345 PollWatcher sometimes reports directories with new/deleted files 2016-10-26 11:02:04 -04:00
Matt Green
da46e3ffb5 Fix unused import warnings 2016-10-25 07:27:07 -04:00
Matt Green
f7771a4480 Mark process tests as Unix-only for now 2016-10-25 07:19:41 -04:00
Matt Green
50e583ca8c Some tests for the Runner module 2016-10-25 07:05:53 -04:00
Matt Green
3d3915844a Improve runner API 2016-10-25 05:47:53 -04:00
Matt Green
918fd668a5 Polishing up process group handling and handling of unresponsive child processes 2016-10-24 21:49:12 -04:00
Matt Green
d01da72e0b Forgot a #[cfg(unix)] marker on install() 2016-10-24 09:55:00 -04:00
Matt Green
0e0d14b475 Wait for FS activity to stop before proceeding; use interrupt handling 2016-10-24 09:53:06 -04:00
Matt Green
d10b790c35 Use rustfmt to fix outstanding style issues 2016-10-23 20:12:48 -04:00
Matt Green
6a812d31b4 Extract CLI arg handling to args module 2016-10-23 20:07:48 -04:00
Matt Green
7b766b1f98 Drop signal crate in favor of nix 2016-10-23 15:15:28 -04:00
Matt Green
f0d4a14e41 Fix Windows bugs relating to mutability 2016-10-22 17:05:43 -04:00
Matt Green
83b91e51d0 Refactor Runner a bit; add Drop impl for eventual use 2016-10-22 16:54:16 -04:00
Matt Green
e67751bb56 Fix build errors on Windows 2016-10-22 15:51:17 -04:00
Matt Green
865b0b7d90 WIP: Add interrupt_handler module 2016-10-22 15:37:03 -04:00
Matt Green
1582240dbc Fix silly error 2016-10-20 14:30:05 -04:00
Matt Green
7d8f909220 Add watcher module, back to requiring nightly builds 2016-10-20 14:27:11 -04:00
Matt Green
03775b61ce No need to use before_exec() to call setpgid() 2016-10-20 12:09:51 -04:00
Matt Green
b16cbec3ee Fix compile error on Windows 2016-10-20 11:50:25 -04:00
Matt Green
f3c6df8845 Launch child processes in new process group 2016-10-20 11:38:51 -04:00
Matt Green
0a08d3f8ef Fix polling always being used 2016-10-20 10:07:55 -04:00
Matt Green
90d6659141 Add --force-poll option; closes #7 2016-10-19 20:19:01 -04:00
Matt Green
a75dd49114 Set $WATCHEXEC_UPDATED_PATH to first changed path in child process;
closes #11
2016-10-19 19:40:50 -04:00
Matt Green
249e5a84e4 Search for .gitignore files in parent dirs; closes #10 2016-10-19 18:54:20 -04:00
Matt Green
f1597cc1a6 Merge pull request #13 from palfrey/12-run-initially
Option to run command initially, before first file change
2016-10-18 18:05:14 -04:00
Tom Parker
7eabee9f40 Initial command run is outside the loop! 2016-10-18 22:36:12 +01:00
Tom Parker
6887552aab Option to run command initially, before first file change (fixes #12) 2016-10-18 22:11:05 +01:00
Atmajeet Kaur
f7c628c7e1 some clippy-suggested improvements 2016-10-18 15:39:40 +02:00
Garrett Squire
59724589ea use cfg attributes instead of macro for OS specific functionality 2016-10-17 10:35:15 -07:00
Matt Green
94311c25bb Ignore .DS_Store files by default 2016-10-13 20:23:38 -04:00
Matt Green
536613852f Enhance debug output; rename option back to debug 2016-10-13 20:21:29 -04:00
Matt Green
392aea8ca3 Use crate_version! macro 2016-10-13 19:57:21 -04:00
Matt Green
b6831c4d30 Cleanups/more logging 2016-10-13 19:47:04 -04:00
Matt Green
8923bc1e1c Use log & env_logger crates 2016-10-13 17:59:46 -04:00
Matt Green
20fe9169b4 Add --no-vcs-ignore flag 2016-10-12 09:43:22 -04:00
Matt Green
d7a62ed30a Canonicalize cwd; fixes gitignore patterns not matching on Windows 2016-10-12 09:22:45 -04:00
Matt Green
9836882e71 Refine gitignore module 2016-10-12 09:06:01 -04:00
Matt Green
f20d02a7f8 Support for gitignore files 2016-10-11 22:43:53 -04:00
Matt Green
db677c77ec Extract command invocation to runner module 2016-10-09 14:07:23 -04:00
Matt Green
c990c9c4d4 Canonicalize watched paths 2016-09-27 09:43:28 -04:00
Matt Green
00bb3eed17 Platform-agnostic dotted dir ignore 2016-09-24 14:06:51 -04:00
Matt Green
406e137cef Add -r option to restart commands on subsequent events; closes #4 2016-09-24 13:52:54 -04:00
Matt Green
6072b353b9 Remove unnecessary clone 2016-09-23 14:04:19 -06:00
Matt Green
b08880d4e4 Return unit from add_* fns 2016-09-23 14:00:26 -06:00
Matt Green
0892da59e2 Rename Filter to NotificationFilter 2016-09-23 13:52:50 -06:00
Matt Green
0747d643c1 Improved nomenclature 2016-09-23 13:49:55 -06:00
Matt Green
bb28637990 Rename -d to -v; support watching multiple paths via --watch option 2016-09-23 13:38:26 -06:00
Matt Green
d087092f64 Infer path, add -e option to monitor files based on file extensions 2016-09-23 11:59:57 -06:00
Matt Green
9927e1018e Fix ignoring of dotted dirs 2016-09-23 09:59:54 -06:00
Matt Green
553687b315 Add filter/ignore options 2016-09-21 15:02:20 -06:00
Matt Green
e01c45d6f5 Rename to watchexec 2016-09-18 16:42:11 -04:00
Matt Green
5b97663990 Hacky .gitignore handling 2016-09-14 16:50:14 -04:00
Matt Green
fdc6564bb1 Ignore paths starting with a dot 2016-09-14 16:11:35 -04:00
Matt Green
08d21a6dad Simple screen clear & debounce 2016-09-14 15:43:58 -04:00
Matt Green
37f0b062a5 Use notify 2.6.3 2016-09-14 14:19:05 -04:00
Matt Green
5cf5ce73ca Initial commit 2016-09-14 09:30:59 -04:00