sharkdp
328c6640be
Formatting
2020-01-01 12:05:33 +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
Rafał Hajdacki
fb205f5057
Allow changing current working directory of fd
2019-12-23 15:42:33 +01:00
sharkdp
9350c8544d
Clean up cfg line
2019-09-15 18:58:05 +02:00
sharkdp
1ab4e87dda
Disable jemalloc for musl builds
2019-09-15 18:58:05 +02:00
sharkdp
4e20803e7d
Disable jemallocator on Windows
2019-09-15 18:58:05 +02:00
sharkdp
5a154866e3
Use jemalloc
...
Benchmark #1 : ./fd-sys-alloc '[0-9]\.jpg$' /home/shark
Time (mean ± σ): 246.8 ms ± 3.4 ms [User: 960.1 ms, System: 810.0 ms]
Range (min … max): 244.1 ms … 257.1 ms 12 runs
Benchmark #2 : ./fd-jemalloc '[0-9]\.jpg$' /home/shark
Time (mean ± σ): 201.0 ms ± 3.0 ms [User: 833.9 ms, System: 666.9 ms]
Range (min … max): 196.1 ms … 206.9 ms 14 runs
Summary
'./fd-jemalloc '[0-9]\.jpg$' /home/shark' ran
1.23 ± 0.03 times faster than './fd-sys-alloc '[0-9]\.jpg$' /home/shark'
2019-09-15 18:58:05 +02:00
sharkdp
d5da615c17
Implement glob-based searches
...
closes #284
2019-09-15 16:47:38 +02:00
sharkdp
641594c2c6
Use regex::bytes::* instead of regex::*
2019-09-15 16:47:38 +02:00
Nathan Moreau
588e344d5b
Remove type annotation.
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
24e108e1ad
Add path-separator option.
...
Example usage: `fd.exe --path-separator /` on windows.
2019-09-15 10:57:27 +02:00
sharkdp
a0505bd4df
Expose exit status from --exec-batch <cmd>
...
closes #333
2019-09-13 23:05:35 +02:00
Tim Holland
074cfad3d4
Remove deprecated trim_left(_matches)?
...
warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
--> src/main.rs:222:28
|
222 | .map(|e| e.trim_left_matches('.'))
| ^^^^^^^^^^^^^^^^^
|
= note: #[warn(deprecated)] on by default
2019-03-02 08:15:12 +01:00
Alexandru Macovei
c2b46f247f
avoid cloning command, in the wake of 9d26b74
2019-01-30 20:42:43 +01: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
Alexandru Macovei
64e6ea9fe9
[2018 edition] run cargo fix edition and edition-idioms
2019-01-07 12:52:30 +01:00
sharkdp
4b5efa3438
Use lscolors crate
...
Use my new [lscolors](https://github.com/sharkdp/lscolors ) crate instead
of the internal `lscolors` module
- Speeds up `LS_COLORS` querying, leading to a nice 25% performance
improvement when
- Adds support for 24-bit colors and background colors
closes #368
closes #363
2018-12-14 23:20:18 +01:00
kimsnj
45d1b15cff
Add support for batch execution of command
2018-11-12 21:11:40 +01:00
sharkdp
81a27fa9bd
Unify error messages, closes #342
2018-10-27 16:30:29 +02:00
Park Juhyung
095bad550f
Print errors when --verbose is set
2018-10-23 21:50:25 +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
Josh Leeb-du Toit
8543ca645d
Split internals.rs into module and multiple files
...
This PR splits `internals.rs` into the `internal` module with multiple
files, and moves `FdOptions` into `opts.rs`.
The main motivation behind this is to move logic for constructing
`FdOptions` out of the main function and more readable and easier to
understand in the `opts` module. The goal will eventually to be able
to write `FdOptions::from(matches)` and have the options constructed.
2018-10-12 19:14:19 +02:00
Josh Leeb-du Toit
984f04f142
Add print_error macros to replace functions
...
This patch replaces the `print_error` and `print_error_and_exit`
functions with equivalent macros.
2018-10-12 07:31:21 +02:00
Karim SENHAJI
abe8aa55c0
clean-up first implementation of modification date filter
2018-10-10 19:52:37 +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
Josh Leeb-du Toit
8bdd8f8e8f
Move exit code consts into enum
...
Previously, the constants defined in `src/exit_codes` weren't being
used, and the constants for exit codes were being redefined in the
`internals` module.
This PR removes the exit code consts and instead uses an enum defined in
`src/exit_codes`. This centralizes the definitions of exit codes making
them easier to modify and keep track of.
2018-10-03 16:06:18 +02:00
sharkdp
046b0574dc
Rename error => print_error_and_exit and introduce print_error
2018-10-01 22:00:23 +02:00
sharkdp
27caa33729
cargo fmt
2018-09-27 23:01:38 +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
37483036e0
Implement --ignore-file
2018-03-26 08:28:22 +02:00
David Peter
8c1b037279
Normalize absolute paths, fixes #268 ( #270 )
...
* Normalize absolute paths, fixes #268
* Split unit tests into several tests
2018-03-25 23:47:58 +02:00
Pramod Bisht
67f6fdf6a7
Code formating
2018-03-25 16:53:12 +02:00
Pramod Bisht
8ce127e443
changed executable=> executable_only
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
ffd49c60bd
Error if user supplied path instead of pattern
2018-03-15 07:53:00 +01:00
sharkdp
89a8f5573d
Formatting change
2018-03-15 07:53:00 +01:00
sharkdp
c654159bf2
Update to ansi_term 0.11
2018-03-12 23:19:20 +01:00
sharkdp
40d811c7be
Rewrite of file-type filtering leading to 5% speed-up
2018-02-25 18:17:11 +01:00
sharkdp
b4be1f161c
Add support for .fdignore files
2018-02-21 22:55:26 +01:00
Pramod Bisht
7a3994decb
Changes as per the instruction of cargo fmt -- --write-mode=diff
2018-02-19 21:17:11 +01:00
Pramod Bisht
7e8c2248d0
Fixes : #234
...
Giving suggestion to use `--fixed-strings` in case user passes invalid metacharacters as a regex.
2018-02-19 21:17:11 +01:00
sharkdp
814d37030e
Implement -F/--fixed-strings/--literal
2018-02-10 15:55:06 +01:00
Martin Larralde
370d9f081f
Use RegexSet instead of hand-written parser
2018-02-10 14:18:37 +01:00
Martin Larralde
86fe9977e8
Implement multiple suffixes extension support with tests ( #214 )
2018-02-10 14:18:37 +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
39fb41f05a
Move exit codes to 'internal' module
2018-01-03 10:00:22 +01:00
Dock
26ad7da347
Using wants_to_quit to exit the sender as well as the reciever ( #211 )
...
Closes #210
2018-01-03 09:26:11 +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
Ubuntu
c165ff0546
Refactorying main.rs : remove unused variable (empty_pattern)
2017-12-03 12:21:09 +01: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
0f82fe7ec0
Rename TokenizedCommand to CommandTemplate
2017-11-15 23:18:36 +01:00
Matthias Reitinger
18709b1ede
Remove shell with --exec
2017-11-15 23:18:36 +01:00
sharkdp
26f71dd21a
Remove superfluous path.replace
...
See #153
2017-11-11 08:58:55 +01:00
sharkdp
b3f1e1844d
Move 'win' crate back into local module
...
This is necessary to publish on crates.io
2017-10-26 21:59:12 +02:00
sharkdp
bba5c4f607
Fix some clippy warnings
2017-10-26 21:13:56 +02:00
J.W
6b232a82ee
Fix --exec
2017-10-26 20:56:32 +02:00
J.W
87ba4e3bb0
Fix root directory for Windows
2017-10-26 20:56:32 +02: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
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
J.W
570ea78d24
jakwings/fd@a44e677 -> subdirectory "win"
2017-10-21 00:33:49 +02:00
J.W
ce73c086b6
Auto disable colored output for unsupported Windows shells
2017-10-21 00:33:49 +02:00
J.W
8d85debc12
Refactor path handling ( fixes #113 )
...
* Fix path check
* Fix full path matching
* Allow more simple driver names in Windows tests
* Factor out special is_dir() check for "." and ".."
2017-10-18 20:04:34 +02:00
Michael Aaron Murphy
2a23905af5
Fix merge conflicts
2017-10-15 09:37:48 -04:00
J.W
54d9dde0d4
Use .canonicalize() to check paths & Reword comments
2017-10-15 15:01:24 +02:00
J.W
e649c8fa79
Use a uniform output format for searching ../
...
closes #107 , fixes #82 by the way
2017-10-15 15:01:24 +02:00
Michael Aaron Murphy
ad1b4f3b2b
Optimize grouping for *nix archs
2017-10-14 21:45:31 -04:00
Michael Aaron Murphy
884bd41cae
Apply cargo fmt
2017-10-14 14:04:04 -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
J.W
f2632d5fce
Dot "." also matches newline by default ( closes #111 )
2017-10-14 16:12:11 +02:00
Matthias Reitinger
b441528067
Improve smart case to only consider literal uppercase chars ( #103 )
2017-10-14 11:03:21 +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
35e5ecd492
liberally accept >2 -u options as per ripgrep
2017-10-11 23:15:21 +02:00
Rav Chandra
4f2d9e77b3
Add ripgrep aliases for no-ignore and hidden
2017-10-11 23:15:21 +02:00
Garrett Squire
ccb899a511
break main into separate modules
2017-10-11 08:21:09 +02:00
Jean-Christophe Petkovich
affe41949d
Switch symlink arg from 's' to 'l' ( #83 )
...
closes #80
2017-10-09 21:25:30 +02:00
David Peter
4731dc670c
Enhanced Windows support, see #70
...
* Use easier way to convert path components
* Fix failing tests on Windows
2017-10-07 09:40:44 +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
Antti Keränen
4ec33d064c
Add a comment about the default value of --threads
2017-10-03 20:21:49 +02:00
sharkdp
7399558a06
Re-structure '--help' text
2017-10-03 19:30:39 +02:00
Antti Keränen
4b61beaa75
Add flag to force color
...
Color can now be forced on even when piping the output. Changed the
--no-color flag to --color which uses the same options that ripgrep
uses for --color (excluding ansi).
Closes #49 .
2017-10-03 18:32:24 +02:00
Matthias Reitinger
2256affd8f
Fix extension comparison logic
2017-10-03 18:28:54 +02:00
Matthias Reitinger
32a321aafd
Extract entry extension only when there is an extension filter
2017-10-03 18:28:54 +02:00
Matthias Reitinger
83db8673cf
Add extension filtering
2017-10-03 18:28:54 +02:00
sharkdp
60df14f0a3
Fix build on Windows
2017-09-27 21:25:50 +02:00
sharkdp
adaf4f6d73
Reduce number of 'stat' syscalls from 3 to 1, see #36
2017-09-18 19:27:26 +02:00
sharkdp
c1b8d1eae1
Minor style changes
2017-09-17 09:37:39 +02:00
exitium
2a3dd5b631
Add file type filtering
2017-09-17 09:25:01 +02:00
sharkdp
fbce0d4f39
Fix clippy warnings
2017-09-15 21:03:47 +02:00
sharkdp
1397dbcc6f
Fix warning
2017-09-15 20:56:07 +02:00
sharkdp
b4c8a8ba56
Use N-1 search threads, where N = # cores
2017-09-09 16:13:27 +02:00
sharkdp
1268e982f6
Add --dereference as an alias for --follow
2017-09-09 15:40:32 +02:00
sharkdp
31c76989ad
Change short flag for --follow to -L, see #33
2017-09-09 15:34:25 +02:00
sharkdp
f92dfb86bb
Update help text
2017-09-09 15:25:48 +02:00
sharkdp
977e0ac694
Spawn a separate thread for the receiver
2017-09-09 15:25:48 +02:00
sharkdp
550e3b3572
Implement short-time buffering for sorted output
2017-09-09 15:25:48 +02:00
sharkdp
e06189e654
Initial version of parallel directory traversal
...
see #32
2017-09-09 15:25:48 +02:00
sharkdp
2d1d24c38c
Rename config parameter for print0 and fix sorting in tests
2017-08-01 22:36:38 +02:00
Michael Mior
1b0c8f349a
Add --print0 option
2017-07-19 17:10:06 -04:00
sharkdp
54f33e5227
Use absolute paths if root dir is an absolute path, fixes #40
2017-06-11 20:55:01 +02:00
sharkdp
1b1f644398
Throw an error if root directory is non-existent, fixes #39
2017-06-11 20:41:32 +02:00
sharkdp
24070b0be0
Handle invalid UTF-8, fixes #34
2017-06-11 15:38:56 +02:00
sharkdp
087e709acd
Use clap, change --sensitive to --case-sensitive
...
see #33
2017-06-11 14:25:58 +02:00
sharkdp
1adcf76f1b
Use atty instead of isatty
2017-06-10 17:30:48 +02:00
sharkdp
c8d4ec89a3
Use references instead of values
2017-06-09 14:39:57 +02:00
Sebastiaan Vermeulen
f7910c125d
windows compatibility ( #35 )
...
windows compatibility
2017-06-09 12:18:12 +02:00
sharkdp
2ea23c0000
Exit gracefully on broken pipe, fixes #24
2017-06-07 23:58:08 +02:00
sharkdp
8c6a9c8e32
Set static lifetime, fixes #23
2017-06-06 20:36:17 +02:00
sharkdp
4d950ae97c
Highlight executable files
2017-06-05 21:51:10 +02:00
sharkdp
8adb5b9f84
Add option to print absolute paths, closes #10
2017-06-05 21:18:27 +02:00
sharkdp
db8d0cc342
Fix clippy warning
2017-06-05 18:12:35 +02:00
sharkdp
634016b9a0
Add optional second argument, closes #5
2017-06-05 16:25:13 +02:00
sharkdp
bf013da8ff
Code clean-ups, documentation
2017-06-05 14:14:04 +02:00
sharkdp
0f5ede48d5
Restructure according to Cargo doc
2017-06-05 11:56:39 +02:00
sharkdp
c6209471a2
Re-structure code, add unit tests, use LS_COLORS
2017-06-01 22:46:15 +02:00
sharkdp
0757a50c31
Add more unit tests, search directories and symlinks too
2017-05-24 22:16:55 +02:00
sharkdp
ae12e00533
Switch to 'ignore', closes #4
2017-05-15 22:38:34 +02:00
sharkdp
b18eded6aa
Use -f instead of -F
2017-05-15 21:48:14 +02:00
sharkdp
c45cf26577
Search only filename by default, closes #22
2017-05-15 21:44:47 +02:00
sharkdp
f9cb3326c8
Only parse dir_colors if output is colored, closes #21
2017-05-15 21:41:31 +02:00
sharkdp
bb63a4c6d7
Fix search with hidden root path
2017-05-14 22:32:50 +02:00
sharkdp
b170396fc7
Another small fix for the ANSI regex
2017-05-14 22:06:23 +02:00
sharkdp
a76230b13d
Small fix for ANSI code regex
2017-05-14 20:52:50 +02:00
sharkdp
f25c73c5de
Support for normal ANSI colors
2017-05-14 20:49:14 +02:00
sharkdp
eb02069451
Parse dircolors files, closes #20
2017-05-14 19:49:12 +02:00
sharkdp
33ddee7541
Colorize each path component, closes #19
2017-05-14 17:53:14 +02:00
sharkdp
5bde3513e6
Document recursion depth
2017-05-14 17:19:45 +02:00
sharkdp
750e1ed962
Add short command line option for --hidden, see #18
2017-05-14 15:46:44 +02:00
sharkdp
9aa4f0a124
Update help message
2017-05-13 10:04:26 +02:00
sharkdp
3e5d9d81e7
Re-structure
2017-05-12 23:23:57 +02:00
sharkdp
b4a252a391
Detect interactive terminal, closes #11
2017-05-12 22:50:52 +02:00
sharkdp
e43353a0bb
Configurable search depth, closes #13
2017-05-12 22:44:06 +02:00
sharkdp
7076dcbc68
Option to search hidden directories, closes #12
2017-05-12 22:29:44 +02:00
sharkdp
1986fc4373
--filename instead of --full-path
2017-05-12 22:20:14 +02:00
sharkdp
e20bd9d3f8
Code-cleanup
2017-05-12 19:34:31 +02:00