Commit Graph

37 Commits

Author SHA1 Message Date
Félix Saparelli 26254f7022
Add support for "tagged filter files" 2021-12-24 02:20:56 +13:00
Félix Saparelli 401b84db8a Clippy 2021-12-21 18:15:47 +13:00
Félix Saparelli a46cfba1a2
Pre-add support for logical grouping of options in help
Will work once we switch to clap3
2021-11-22 21:24:59 +13:00
Félix Saparelli 963cd68cc4 Fix cli for ProcessEnd 2021-10-22 05:48:37 +13:00
Félix Saparelli 083c1e2f52 Move common_prefix to its own mod 2021-10-16 13:55:20 +13:00
Félix Saparelli 75243bfdad
Rename Signal to MainSignal
in preparation for another signal type
2021-10-16 01:13:16 +13:00
Félix Saparelli b780345e8b Use mimalloc for musl builds 2021-10-15 14:27:32 +13:00
Félix Saparelli 14b0364135
Get filetype filters actually working 2021-10-14 01:26:15 +13:00
Félix Saparelli ae6af17aea
Find and load all ignores for watchexec cli 2021-10-14 00:38:56 +13:00
Félix Saparelli f16ba2dff1
Redo and sketch new filter adding process 2021-10-13 00:48:42 +13:00
Félix Saparelli 8bc58ba6b5
Start sketching gitignore support 2021-10-09 18:45:32 +13:00
Félix Saparelli a1fce1b06e
Replace eyre with miette
and upgrade it to 3.2.0
2021-10-09 18:43:51 +13:00
Félix Saparelli 81bee9513d
Remove derive-builder
* the InitConfigBuilder non-miette error goes away
* creating an InitConfig is no longer faillible for no reason
* the "builder" style is consistent between the two config structs
2021-10-09 18:37:59 +13:00
Félix Saparelli 07878f8357
Implement path filtering 2021-09-30 04:03:46 +13:00
Félix Saparelli dfb5525c7e Add tokio-console 2021-09-29 01:47:18 +13:00
Félix Saparelli 30dae61a02
Add filtering to demo CLI 2021-09-28 22:25:56 +13: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 07f5e445f6
Use Event Display impl in cli 2021-09-03 07:58:20 +12:00
Félix Saparelli 29e7780fdc
Add process completion handling to cli demo 2021-09-03 05:43:53 +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 1fd5c85317 Good idea but let's keep compat for now 2021-08-25 02:40:22 +12:00
Félix Saparelli 6df6d6fd5a Handle signals in cli 2021-08-24 23:19:44 +12:00
Félix Saparelli 7d492fa677
Hide --watch-when-idle from help 2021-08-24 22:56:15 +12:00
Félix Saparelli 70e8a4dff2
Fix cli tests 2021-08-24 22:53:44 +12:00
Félix Saparelli 58b37940b8 Implement most existing options and mark the rest 2021-08-24 22:46:16 +12:00
Félix Saparelli e939f97c90
Move config creation out of arg parsing, and start on using libv2 2021-08-24 20:23:37 +12:00
Félix Saparelli d54d74854e
Add experimental --notify option
See #139
2021-07-31 05:11:42 +12:00
Félix Saparelli a3173194a1
Implement cli's own wrapper handler
That will let us hook in watchexec-cli specific stuff
2021-07-31 04:24:05 +12:00
Félix Saparelli 66caedf978
Add --no-process-group flag 2021-07-22 00:56:35 +12:00
Félix Saparelli f5a92220c9
Drop debounce to 100ms (#168) 2021-07-21 23:44:24 +12:00
Félix Saparelli 07974e0d14
Implement @argfile argument parsing (#145) 2021-07-17 02:10:03 +12:00
Félix Saparelli 54ac2e9ae0
Use color-eyre for application errors rather than the library's error type 2021-07-17 01:33:04 +12:00
Félix Saparelli eafbc9a77b
Clean up due to removing pubs 2021-05-10 22:44:35 +12:00
Félix Saparelli 324fbe9055
Remove unused cli mod 2021-05-10 22:27:41 +12:00
Félix Saparelli 668d931eac
Remove public interface now that cli is a different crate 2021-05-10 22:26:38 +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