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
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
6671863f2f
Replace std FileType with our own (serde-able) enum
2021-10-20 01:18:43 +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
fae4fbf9a0
Docs: error
2021-10-17 02:32:43 +13:00
Félix Saparelli
0ad0845018
Docs: filter
2021-10-16 23:14:57 +13:00
Félix Saparelli
17310ee4b5
Docs: modules
2021-10-16 17:13:32 +13:00
Félix Saparelli
f58e97a62f
Fix globset ignorefile support (wrong field)
2021-10-16 17:01:27 +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
55e4e1dc58
Review TODOs in the code
2021-10-15 23:00:50 +13:00
Félix Saparelli
14b0364135
Get filetype filters actually working
2021-10-14 01:26:15 +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
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
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
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
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
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