Commit Graph

174 Commits

Author SHA1 Message Date
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 396424112e Add new options to help 2022-04-15 15:45:17 +12:00
Félix Saparelli f60a623a44 Add --env and --workdir options 2022-04-15 15:45:17 +12:00
Félix Saparelli 515d5568b2 Document feature 2022-04-15 15:45:17 +12:00
Félix Saparelli 84aac2243c Add --project-origin override 2022-04-15 15:45:17 +12:00
Félix Saparelli 00e9b17043 Final change to --debounce default: down to 50ms
Closes #168
2022-04-15 15:45:17 +12:00
Félix Saparelli d4acb9d719 Add notice for change to $SHELL-as-default in 2.0
Ref #210
2022-04-15 15:45:17 +12:00
Félix Saparelli 009ef2356f Deny 2018 idioms 2022-04-13 22:59:43 +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
Félix Saparelli e8d3bb964c cli: v1.18.11 2022-03-28 10:29:14 +13:00
Félix Saparelli 386e01b06f The thing I said should never fail does in fact fail
Fixes #271
2022-03-28 10:14:54 +13:00
Félix Saparelli 57e2ddf9fa cli: v1.18.10 2022-03-27 18:23:06 +13:00
Félix Saparelli d38428f297 Look up project origin on implicit pwd
This may cause some more issues to crop up while waiting for --project-origin,
but it is the more correct behaviour.

Fixes #270
2022-03-27 16:31:58 +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 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 aeb699b658 Show CLI version in debug logs 2022-03-16 00:01:32 +13:00
Félix Saparelli da22d34274 Fix #262: document env var ordering and other specifics 2022-03-15 23:26:37 +13:00
Félix Saparelli a3c03b9fac cli: v1.18.7 2022-03-07 21:41:30 +13:00
Félix Saparelli ce449d85e2 Require test snapshots to change for bin release 2022-03-07 21:39:54 +13:00
Félix Saparelli 9ff5875327 lib: v2.0.0-pre.11 2022-03-07 20:59:47 +13:00
Félix Saparelli 93da1ce780 Carry help through elevated errors properly
This might show the help text twice actually. Let's see...
2022-02-12 20:05:19 +13:00
Félix Saparelli 56380154d3
Clippy 2022-02-11 00:52:35 +13:00
Félix Saparelli 797a7fc708 Setup cargo-release 2022-02-10 01:40:32 +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 96a6a6e9d9 Revert ignoring .git only when Git is discovered
And so on from other VCS. This causes confusion (ref #255) when watching
from outside a git repo, where the VCS type isn’t detected so the .git
folder is included in the watchset. While slightly incorrect, it’s more
expected that these folders be ignored regardless, and there’s always
--no-default-ignore to avoid those ignores if needed.
2022-02-07 17:15:27 +13:00
Félix Saparelli 94b21c2da3 Load global ignores even when there’s no discovered VCS
Fixes #255
2022-02-07 17:15:27 +13:00
Félix Saparelli e40744f033 Elevate FsWatcherCreate errors to critical
See #251
2022-02-07 17:15:27 +13:00
Félix Saparelli c6f230a168 Pretty-print runtime errors 2022-02-07 17:15:27 +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 18a2b204e2 Hide io::errors when "waiting on process group" 2022-01-27 10:48:24 +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 96a41e1b4c
Remove unused Result<> return 2022-01-26 03:24: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 6cebaf204f Restore shell default to sh on unix (#240) 2022-01-26 01:06:18 +13:00
Anatoli Babenia 8c8cdf8e82
cli/README.md: Need glob pattern to ignore subdirs 2022-01-25 13:21:41 +03:00
Félix Saparelli a51979b54e cli: v1.18.2 2022-01-24 20:53:20 +13:00
Félix Saparelli 9b866ad9e8
Remove default signal from clap, leave it for parse
Fixes #239
2022-01-24 20:52:29 +13:00
Félix Saparelli b5c16f291e cli: v1.18.1 2022-01-23 21:53:29 +13:00