Commit Graph

206 Commits

Author SHA1 Message Date
sharkdp
a81fef9992 Windows: Check for xterm-256color environment variable as a proxy for color support 2020-05-25 12:17:32 +02:00
sharkdp
53c338d71f Windows: Always enable colors if --color=always is set 2020-05-25 12:17:32 +02:00
sharkdp
1d1eefdb7b Disable jemalloc on macOS
This is a workaround for #498. See issue for details.

closes #498
2020-05-19 17:55:21 +02:00
sharkdp
ddee6aa8f3 Revert "Always enable colors on Windows, closes #469"
This reverts commit a4e78519c4.
2020-05-19 17:09:27 +02:00
sharkdp
9d3cb69935 Minor refactoring 2020-05-19 15:57:47 +02:00
DJRHails
da9af8c1eb Improve consistency of linting 2020-05-19 15:57:47 +02:00
DJRHails
4f4591bfdc Correct Err return to prevent panic 2020-05-19 15:57:47 +02:00
DJRHails
28d6a4f518 Check for no valid search paths to prevent panic 2020-05-19 15:57:47 +02:00
DJRHails
42719624a8 Refactor to for-loop 2020-05-19 15:57:47 +02:00
DJRHails
c5a311d3cc Allow for missing directories 2020-05-19 15:57:47 +02:00
Bobbie Soedirgo
79d5a5bdc5 Add global fdignore support 2020-05-18 21:19:09 +02:00
Alexandru Macovei
1a16003cca [ownership][errs] ':' and '' args to --owner result in noop; reject strings with more than one ':' 2020-05-18 21:11:33 +02:00
Alexandru Macovei
4f9a02400a [ownership] add --owner arg parsing and storage 2020-05-18 21:11:33 +02:00
Alexandru Macovei
4f4330167a Fix some clippy lints, and format 2020-05-01 14:08:53 +02:00
Seamus Connor
b22285ffe4 Fix --glob behavior with empty pattern
With an empty pattern, --glob results in no matches. This does not
align with the behavior of --fixed-strings or --regex. Update the
initialization code to handle globs with empty patterns.
2020-04-26 22:01:29 +02:00
Tobias Kortkamp
04bcd546b2 Also add NetBSD and OpenBSD 2020-04-16 20:33:32 +02:00
Tobias Kortkamp
4b5e8941a7 Fix --list-details on FreeBSD 2020-04-16 20:33:32 +02:00
sharkdp
cb56add1d8 Add new --type socket and --type pipe filters
closes #511
2020-04-16 09:59:45 +02:00
sharkdp
4287cddc00 Add test 2020-04-15 23:32:28 +02:00
sharkdp
0b7febc3b6 Windows support (if GNU ls is installed) 2020-04-15 23:32:28 +02:00
sharkdp
d91100e354 Add comment why we prefer gls 2020-04-15 23:32:28 +02:00
sharkdp
0f5500adfc Do not show output of 'gls --version' 2020-04-15 23:32:28 +02:00
sharkdp
2685728695 Add MacOS support for -l/--list-details 2020-04-15 23:32:28 +02:00
sharkdp
3b42898a69 Always enable colors on Windows, closes #469 2020-04-15 19:23:59 +02:00
sharkdp
d63c63be8c Add --min-depth and --exact-depth
Add new `--min-depth <depth>` and `--exact-depth <depth>` options in addition to the existing
option to limit the maximum depth.

closes #404
2020-04-15 17:02:41 +02:00
sharkdp
47974b6479 --glob: '*' does not match on path separators 2020-04-15 16:41:56 +02:00
Danny Mösch
2bab4a2249 Add alias -1 for --max-results=1 2020-04-10 21:39:30 +02:00
sharkdp
6c9e743d43 Print path as raw bytes, allowing invalid UTF-8 filenames to be passed to other processes 2020-04-04 18:46:08 +02:00
sharkdp
7e3c69c096 Reimplement dirname, basename, remove_extension for OsStr 2020-04-04 18:46:08 +02:00
sharkdp
4815ee416e Remove process::exit instance 2020-04-03 22:36:32 +02:00
sharkdp
53557ef471 Clean up include order 2020-04-03 22:36:32 +02:00
sharkdp
4590ae8535 Proper error handling within walk.rs 2020-04-03 22:36:32 +02:00
sharkdp
bce95274e3 Proper error handling in main.rs 2020-04-03 22:36:32 +02:00
sharkdp
af9d8082a1 Better error message 2020-04-03 22:36:32 +02:00
sharkdp
094516aec3 Refactor directory handling 2020-04-03 22:36:32 +02:00
sharkdp
b415d7234b Rename fshelper to filesystem 2020-04-03 22:36:32 +02:00
sharkdp
e0cba4b700 Remove 'internal' module 2020-04-03 22:36:32 +02:00
sharkdp
342d12db3f Remove possibility to use '--exec <cmd>' with a single dash 2020-04-03 22:36:32 +02:00
sharkdp
809fd8fb78 Move regex helpers to new module 2020-04-03 22:36:32 +02:00
sharkdp
a3060f952e Move error macros to error.rs 2020-04-03 22:36:32 +02:00
sharkdp
65096a653e Move FdOptions to Options 2020-04-03 22:36:32 +02:00
sharkdp
9f738ad995 Move filter up from internal 2020-04-03 22:36:32 +02:00
sharkdp
5c27ab1a06 Move filetypes up from 'internal' 2020-04-03 22:36:32 +02:00
sharkdp
4274075f6f Remove outdated license headers (not strictly required by Apache-2.0) 2020-04-03 10:19:13 +02:00
sharkdp
c9dc617711 Rename --list to --list-details 2020-04-03 09:58:47 +02:00
sharkdp
da5cd12b24 Add -l/--list option
Add a new `-l`/`--list` option to show more details about the search results. This is basically
an alias for `--exec-batch ls -l` with some additional `ls` options.
This can be used in order to:
    * see metadata like permissions, owner, file size, modification times (#491)
    * see symlink targets (#482)
    * achieve a deterministic output order (#324, #196, #159)
    * avoid duplicate search results when multiple search paths are given (#405)
2020-04-03 09:58:47 +02:00
sharkdp
d43827fe57 Add --max-results=<count> option
This new option can be used instead of piping to `head -n <count>` for
improved performance:

| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
| `fd --max-buffer-time=0 flow.yaml` | 153.9 ± 2.5 | 151.3 | 170.3 | 4.21 ± 5.86 |
| `fd --max-buffer-time=0 flow.yaml \| head -n 1` | 145.3 ± 17.4 | 111.0 | 180.2 | 3.98 ± 5.55 |
| `fd --max-results=1 flow.yaml` | 36.5 ± 50.8 | 7.2 | 145.7 | 1.00 |

Note: there is a large standard deviation on the last result due to the
non-deterministic file system traversal. With `--max-results`, we don't
have to traverse the whole filesystem tree, so it's all about luck.

closes #472
closes #476
2020-04-02 20:27:41 +02:00
sharkdp
44605d55dd Use .to_string() instead of .description() 2020-03-22 15:54:43 +01:00
Dave Parfitt
70448b0006 honor the NO_COLOR env var 2020-03-19 22:56:28 +01:00
sharkdp
328c6640be Formatting 2020-01-01 12:05:33 +01:00