Commit Graph

136 Commits

Author SHA1 Message Date
sharkdp 2cfb1a2bb2 Adapt --list-details help message 2020-04-03 11:28:01 +02:00
sharkdp 938dafda28 Clean up unused help texts 2020-04-03 11:26:20 +02:00
sharkdp e2a7d3446b Inline the help texts 2020-04-03 11:24:47 +02:00
sharkdp 4274075f6f Remove outdated license headers (not strictly required by Apache-2.0) 2020-04-03 10:19:13 +02:00
sharkdp 33df48ebe4 Remove claim about unique search results 2020-04-03 10:07:46 +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 2f18903b29 Fix zsh autocompletion problem, closes #487 2020-02-06 21:52:09 +01:00
sharkdp c001dd47a7 Hide --one-file-system from the short help text 2020-01-01 11:54:01 +01:00
sharkdp a9c7696ecc Small stylistic change 2020-01-01 11:54:01 +01:00
Simon Engmann cd2dc5714e Compare `--one-file-system` to find's -mount/-xdev 2020-01-01 11:54:01 +01:00
Simon Engmann ed6c184020 Shorten `cfg!()` checks 2020-01-01 11:54:01 +01:00
Simon Engmann 6f7d10870c Add aliases for `--one-file-system`
The functionality provided by `--one-file-system` is called
`-mount`/`-xdev` under `find`, so provide those aliases as a compromise.
2020-01-01 11:54:01 +01:00
Simon Engmann dea1fbe722 Restrict `--one-file-system` to supported systems
Instead of having the option do nothing at runtime on unsupported
platforms, it is now only available on the systems that support it in
the first place.
2020-01-01 11:54:01 +01:00
Simon Engmann 94993ca6c2 Rename `--same-file-system` to `--one-file-system` 2020-01-01 11:54:01 +01:00
Simon Engmann 8796de57b5 Add same file system functionality
This adds a `--same-file-system` CLI option that instructs the walker to
not cross file system boundaries.
Due to the fact that the corresponding option of the `ignore` crate's
`WalkBuilder` does not support platforms other than Unix and Windows,
the option does nothing on platforms other than those.
Resolves #507
2020-01-01 11:54:01 +01:00
sharkdp 762f551ff4 Update --help text 2019-12-23 16:07:38 +01:00
Rafał Hajdacki fb205f5057 Allow changing current working directory of fd 2019-12-23 15:42:33 +01:00
EasiestSoft 32fdbb1eae Fixed typos, occurence to occurrence, seach to search 2019-12-19 21:52:43 +01:00
Deepansh a6ed0fc5ef Fix CI error
Fixes sharkdp/fd#496
2019-10-09 23:09:21 +02:00
Deepansh Sood 266499800b Fix idempotent flags
Add 'overrides_with' to format flags.
Resolves sharkdp/fd#488
2019-10-09 23:09:21 +02:00
Nathan Henrie 59c27baf0f Expand help for `-u`, add to manpage 2019-09-17 22:21:37 +02:00
Nathan Henrie 33f385692d Add `-u` alias to long --help only
Fixed sharkdp/fd#92, specifically https://github.com/sharkdp/fd/issues/92#issuecomment-522756754
2019-09-17 22:21:37 +02:00
sharkdp eac20a8132 Add --regex option to override --glob 2019-09-15 16:47:38 +02:00
sharkdp d5da615c17 Implement glob-based searches
closes #284
2019-09-15 16:47:38 +02:00
sharkdp 8f86a06c1a Extend help text 2019-09-15 10:57:27 +02:00
Nathan Moreau 29bf9d731d Handle any string replacement. 2019-09-15 10:57:27 +02:00
Nathan Moreau 3857fa8f62 Amend clap configuration for path-separator. 2019-09-15 10:57:27 +02:00
Nathan Moreau 24e108e1ad Add path-separator option.
Example usage: `fd.exe --path-separator /` on windows.
2019-09-15 10:57:27 +02:00
Alexandru Macovei fe53af064b fix most clippy lints 2019-01-26 16:15:48 +01:00
Alexandru Macovei 051ff5987a [2018 edition] remove all extern crate lines from sources 2019-01-07 12:52:30 +01:00
sharkdp 33feb511f0 Formatting 2019-01-01 17:40:53 +01:00
sharkdp 985fab16bb Add note about short and long help text, closes #286 2019-01-01 17:40:30 +01:00
sharkdp a17a3fe5ef Add comment about hidden files/directories, see #377 2019-01-01 16:31:06 +01:00
kimsnj 45d1b15cff Add support for batch execution of command 2018-11-12 21:11:40 +01:00
sharkdp daf5191aac Add note about .ignore files 2018-10-27 16:44:34 +02:00
sharkdp 974802e817 Hide a few options from short '-h' text 2018-10-27 15:38:26 +02:00
sharkdp deea31cbbc Add aliases, change help text 2018-10-27 15:34:10 +02:00
Park Juhyung 095bad550f Print errors when --verbose is set 2018-10-23 21:50:25 +02:00
Park Juhyung f7a96bd980 Fix typo at max-buffer-time's help message
"tothe" -> "to the"
2018-10-23 07:03:21 +02:00
Casey Primozic cdf737bf5c Add `search-path` option
* Multiple `--search-path` arguments can be supplied which replace the positional `path` argument for providing directories which will be searched.
 * When a `--search-path` argument is provided, positional `path` arguments will not be allowed
2018-10-22 19:26:36 +02:00
Karim SENHAJI 54c117d72f Add support for --changed-before and --changed-with for modification time based search 2018-10-10 19:52:37 +02:00
sharkdp 27caa33729 cargo fmt 2018-09-27 23:01:38 +02:00
sharkdp 8fb25f15c9 Just reference --max-depth in --maxdepth help 2018-09-13 22:33:18 +02:00
Mahmoud Al-Qudsi d375b5e1f5 Add `--maxdepth` as hidden alias for `--max-depth`
For muscle memory compatibility with `rg`. This variant will not show in
the help or in the program options, and is only checked if `--maxdepth`
is not specified.
2018-09-13 22:33:18 +02:00
sharkdp aa70c5a446 Add `--type empty`
Add a new `empty`/`e` type to search for empty files and/or directories.

To search for both empty files and directories, use one of the
following:

    fd --type empty
    fd -te

    fd --type empty --type file --type directory

To search for empty files, use

    fd --type empty --type file
    fd -te -tf

To search for empty directories, use

    fd --type empty --type directory
    fd -te -td

closes #273
2018-08-19 17:05:04 +02:00
sharkdp c428f52209 Run cargo fmt 2018-08-03 21:20:48 +02:00
sharkdp c1ef68662c Update for new rustfmt 2018-05-14 21:00:00 +02:00
Steve Pentland 2f3b472dfd Changes from review 2018-04-25 08:14:12 +02:00
Steve Pentland 0207c1371e Initial impl of size constraints.
This adds find-style size constraints with + or - indicating greater
or less than, a numerical size, and a unit
2018-04-25 08:14:12 +02:00
sharkdp 6a9f16e159 Run latest version of rustfmt 2018-04-13 23:13:22 +02:00
sharkdp 388b90e624 Update USAGE and man page 2018-03-26 10:25:33 +02:00
sharkdp 37483036e0 Implement --ignore-file 2018-03-26 08:28:22 +02:00
Pramod Bisht 67f6fdf6a7 Code formating 2018-03-25 16:53:12 +02:00
Pramod Bisht b1e48efc4a Addresses #246
Some implementation to search by filetype `executables`
2018-03-25 16:53:12 +02:00
sharkdp 88fb9d73d1 Run updated version of rustfmt 2018-03-12 17:46:13 +01:00
sharkdp 814d37030e Implement -F/--fixed-strings/--literal 2018-02-10 15:55:06 +01:00
Steve Pentland b4d39270d6 Allow -exec to work as --exec (#226)
* Replace usage of `-exec` by `--exec`, except when it is used as a value that is given to `--exec/-exec/-x`.
* Limit usage of --exec option to single instance.
2018-01-29 20:32:46 +01:00
sharkdp 941caeb053 Update documentation 2018-01-03 10:40:28 +01:00
sharkdp a5f5ad6254 Re-enable code style check 2018-01-01 16:00:32 +01:00
Thejaswi Kadur faf934da4b Added support for filtering by multiple filetypes and extensions (#205)
Closes #177 
Closes #199
2018-01-01 12:09:33 +01:00
sharkdp aaf9e024d5 Updates for 6.1.0 2017-12-09 21:40:13 -08:00
Dock 51aea57a6a Add multiple path support (#182)
* Adding support for multiple paths. (panic)

- Started adding multiple file support
- fd panics with multiple files right now

* Moved the ctrlc handler to main.

- Moved the ctrlc handler to main so we can search multiple files

* Tests now allow custom directory setup

- TestEnv::new() now takes two arguments, the directories to create and
the files to create inside those directories.

* rust-fmt changes

* rust-fmt changes

* Moving code around, no need to do everything in one big loop

- PathDisplay was never actually used for anything, removed it during refactor of main
- Removed redundant logic for absolute paths
- Moved code placed needlessly inside a loop in the last commit outside of that loop.

* Moving code around, no need to do everything in one big loop

- PathDisplay was never actually used for anything, removed it during refactor of main
- Removed redundant logic for absolute paths
- Moved code placed needlessly inside a loop in the last commit outside of that loop.

* Removed commented code in testenv

* Refactored walk::scan to accept the path buffer vector. Using the ParallelWalker allows for multithreaded searching of multiple directories

* Moved ctrlc handler back into walker, it is only called once from main now.

* Moved the colored output check back to it's original place

* Removing shell-escape, not sure how it got added...

* Added test for `fd 'a.foo' test1` to show that a.foo is only found in the test1 and not the test2 direcotry

* Removing side effect from walk::scan, `dir_vec` is no longer a mutable reference and an iterator is being used instead.

* Running rustfmt to format code correctly
2017-12-06 14:52:23 -08:00
ptzz 9bd1d12c00 Add --no-ignore-vcs option
When passed, .gitignore files will not be respected.
2017-11-22 23:18:22 +01:00
Matthias Reitinger 3c5d8a1e86 Fix typos 2017-11-15 23:18:36 +01:00
Matthias Reitinger 5f4a1203b4 Update documentation for --exec syntax change 2017-11-15 23:18:36 +01:00
Matthias Reitinger 18709b1ede Remove shell with --exec 2017-11-15 23:18:36 +01:00
sharkdp 5ad69fb2fb Add support for exclude-patterns
* Add `--exclude`/`-E` option.
* Support for multiple exclude patterns

Example:
``` bash
> fd --exclude 'tests/**/*.rs' mod
src/exec/mod.rs
src/fshelper/mod.rs
src/lscolors/mod.rs
```

Closes #89
2017-10-25 22:22:12 +02:00
John L. Villalovos 4bf7ab67d0 Typo fix: Change 'descent' to 'descend'
The correct word is 'descend'

Change-Id: I6833bd28e84841799f3f060239a36876949d890e
2017-10-25 18:18:33 +02:00
sharkdp e9cf8af911 Updates and preparations for v5.0 2017-10-22 12:10:51 +02:00
Antti Keränen 701b8f209b Relicense under MIT/Apache-2.0 2017-10-22 10:36:42 +02:00
Michael Aaron Murphy 884bd41cae Apply cargo fmt 2017-10-14 14:04:04 -04:00
Michael Aaron Murphy fb1cd3a322 Fix for older builds
Rust 1.19 will be a requirement, however.
2017-10-14 13:38:54 -04:00
Michael Aaron Murphy 137fe2e697 Merge Conflicts 2017-10-14 12:35:16 -04:00
Michael Aaron Murphy 4a5a5faf4d Implement --exec feature
Closes #84
2017-10-14 12:24:17 -04:00
sharkdp c38ef0e9b2 Fix description of smart-case in help text 2017-10-14 12:09:34 +02:00
Antti Keränen 049b9ec06b Format the source code using `rustfmt` 2017-10-12 19:33:14 +02:00
J.W e075e1cf7c Add -i, --ignore-case 2017-10-12 07:28:05 +02:00
Rav Chandra 4f2d9e77b3 Add ripgrep aliases for no-ignore and hidden 2017-10-11 23:15:21 +02:00
Jean-Christophe Petkovich affe41949d Switch symlink arg from 's' to 'l' (#83)
closes #80
2017-10-09 21:25:30 +02:00
sharkdp d8da6ec83c Update long help text 2017-10-07 15:15:30 +02:00
Alejandro Baez a84536a173 app: refactor to ripgrep style for long_help 2017-10-07 09:13:39 +02:00
sharkdp 0aae4a3d46 Update help text 2017-10-05 21:35:22 +02:00
sharkdp 34e4620e26 Code style udpates 2017-10-05 21:31:44 +02:00
Florian Hofmair 396b9baaa5 Use clap to generate shell completions 2017-10-04 18:00:25 +02:00