Commit Graph

239 Commits

Author SHA1 Message Date
Félix Saparelli
6a46c2bff3
Refactor watchexec to only have &self methods and default to wrap it in Arc 2021-08-20 02:55:34 +12:00
Félix Saparelli
249c581dc9
Make channel buffers configurable 2021-08-19 21:28:56 +12:00
Félix Saparelli
5d11ccaa71
Add a bit more structure via documentation 2021-08-19 20:44:02 +12:00
Félix Saparelli
319729582f
Split signal and fs examples 2021-08-19 20:31:29 +12:00
Félix Saparelli
6f3abdeaea
Add RuntimeError::from_handler utility 2021-08-19 20:30:35 +12:00
Félix Saparelli
4e4a8e6853
Add Handler trait 2021-08-19 20:30:01 +12:00
Félix Saparelli
0bb38f40a5
Start off on main interface 2021-08-19 01:12:50 +12:00
Félix Saparelli
826dbd8cda
Make fs::worker Send 2021-08-19 00:40:35 +12:00
Félix Saparelli
cae00070fb
Remove chrono dep 2021-08-18 18:54:05 +12:00
Félix Saparelli
0237a568df
Handle signals into events 2021-08-17 21:41:13 +12:00
Félix Saparelli
f5e19a6e5f
Adapt Shell command builder 2021-08-17 03:09:22 +12:00
Félix Saparelli
7053360187
Clarify fs worker usage 2021-08-17 01:37:01 +12:00
Félix Saparelli
822148da03
Canonicalise paths + add example 2021-08-17 01:15:17 +12:00
Félix Saparelli
f08bdad8ee
Use local datetime on events instead of naive 2021-08-16 21:52:13 +12:00
Félix Saparelli
b15615bbaa
Start on watchexec v2 2021-08-16 21:49:12 +12:00
Félix Saparelli
0ab1405186
Ignore errors when killing command on pre-spawn 2021-07-22 01:36:19 +12:00
Félix Saparelli
d8fb70c454
Cease with the 2015-style #[macro_use]s 2021-07-22 01:01:11 +12:00
Félix Saparelli
ef36d3429d
Fix expectation in windows path test 2021-07-22 00:47:52 +12:00
Félix Saparelli
73eef67206
Don't rely on bash being installed for windows tests 2021-07-22 00:47:02 +12:00
Félix Saparelli
3485bd7e16
Add windows tests for path/env handling 2021-07-22 00:40:05 +12:00
Félix Saparelli
f88c30b854
Another windows test fix 2021-07-22 00:22:39 +12:00
Félix Saparelli
d59a76182a
Remove cargo install stub 2021-07-21 23:54:42 +12:00
Félix Saparelli
392547ffa4
Fix typo 2021-07-21 23:47:16 +12:00
Félix Saparelli
f5a92220c9
Drop debounce to 100ms (#168) 2021-07-21 23:44:24 +12:00
Félix Saparelli
eb59e92b8f
Add support for disabling process groups (#158) 2021-07-21 23:38:42 +12:00
Félix Saparelli
bb6a5ae891
Split process.rs into shell and paths
(now that the bulk of process code is gone)
2021-07-21 23:37:24 +12:00
Félix Saparelli
72cda2b0b0
Make sure to kill the old command group before starting a new one 2021-07-21 21:42:55 +12:00
Félix Saparelli
9c20c8c8b5 Replace process code with command-group 2021-07-21 20:22:40 +12:00
Félix Saparelli
4d6ad2cc1f
Use website as source for docs logo 2021-07-20 20:32:38 +12:00
Félix Saparelli
847520357c
Rename ignore test fns 2021-07-17 01:33:39 +12:00
Félix Saparelli
585f73adde Poll process completion harder on windows 2021-07-10 03:43:21 +12:00
Félix Saparelli
71a178d4c2 Actually check process when querying for completion
With --on-update=do-nothing, we need to know when the process is done
before we can spawn a new one, but we never actually used to truly check
the process, only the presence or absence of a spawned process. That
process may have already completed, but because we don't wait on it when
in do-nothing mode, there is no opportunity to notice this.

So now we either actually check the completion status of the process (on
Windows), or we expose the `done` mutex value on demand (Unix).
Essentially this adds a way to check the completion status of the
process without blocking (modulo a mutex lock on unix).

Fixes #200
2021-07-10 03:43:21 +12:00
Félix Saparelli
d8540d76b8
Fomat and clippy 2021-05-10 23:37:03 +12:00
Félix Saparelli
148be31f65
Add a stub to the watchexec (lib) crate to point to the watchexec-cli crate 2021-05-09 01:19:50 +12:00
Félix Saparelli
8295ac7a1c Don't fail CI on clippy warnings 2021-05-08 19:22:35 +12:00
Félix Saparelli
6aebd9b3e7 Formatting 2021-05-08 19:12:13 +12:00
Félix Saparelli
07f56ac7d5
Refactor inotify max watches warning to be less nested and satisfy clippy better 2021-05-08 19:07:56 +12:00
Félix Saparelli
aeab4159d4
Change semver policy for the library 2021-05-01 03:56:16 +12:00
Félix Saparelli
1f3f4ada35 Split into two crates: lib and cli
That has a number of advantages:

- #193 the build.rs is only run for the CLI, so the Windows manifest is
  not embedded in the library anymore, opening it up for downstreams.

- it sets the stage for decoupling the version numbers of the CLI and
  library, to have the library increase its major more often, while the
  CLI retains compatibility further… that is, to have both follow semver

- it removes the CLI-only dependencies from the library

- it makes compilation a bit faster as compiling the library and the
  CLI's other dependencies can happen in parallel

One major disadvantage:

- installing via cargo changes from watchexec to watchexec-cli. Most
  installs are from prebuilt and from packages, but that's still a
  potential stumble.

And of course, the CLI APIs in the library are gone (they were already
deprecated, though).

We also take this opportunity to get rid of the clear_screen code and
use our new clearscreen library. #99 #171 #185
2021-05-01 03:27:17 +12:00