Commit Graph

100 Commits

Author SHA1 Message Date
Félix Saparelli
2be21b6bac
Move filter parser out 2021-09-18 17:07:32 +12:00
Félix Saparelli
84dc77f787 Add parser for filters 2021-09-14 20:11:29 +12:00
Félix Saparelli
6a55f5cc6d
Start on filter types 2021-09-13 19:51:07 +12:00
Félix Saparelli
9e3c8c1f32
Rename particle/culars to tags 2021-09-13 19:34:40 +12:00
Félix Saparelli
e5fcc6553e
Also leave alt buffer on reset 2021-09-04 02:00:57 +12:00
Félix Saparelli
4043ed34ae
Add Reset outcome (#186, #211) 2021-09-04 01:55:25 +12:00
Félix Saparelli
645ab74c62
Implement Outcome::Wait, and CLI on-busy=queue 2021-09-03 09:25:23 +12:00
Félix Saparelli
b923638cbd
Correctly watch for process completion 2021-09-03 09:25:06 +12:00
Félix Saparelli
9c8d4c1a1b
Add fs event metadata to event 2021-09-03 08:14:04 +12:00
Félix Saparelli
5cbbb7b67f
Add Display impl for events 2021-09-03 07:57:59 +12:00
Félix Saparelli
608aa516b1
Add source to internal event 2021-09-03 07:57:45 +12:00
Félix Saparelli
ec6b508894
Ignoring supervisor kill/signal internal errors
As the errors only occur when the process is dead anyway
2021-09-03 05:43:26 +12:00
Félix Saparelli
b728bfecfc
Differentiate trace logs when ending supervisor 2021-09-03 05:42:24 +12:00
Félix Saparelli
f880b0b38a
Always apply Both outcomes, even when the first fails 2021-09-03 05:41:50 +12:00
Félix Saparelli
8e4994abca
Add process supervisor to watch command to completion
Also change the concept of a completion handler to instead sending a
synthetic "process completed" event down the same path as usual.

That makes handling completion the job of the action handler, but also
means it's immediately possible to launch a process or do an action in
response to the process completing. Win win!
2021-09-03 05:22:15 +12:00
Félix Saparelli
ef453193af
Add pre-spawn and post-spawn hooks 2021-08-25 04:41:14 +12:00
Félix Saparelli
6767948daa
Specify delay for fs Poll mode 2021-08-24 22:28:29 +12:00
Félix Saparelli
33fb691d29
Add method to insert events into watchexec manually 2021-08-24 22:20:44 +12:00
Félix Saparelli
9cb1f5bf79
Re-export Outcome's Signal type 2021-08-24 21:31:46 +12:00
Félix Saparelli
33f8b60e46
Take IntoIterator<AsRef<str>> to be more flexible on input 2021-08-24 20:14:01 +12:00
Félix Saparelli
05afb141b6
Add InitConfig::builder() to be a little more idiomatic
Neat side effect: keeps rust-analyzer from complaining about unknown types
(because it doesn't expand the builder macro)!
2021-08-24 19:59:11 +12:00
Félix Saparelli
b4ead7f5fb
Report several runtime errors if notify gives us several paths in an error 2021-08-23 06:08:25 +12:00
Félix Saparelli
3588cb4d62
Log fs watch/unwatch errors harder (to reveal paths) 2021-08-23 05:15:55 +12:00
Félix Saparelli
6cb3fc1c9a
Demo switching file watcher backends at runtime 2021-08-23 03:59:02 +12:00
Félix Saparelli
4a9168f5e6
Log on graceful exit 2021-08-23 03:36:10 +12:00
Félix Saparelli
9b94f18890
Fix double-actioning in throttle 2021-08-23 03:12:23 +12:00
Félix Saparelli
b42336cb74
Actually watch files in example 2021-08-23 03:11:58 +12:00
Félix Saparelli
5314d201a4
Expand print_out example into watchexec test case 2021-08-23 02:36:58 +12:00
Félix Saparelli
74d8e73817
Fix tokio panic for async handlers 2021-08-23 02:35:28 +12:00
Félix Saparelli
931648a955
Add signals() convenience iter on Event 2021-08-23 02:35:03 +12:00
Félix Saparelli
cc5b1c988e
Add some logging to Process 2021-08-23 02:34:44 +12:00
Félix Saparelli
60ed6bba25
Fix infinite loop in action recv code 2021-08-23 02:34:29 +12:00
Félix Saparelli
05117e69fe
Prep for more handlers in action 2021-08-23 02:33:23 +12:00
Félix Saparelli
4843920a36
Protect again starting command without anything in command 2021-08-23 02:32:48 +12:00
Félix Saparelli
17b09d8798
Add graceful exit support 2021-08-23 02:32:08 +12:00
Félix Saparelli
f4a8a9fc6a
Print PID in initialisation 2021-08-23 02:30:56 +12:00
Félix Saparelli
18d2487ec3
Rename reconfig to reconfigure 2021-08-23 00:31:39 +12:00
Félix Saparelli
3066ee5913
Implement most of process handling 2021-08-23 00:28:20 +12:00
Félix Saparelli
f150c26b22
Add action.grouped config 2021-08-23 00:27:45 +12:00
Félix Saparelli
d2d0bb7be2
Resolve compound outcomes 2021-08-22 23:23:01 +12:00
Félix Saparelli
7a709b9b4d
Prefer generic Both combinator than specific ClearAnd 2021-08-22 23:22:27 +12:00
Félix Saparelli
c85c164c09
Make the example in lib.rs compile 2021-08-22 22:06:50 +12:00
Félix Saparelli
227c2a0e0d
Add command and shell options to action 2021-08-22 22:06:31 +12:00
Félix Saparelli
613fe24c64
Add paths() convenience iter on Event 2021-08-22 22:06:12 +12:00
Félix Saparelli
8998c40746
Add convenience methods for Outcome's combinators 2021-08-22 22:05:45 +12:00
Félix Saparelli
d7d549a4c8
Add convenience modifiers on RuntimeConfig ourselves
It's not exactly a builder, and this lets us flatten all the options at the
top level instead of requiring the user to dig deeper into the
action, fs, etc modules' WorkingData structs.
2021-08-22 22:05:09 +12:00
Félix Saparelli
6c3c06e39c
Stop using Builder for RuntimeConfig 2021-08-22 20:49:24 +12:00
Félix Saparelli
53854d93d4
Change Outcome::OrStart to the more flexible ::IfRunning 2021-08-22 20:47:47 +12:00
Félix Saparelli
656c0d8fd2
Fix action throttling
Specifically, on loop start the timeout would be for the full throttle duration,
which is not correct if some time has passed or the loop goes on recycle
2021-08-22 20:29:57 +12:00
Félix Saparelli
40f6f7397f
Fill out Outcome 2021-08-22 20:27:51 +12:00