Félix Saparelli
015447e433
Fix whitelisting in pathed globs
2021-12-15 04:57:17 +13:00
Félix Saparelli
f8250f47de
Suppress supervisor.handle warning
2021-12-10 00:53:18 +13:00
Félix Saparelli
289f76ae6c
Test outcome resolving
2021-12-08 22:07:58 +13:00
Félix Saparelli
f229456f88
Specify and test sorting behaviour
2021-12-08 21:43:10 +13:00
Félix Saparelli
e9275702d1
Fix common_path stemming and start testing summarise_events_to_env
2021-12-07 01:14:19 +13:00
Félix Saparelli
a3751519e8
Re-export notify event types
2021-12-07 00:50:33 +13:00
Félix Saparelli
41869af688
Simplify summarise_events_to_env signature (and usage)
2021-12-07 00:49:14 +13:00
Félix Saparelli
0826d531af
Test scoped path glob filtering
2021-12-02 21:33:48 +13:00
Félix Saparelli
2d633d9177
Use proper ignore API so path globs match correctly
...
This notably fixes the v1 "confusing" behaviour when matching folders,
where the expectation is for any of:
folder
folder/
/folder
to match the folder and all paths below it, but v1 would only do this
when *both* of these were added:
**/folder
**/folder/**
Which is very verbose and has caught literally everyone who's ever tried
to do this kinda thing.
The old behaviour is preserved in the globset filterer, for
compatibility, as there are other small behavioural changes that this
affects, even though the new behaviour in the tagged filterer is
arguably the most correct and the old is a bug.
2021-12-01 01:41:07 +13:00
Félix Saparelli
1ff3cbf455
Add lots more logging to add_filter path
2021-11-30 02:11:50 +13:00
Félix Saparelli
269894e1b0
Add tests for tagged (paths only)
...
- v1 buggy tests don't pass
2021-11-28 02:22:07 +13:00
Félix Saparelli
a12a83cea2
Fix mistaken assumption in ProcessEnd::from(unix)
2021-10-28 01:03:54 +13:00
Félix Saparelli
745e3baa71
Span tracing in globset filterer check
2021-10-28 01:03:24 +13:00
Félix Saparelli
631b492064
Span tracing in tagged filterer check
2021-10-28 01:01:35 +13:00
Félix Saparelli
b13c23c576
Use latest stable toolchain in audit
2021-10-26 21:13:57 +13:00
Félix Saparelli
6d23339dea
Yes but why rely on bits
2021-10-22 06:04:11 +13:00
Félix Saparelli
5c012c5b0c
Fix nonzeros not being bit-opable (windows)
2021-10-22 05:55:28 +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
6671863f2f
Replace std FileType with our own (serde-able) enum
2021-10-20 01:18:43 +13:00
Félix Saparelli
401437784d
Opt in to 2021 ed
2021-10-20 01:00:21 +13:00
Félix Saparelli
34d7c5ee9c
Make globset easier to create (less generics)
2021-10-17 17:11:29 +13:00
Félix Saparelli
9d14ad7166
Document that == and != are case-insensitive
2021-10-17 04:03:18 +13:00
Félix Saparelli
489fb612c7
Tagged docs typo
2021-10-17 03:54:48 +13:00
Félix Saparelli
43353fecb2
Fix for windows (unmarked unix-only import)
2021-10-17 03:48:32 +13:00
Félix Saparelli
70b1a3cd7b
Fix doc links
2021-10-17 03:06:08 +13:00
Félix Saparelli
60fa09182d
Docs: watchexec
2021-10-17 03:01:55 +13:00
Félix Saparelli
fae4fbf9a0
Docs: error
2021-10-17 02:32:43 +13:00
Félix Saparelli
17b83fda08
Docs: command
2021-10-17 02:24:36 +13:00
Félix Saparelli
fcf6a2154a
Add notes to refer to more precise docs on the RuntimeConfig
2021-10-17 01:22:55 +13:00
Félix Saparelli
88dfc0d664
Add note about logging and error handling to main lib doc
2021-10-17 01:16:41 +13:00
Félix Saparelli
1522aaf409
Docs: action
2021-10-17 01:12:04 +13:00
Félix Saparelli
d43165494f
Docs: event
2021-10-16 23:47:00 +13:00
Félix Saparelli
47fc2f30a8
Docs: SubSignal
2021-10-16 23:31:00 +13:00
Félix Saparelli
0ad0845018
Docs: filter
2021-10-16 23:14:57 +13:00
Félix Saparelli
8b8b9674aa
Docs: fs
2021-10-16 20:02:17 +13:00
Félix Saparelli
423caaef2a
Docs: ProjectType
2021-10-16 19:56:38 +13:00
Félix Saparelli
e62f313533
Eliminate eyre from doctests too
2021-10-16 19:08:35 +13:00
Félix Saparelli
17310ee4b5
Docs: modules
2021-10-16 17:13:32 +13:00
Félix Saparelli
e06f615531
Implement basic check_glob()
2021-10-16 17:09:21 +13:00
Félix Saparelli
f58e97a62f
Fix globset ignorefile support (wrong field)
2021-10-16 17:01:27 +13:00
Félix Saparelli
5d2f2fcf62
Support the COMMON_PATH variant of the event summariser
2021-10-16 16:54:48 +13:00
Félix Saparelli
30abed3fb2
Add function to import an ignore file in globset filterer format
2021-10-16 16:45:03 +13:00
Félix Saparelli
ebabef9eed
Support extensions in globset filterer
2021-10-16 16:37:29 +13:00
Félix Saparelli
19b27959ed
Add globset filterer
2021-10-16 16:26:29 +13:00
Félix Saparelli
b2f4d0f244
Port method to summarise events from old source
2021-10-16 15:18:42 +13:00
Félix Saparelli
083c1e2f52
Move common_prefix to its own mod
2021-10-16 13:55:20 +13:00
Félix Saparelli
e577b040b9
Handle signalling to sub process on non-unix
2021-10-16 01:21:52 +13:00
Félix Saparelli
92513a4dc3
Add SubSignal type for sending signals to subprocesses
2021-10-16 01:14:17 +13:00
Félix Saparelli
86882e8d27
Add From<&str> for WatchedPath
2021-10-16 01:13:39 +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
55e4e1dc58
Review TODOs in the code
2021-10-15 23:00:50 +13:00
Félix Saparelli
8f61ac31da
Prep fs pathset for future
2021-10-15 01:38:21 +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
87b6729ab7
Add utility ProjectType::{is_vcs,is_soft} and project::common_prefix fns
2021-10-14 00:14:31 +13:00
Félix Saparelli
f24e95504b
Fix panic in tagged filtering
2021-10-14 00:13:48 +13:00
Félix Saparelli
c6336cdf3c
Add filetype matcher
2021-10-13 04:06:55 +13:00
Félix Saparelli
fb4f136c0d
Match path globs
2021-10-13 04:06:39 +13:00
Félix Saparelli
758ac2dc89
Change panic into a todo
2021-10-13 01:51:09 +13:00
Félix Saparelli
fd2edbf11c
Compile gitignore patterns
2021-10-13 01:49:38 +13:00
Félix Saparelli
c9da2c133a
Harmonise root/origin
2021-10-13 01:49:11 +13:00
Félix Saparelli
f16ba2dff1
Redo and sketch new filter adding process
2021-10-13 00:48:42 +13:00
Félix Saparelli
cd7d5f1fcb
Draft and plan ignore loading
2021-10-11 23:34:14 +13:00
Félix Saparelli
3c65aee839
Find project types
2021-10-10 23:35:27 +13:00
Félix Saparelli
1dff1f5644
Find project origins more efficiently
2021-10-10 23:35:11 +13:00
Félix Saparelli
7af0339871
Detect project origins (if any)
2021-10-10 17:56:49 +13:00
Félix Saparelli
3219be53f5
Add support for bazaar global ignores
2021-10-10 16:06:56 +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
8bc58ba6b5
Start sketching gitignore support
2021-10-09 18:45:32 +13:00
Félix Saparelli
323f2d29ee
Split off filter errors into their own type(s)
2021-10-09 18:41:45 +13:00
Félix Saparelli
3dff065f4b
Add error variants for external custom errors
2021-10-09 18:38:37 +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
288ce9d2f4
== and != perform case-insensitive comparisons
2021-09-30 02:34:27 +13:00
Félix Saparelli
d6b7175bb1
Formattting
2021-09-29 23:43:39 +13:00
Félix Saparelli
45a7ce6aa0
Fix logic error and upgrade warn to panic in debug
2021-09-28 23:44:28 +13:00
Félix Saparelli
6b306a15ab
Add event saturation notes
2021-09-28 22:52:59 +13:00
Félix Saparelli
7cdb6ac5ad
Bypass filters for empty events
2021-09-28 22:23:48 +13:00
Félix Saparelli
f492bca8c3
Add filter add/del error to runtime
2021-09-28 22:23:23 +13:00
Félix Saparelli
9bb6e1356a
Add is_empty and is_internal to Event
2021-09-28 22:22:33 +13:00
Félix Saparelli
f673d00e9c
Add logging to filter parser
2021-09-28 22:22:14 +13:00
Félix Saparelli
f3c74bd151
Add methods to configure tagger filter
2021-09-28 22:21:51 +13:00
Félix Saparelli
4fda3c477b
Add logging to tagged filter
2021-09-28 22:21:13 +13:00
Félix Saparelli
6e414d1de4
Change the default of Shell
2021-09-28 01:44:20 +13:00
Félix Saparelli
2c894266a8
Add negation filters, and filter application
2021-09-28 00:54:33 +13:00
Félix Saparelli
b57fa8b236
Start implementing two Filterers (v1 and v2)
2021-09-23 21:59:35 +12:00
Félix Saparelli
7875b4db67
Provide filterer as trait
...
which will allow basically anything user-provided as filter, though of
course we'll have (soon) our own fairly comprehensive implementation
2021-09-22 23:39:41 +12:00
Félix Saparelli
f1685821a3
Split types out of action
2021-09-18 17:20:05 +12:00
Félix Saparelli
29d0b66ba9
Move filter types out
2021-09-18 17:09:00 +12:00
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