1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use ;
use parse_and_run;
/// operators
/// - `a && b` a and b
/// - `a || b`: a or b
/// - `!a`: not a
/// - `(a)`: parens to clarify grouping
///
/// file path predicates
/// - `filename($REGEX)`: file name
/// - `filepath($REGEX)`: file path
/// - `extension($STRING)` exact match on extension
///
/// metadata predicates
/// - `dir()`: is dir
/// - `executable()`: is executable
/// - `size(n1..n2)`: file size in range n1 to n2
/// - `size(..n)`: file size less than n
/// - `size(n..)`: file size larger than n
///
/// file contents predicates
/// - `contains($REGEX)`: file contents
/// - `utf8()`: file contents are utf8
///
/// for example:
pub async