Félix Saparelli
446a8d95a7
Replace event queue with a priority queue ( #302 )
...
Solves several issues, generally through delivering signals before filesystem events, preventing situations where an overwhelming amount of events makes it impossible to quit.
Does _not_ solve the problem of a queue full of lower-priority events not accepting an urgent message, but that's a rarer issue that's more complicated to overcome.
Changes the Filterer trait: adds Priority to `check_event()`
Makes some events unfilterable (Urgent priority): SIGINT, SIGTERM, and CTRL_C to the main process. These still need to be handled by `on_action` to do anything, but cannot be stopped before reaching that.
2022-06-11 06:43:11 +00:00
Félix Saparelli
62e79fbf7a
Add log feature to tracing ( #300 )
2022-06-07 12:15:17 +00:00
Félix Saparelli
edf023c009
cli: v1.19.0
2022-04-15 15:49:58 +12:00
Félix Saparelli
b374de6097
cli: v1.18.12
2022-04-13 09:22:53 +12:00
Félix Saparelli
036d9a27e8
Ignore homedir if discovered as origin unless explicitly requested
...
Fixes #276
2022-04-12 21:59:05 +12:00
Félix Saparelli
98348be8b5
lib: v2.0.0-pre.14
2022-04-04 11:47:36 +12:00
David Calavera
20597802ad
Remove git2 as a dependency ( #267 )
...
This dependency cannot be sent between threads.
Instead use git-config which is a pure rust implementation to read git config files.
Uses the builtin values::Path struct to extract ignore paths.
It takes care of all the corner cases with how git interprets paths.
2022-04-04 11:43:30 +12:00
Félix Saparelli
e8d3bb964c
cli: v1.18.11
2022-03-28 10:29:14 +13:00
Félix Saparelli
57e2ddf9fa
cli: v1.18.10
2022-03-27 18:23:06 +13:00
Félix Saparelli
7baf79e929
cli: v1.18.9
2022-03-18 15:18:58 +13:00
Félix Saparelli
3969264e91
lib: v2.0.0-pre.13
2022-03-18 15:00:02 +13:00
Félix Saparelli
07bf2523b6
Revert mac to fsevents
2022-03-18 14:08:59 +13:00
Félix Saparelli
572fc53793
cli: v1.18.8
2022-03-16 16:24:19 +13:00
Félix Saparelli
29dcd418ba
lib: v2.0.0-pre.12
2022-03-16 16:10:33 +13:00
Félix Saparelli
e5731abde0
Use exact version reqs for prereleases
...
I did not realise that Cargo considers -pre.1 and -pre.2 to be
compatible, so the latest Notify prerelease broke all existing
releases, and whenever I release a new lib it may break all CLI
versions if the API changes.
2022-03-16 16:02:29 +13:00
Félix Saparelli
223d29fa4a
Update lockfile
2022-03-14 12:58:02 +13:00
Félix Saparelli
465895ddec
Upgrade notify
2022-03-14 12:57:49 +13:00
Félix Saparelli
5e6adabf8d
Use kqueue on mac
2022-03-14 12:50:46 +13:00
Félix Saparelli
a3c03b9fac
cli: v1.18.7
2022-03-07 21:41:30 +13:00
Félix Saparelli
9ff5875327
lib: v2.0.0-pre.11
2022-03-07 20:59:47 +13:00
Félix Saparelli
bd7a933906
cli: v1.18.6
2022-02-07 17:34:26 +13:00
Félix Saparelli
bdcbe5ca3c
lib: v2.0.0-pre.10
2022-02-07 17:18:21 +13:00
Félix Saparelli
8ebcf083b8
Start work on 1.18.6
2022-01-31 19:15:30 +13:00
Félix Saparelli
ba64fb3c38
cli: v1.18.5
2022-01-31 00:49:45 +13:00
Félix Saparelli
ada9888fdf
Use lib pre.9
2022-01-31 00:45:47 +13:00
Félix Saparelli
bc50c198b3
lib: v2.0.0-pre.9
2022-01-31 00:35:27 +13:00
Félix Saparelli
7ccd3c92e0
cli: v1.18.4
2022-01-26 10:04:09 +13:00
Félix Saparelli
e6d80558f8
Use lib pre.8
2022-01-26 10:03:53 +13:00
Félix Saparelli
fc40336db7
lib: v2.0.0-pre.8
2022-01-26 10:01:15 +13:00
Félix Saparelli
77ee59a9e3
cli: v1.18.3
2022-01-26 02:36:27 +13:00
Félix Saparelli
d067b5a5de
Use lib pre.7
2022-01-26 02:36:01 +13:00
Félix Saparelli
f6a3b76d92
lib: v2.0.0-pre.7
2022-01-26 02:33:28 +13:00
Félix Saparelli
a51979b54e
cli: v1.18.2
2022-01-24 20:53:20 +13:00
Félix Saparelli
b5c16f291e
cli: v1.18.1
2022-01-23 21:53:29 +13:00
Félix Saparelli
7effd1a61e
cli: v1.18.0
2022-01-19 00:05:03 +13:00
Félix Saparelli
7d60b1689e
Use lib pre.6
2022-01-19 00:04:41 +13:00
Félix Saparelli
a3fd743786
lib: v2.0.0-pre.6
2022-01-19 00:00:46 +13:00
Félix Saparelli
631c328a55
Use version for lib dependency
2022-01-18 23:56:10 +13:00
Félix Saparelli
c91ab99ac3
lib: v2.0.0-pre.5
2022-01-18 23:27:30 +13:00
Félix Saparelli
8748c062c4
Update deps
2022-01-18 22:21:21 +13:00
Félix Saparelli
c821faf383
Split error mod and split generic/specific io errors
2022-01-16 18:57:40 +13:00
Félix Saparelli
26e0b60b7b
lib: v2.0.0-pre.4
2022-01-16 16:55:55 +13:00
Félix Saparelli
7fa80f8715
lib: v2.0.0-pre.3
2021-12-29 21:49:07 +13:00
Félix Saparelli
d39ffed51e
lib: v2.0.0-pre.2
2021-12-29 21:29:30 +13:00
Félix Saparelli
c45840b657
Load global and -F filter files
2021-12-29 18:39:31 +13:00
Félix Saparelli
d64135c2c0
Upgrade tracing-subscriber to 0.3
2021-12-24 02:35:26 +13:00
Félix Saparelli
c3094eaff8
Upgrade to tokio-console 0.1
2021-12-24 02:28:21 +13:00
Félix Saparelli
9d04143202
lib: v2.0.0-pre.1
2021-12-21 18:19:16 +13:00
Félix Saparelli
470cdd698b
Replace ExitStatus with our own type in Event
2021-10-22 05:38:48 +13:00
Félix Saparelli
0b60f5edb5
lib: v2.0.0-pre.0
2021-10-17 03:41:13 +13:00
Félix Saparelli
e62f313533
Eliminate eyre from doctests too
2021-10-16 19:08:35 +13:00
Félix Saparelli
2225b6d097
Reduce deps featureset
2021-10-16 17:27:21 +13:00
Félix Saparelli
948388b019
Reduce featureset of dependencies (tokio,git2)
2021-10-15 14:27:17 +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
fd2edbf11c
Compile gitignore patterns
2021-10-13 01:49:38 +13:00
Félix Saparelli
1dff1f5644
Find project origins more efficiently
2021-10-10 23:35:11 +13:00
Félix Saparelli
59fe74656a
Stop using eyre even in examples
2021-10-10 21:04:40 +13:00
Félix Saparelli
65b042ec8f
Discover ignore files for path and for user/env
2021-10-10 16:03:05 +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
288ce9d2f4
== and != perform case-insensitive comparisons
2021-09-30 02:34:27 +13:00
Félix Saparelli
f93ba29982
Update deps
2021-09-29 23:38:02 +13:00
Félix Saparelli
dfb5525c7e
Add tokio-console
2021-09-29 01:47:18 +13: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
e939f97c90
Move config creation out of arg parsing, and start on using libv2
2021-08-24 20:23:37 +12:00
Félix Saparelli
b2effda341
Update to miette 1.0 beta
2021-08-23 02:37:13 +12:00
Félix Saparelli
3066ee5913
Implement most of process handling
2021-08-23 00:28:20 +12:00
Félix Saparelli
350b85e0c7
Allow an outcome to be determined by the action handler without &mut!
2021-08-22 18:56:57 +12:00
Félix Saparelli
9f34492c79
Upgrade to notify pre.12
2021-08-20 02:59:39 +12:00
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
0bb38f40a5
Start off on main interface
2021-08-19 01:12:50 +12:00
Félix Saparelli
cae00070fb
Remove chrono dep
2021-08-18 18:54:05 +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
b15615bbaa
Start on watchexec v2
2021-08-16 21:49:12 +12:00
Félix Saparelli
e21a3a99f6
cli: v1.17.1
2021-07-31 06:37:29 +12:00
Félix Saparelli
d54d74854e
Add experimental --notify option
...
See #139
2021-07-31 05:11:42 +12:00
Félix Saparelli
bc07ad486d
cli: v1.17.0
2021-07-22 03:25:51 +12:00
Félix Saparelli
bd96803d1e
lib: v1.17.1
2021-07-22 01:36:33 +12:00
Félix Saparelli
bf922e36ac
lib: v1.17.0
2021-07-22 01:15:46 +12:00
Félix Saparelli
146d49ee8e
Update deps
2021-07-21 23:57:31 +12:00
Félix Saparelli
9c20c8c8b5
Replace process code with command-group
2021-07-21 20:22:40 +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
0c25ea0269
cli: v1.16.2
2021-07-10 20:08:45 +12:00
Félix Saparelli
8368846444
Update deps
2021-07-10 20:07:59 +12:00
Félix Saparelli
7b16a226b2
lib: v1.16.1
2021-07-10 20:04:31 +12:00
Félix Saparelli
960bbbabbc
cli: v1.16.1
2021-05-22 20:05:57 +12:00
Félix Saparelli
695c2e0f1a
Update lockfile
2021-05-22 20:00:06 +12:00
Félix Saparelli
f0862b9f1e
Update to clearscreen 1.0.4 for bugfix
2021-05-22 19:59:32 +12:00
Félix Saparelli
0d2f28c91a
Add test for cli help
2021-05-10 23:02:31 +12:00
Félix Saparelli
ad9f51a24b
lib: v1.16.0
2021-05-09 03:46:23 +12:00
Félix Saparelli
6a0ac73547
cli: v1.16.0
2021-05-09 02:21:07 +12:00
Félix Saparelli
d23261673b
Update clearscreen
2021-05-08 18:43:12 +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
Félix Saparelli
74934f304f
1.15.3
2021-05-01 00:27:44 +12:00
Félix Saparelli
12184136f7
1.15.2
2021-04-27 02:04:52 +12:00
Félix Saparelli
8decbd63f6
Update lockfile
2021-04-27 00:10:21 +12:00
Félix Saparelli
2603f13fc7
1.15.1
2021-04-17 12:48:21 +12:00