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