David Peter
2569317ee8
Revert changes in help text, add /issues in manpage
2022-09-11 21:05:06 +02:00
Scott Baker
cb91a5c848
Simplify some whitespace on lines
2022-09-11 21:05:06 +02:00
Scott Baker
fcf8099587
Add Github URL to --help
also
2022-09-11 21:05:06 +02:00
Marie Katrine Ekeberg
d6b1d16bfc
Use to_string_lossy to avoid relying on Debug-outputs
2022-09-11 20:58:50 +02:00
Marie Katrine Ekeberg
c7370ca82c
Simplistic "Command not found" error message
2022-09-11 20:58:50 +02:00
Tavian Barnes
cbc6ddeefc
Implement --type executable on Windows
...
Fixes #1051 .
2022-09-11 20:46:19 +02:00
Sijmen
cb6295d025
Move current_directory variable definition closer to usage
2022-08-10 20:01:21 +02:00
Sijmen
fdcbb2f008
Allow working directory to be nonexistent if search path is given
...
Fixes #1072
2022-08-10 20:01:21 +02:00
David Peter
8b96a1e99c
Update documentation of --batch-size feature
2022-05-28 22:59:46 +02:00
Tavian Barnes
40b368e761
exec: Execute batches before they get too long
...
Fixes #410 .
2022-05-28 22:19:47 +02:00
David Peter
41affe18c4
Merge remote-tracking branch 'origin/master' into yyogo/master
2022-05-15 16:31:06 +02:00
David Peter
f57206a3a1
Update help text and man page
2022-05-15 16:22:24 +02:00
Jackson Theel
cbf3f11cf8
Make -u idempotent
2022-05-15 16:22:24 +02:00
Hang Qian
3f6ff2ca32
Match against reference instead of value
2022-04-02 20:56:38 +02:00
Jonathan Goren
60c14b1af2
make DirEntry Ord
2022-03-16 18:38:16 +02:00
Jonathan Goren
47e30d3d4a
add actual path separator value to config
2022-03-16 18:13:05 +02:00
Thayne McCombs
38b84d08d7
Fix mistakes from resolving conflicts
2022-03-15 01:40:05 -06:00
Thayne McCombs
50c0fa812f
Merge branch 'master' into master
2022-03-15 01:20:35 -06:00
Thayne McCombs
c577b0838b
Error out if no args provided to --exec or --exec-batch
...
Accepting multiple occurances means we need to check this ourselves. See
https://github.com/clap-rs/clap/issues/3542 .
2022-03-08 10:15:48 +01:00
Thayne McCombs
5a12a5e421
Use full names in command.rs
2022-03-08 10:15:48 +01:00
Thayne McCombs
9fb0c5d372
Group together output from multi exec commands
...
So that if multiple `--exec` options are given, and the commands are run
in parallel, the buffered output for related commands will be
consecutive.
2022-03-08 10:15:48 +01:00
Thayne McCombs
f27332ee8d
Fix clippy lints
2022-03-08 10:15:48 +01:00
Thayne McCombs
0aee9b0fd9
Support multiple --exec
instances
...
and `--exec-batch`.
Fixes : #406
2022-03-08 10:15:48 +01:00
Thayne McCombs
6e5c8d9c20
Fix some clippy warnings
2022-03-04 08:30:41 +01:00
Thayne McCombs
bbdb8b9d9e
Upgrade to clap 3.1
...
And fix deprecations
2022-03-02 23:32:04 -07:00
Thayne McCombs
43f276e073
Upgrade to clap 3.0
...
This wasn't backwards compatible so required some more substantial
changes.
2022-01-07 23:56:03 -07:00
Tavian Barnes
e7f192f1c6
Revert "Switch from std::sync::mpsc to crossbeam-channel"
...
@sharkdp [noticed][1] a quite severe performance degredation due to this
change. Switch back to std::sync::mpsc until we can fix the performance
regression.
This reverts commit a4bb734482
.
[1]: https://github.com/sharkdp/fd/pull/895#issuecomment-1002099369
2021-12-28 12:11:32 -05:00
Yujia Qiao
e5145ffb98
fix: disable jemalloc on risc-v target
...
`jemallocator` does not support risc-v and fails the compilation.
This fixes build for risc-v.
2021-12-28 17:38:28 +01:00
eatradish
639ed34791
Allow use to disable jemalloc
...
jemalloc will require special flags on devices where page size is not 4K. With default options fd will not work on a Mac Mini M1 where hardware only allow 16K paging size. This commit will allow the user to turn off jemalloc (using --no-default-features) under special circumstances where jemalloc is not usable.
2021-12-28 14:15:45 +01:00
Thayne McCombs
b7e077320d
Fix logic for --no-ignore-parent ( #908 )
...
Make sure that using `--no-ignore-vcs` or `--no-ignore` don't also
enable `--no-ignore-parent`. So that if `--no-ignore-vcs` is enabled, it
continues to respect .fdignore and .ignore in the parent directories.
Fixes : #907
Fixes : #901
2021-12-22 23:38:00 -07:00
Jonathan Goren
22dbed0545
convert to path instead of cloning in batch exec
...
update changelog
2021-12-11 15:43:53 +02:00
Jonathan Goren
3dc61b5f28
rename module entry -> dir_entry
2021-12-11 15:43:52 +02:00
Jonathan Goren
a26bd3232c
append trailing slash to folders
...
update changelog
2021-12-11 15:43:23 +02:00
Jonathan Goren
813a802b2c
send DirEntries to output instead of just path
2021-12-11 15:42:07 +02:00
Tavian Barnes
81669f4c10
Merge pull request #902 from tavianator/quit-senders
...
Quit senders more aggressively
2021-12-10 13:56:28 -05:00
Thayne McCombs
5ea7cb7a05
A couple of minor recommendations from the Code Quality action ( #903 )
...
use derive for a Default impl, and use a function directly instead of
needlessly wrapping it in a closure
2021-12-07 10:04:17 -07:00
Tavian Barnes
4baefb2f5a
walk: Split wants_to_quit into two separate flags
...
quit_flag is now used to quit the sender threads for any reason, either
due to an interrupt or because the receiver is done.
interrupt_flag is used specifically for ^C interrupts, and causes the
receiver to stop between printing paths, to avoid unfinished escape
sequences when colors are being used.
Fixes #867 .
2021-12-05 12:06:49 -05:00
Tavian Barnes
97a8825b00
output: Remove wants_to_quit handling from print_entry()
...
Since we only check it once per path now, we might as well just check it
before printing anything.
2021-12-05 12:06:49 -05:00
Tavian Barnes
7fe4bfaacb
Merge pull request #895 from tavianator/receiver-buffer
...
walk: Encapsulate the buffering behavior in a struct
2021-12-05 11:56:22 -05:00
Tavian Barnes
a4bb734482
Switch from std::sync::mpsc to crossbeam-channel
...
This lets us avoid https://github.com/rust-lang/rust/issues/39364 , which
could potentially be seen now that we're using recv_timeout().
2021-12-01 10:24:58 -05:00
Alexander Sieg
5fbfdfadb8
fix: disable jemalloc on FreeBSD
...
As jemalloc is the default system allocator on FreeBSD and the
jemalloc-sys crate failes to compile on FreeBSD, this fixes the build on
FreeBSD.
2021-11-28 17:42:15 +01:00
Tavian Barnes
16ae03c3b4
walk: Encapsulate the buffering behavior in a struct
...
The new ReceiverBuffer struct allows us to factor out the receiver
implementation into a number of helper methods. The new implementation
uses rx.{recv,recv_timeout} instead of a for loop, which enables us to
switch to streaming mode at the right time without waiting for more
results.
Fixes #868 .
2021-11-27 12:56:22 -05:00
David Peter
f219da4b3a
Use non-sync channel
2021-11-26 21:23:47 +01:00
Thayne McCombs
e990a13405
squash! Add buffering to stdout when it's not a terminal
...
Co-authored-by: sourlemon207 <jw1756@protonmail.com>
2021-11-26 21:23:47 +01:00
Thayne McCombs
feac240eb5
Add buffering to stdout when it's not a terminal
...
This is based on the work of #736 by @sourlemon207.
I've added the suggestion I recommended on that PR.
2021-11-26 21:23:47 +01:00
David Peter
92bd7850d0
Merge remote-tracking branch 'origin/master' into no-strip/760
2021-11-26 18:19:28 +01:00
David Peter
776f8d0f11
Shorten short help text
2021-11-26 17:58:18 +01:00
David Peter
47421a49b8
Remove strip-prefix placeholders
2021-11-26 17:58:18 +01:00
David Peter
f347379fb0
Adapt help text
2021-11-26 17:48:31 +01:00
David Peter
4d7e34ad59
Rename option to strip_cwd_prefix, rename CLI option
2021-11-26 17:46:04 +01:00
Shun Sakai
0484486f3f
Remove lazy_static
from dependencies
2021-11-25 20:06:43 +01:00
Jacob Mischka
f32060b0de
Change time comparisons to exclusive
...
Closes #794
2021-11-17 23:38:28 +01:00
Tavian Barnes
fe992706ae
Raise SIGINT when dying by ^C
...
Fixes #854 .
2021-11-15 07:53:57 +01:00
Tavian Barnes
2b1bf471b1
Add an exit() method to ExitCode
2021-11-15 07:53:57 +01:00
David Peter
088e42deef
Improve --type help text
...
closes #823
2021-11-14 21:17:57 +01:00
Tavian Barnes
66e3ccc5e1
Don't color each path component separately
...
It can be expensive to color each path component separately, requiring a
stat() call on each component. For deep hierarchies this can result in
quadratic overhead. Instead, just color the path up to the basename as
a directory.
Fixes #720 .
2021-11-14 17:42:16 +01:00
David Peter
21fd013073
Improve --full-path documentation, closes #839
2021-11-14 17:16:44 +01:00
David Peter
cdc6a37ed6
Merge remote-tracking branch 'origin/master' into pr/opposing-options
2021-11-14 16:47:53 +01:00
David Peter
2570fbd04e
Add longer help text for --prune, closes #727
2021-11-14 16:29:10 +01:00
Devon Hollowood
17dd2a6dfe
Implement --batch-size
( #866 )
2021-10-22 00:05:13 -06:00
Jonah Caplan
bf9e6fd36e
add -P option to strip prefix to tty
2021-10-17 00:29:51 -04:00
Jonah Caplan
46db1c4ef3
add {-} format for exec
2021-10-16 23:52:04 -04:00
Jonah Caplan
a41021b0d2
use interactive_terminal
2021-10-16 14:34:58 -04:00
Jonah Caplan
82f04755bf
hopefully fix build error on windows
2021-10-16 14:21:11 -04:00
Jonah Caplan
c42bf4b904
don't strip paths for -X/x, and for tty output
2021-10-16 14:15:37 -04:00
Jonah Caplan
fbc836b553
Revert -X stuff
...
This reverts commit 91860bf682
.
2021-10-16 14:03:23 -04:00
Jonah Caplan
91860bf682
fmt
2021-10-16 00:02:37 -04:00
Jonah Caplan
a4a4709320
rename Option to Config
2021-10-15 23:59:47 -04:00
Jonah Caplan
b6f8bc8ff8
also handle -X and -x with no_strip
2021-10-15 23:57:03 -04:00
Jonah Caplan
2e115df9e7
simplify check in prent_entry
2021-10-15 23:57:03 -04:00
Jonah Caplan
953f586f26
replace -N option with specifying '.' path
2021-10-15 23:57:03 -04:00
Jonah Caplan
6b92c5db90
add -N/--no-strip option to show "./" prefix on relative paths
2021-10-15 23:56:36 -04:00
Tavian Barnes
7b5b3ec47b
walk: Add a cache for DirEntry metadata
2021-10-13 09:13:44 +02:00
Niklas Mohrin
02e9850112
Refactor: Rename Options
to Config
2021-10-12 18:49:07 +02:00
Niklas Mohrin
b8c575cc8f
Refactor: extract some methods out of run
and reorder main.rs
...
Now, the top method is `main`, then comes `run`, then the methods used
in `run` follow. Generally, a method is always declared somewhere after
its first use. This way, you can read the file from top to bottom with
a decreasing level of abstraction (you start with very high-level
processes like setting the current dir and logic for which ls command to
use only comes furher down).
2021-10-12 18:49:07 +02:00
Niklas Mohrin
3de948ae0d
Refactor: use some nice Rust methods in buffering code
2021-10-12 18:49:07 +02:00
Niklas Mohrin
45a86459b2
Refactor: merge_exit_codes
now takes an impl IntoIterator<Item = ExitCode>
...
This way, callers don't need to collect into a slice / vec.
2021-10-12 18:49:07 +02:00
Thayne McCombs
00eb6461cb
Remove an unnecessary reference. ( #864 )
...
This was caught by Code Quality github action with the message:
> this expression borrows a reference (`&walk::DirEntry`) that is immediately dereferenced by the compiler
2021-10-12 00:46:15 -06:00
exploide
c3f786db43
added missing help messages to various options
...
despite they have hidden_short_help set to true, a short help message is still useful for auto-generated completions
2021-10-03 17:06:09 +02:00
Tavian Barnes
476d404938
Merge pull request #817 from will459/add_no_ignore_parent
...
Add --no-ignore-parent flag
2021-09-01 13:22:01 -04:00
Vukašin Stepanović
c749c95136
Merge branch 'master' into pr/opposing-options
2021-08-23 15:55:17 +02:00
Vukašin Stepanović
3ebd78cf02
Use overrides_with to clean up opposing arg logic
2021-08-23 15:44:11 +02:00
Vukašin Stepanović
8da936abd8
Merge branch 'pr/opposing-options' of https://github.com/Asha20/fd into pr/opposing-options
2021-08-23 15:28:45 +02:00
Vukašin Stepanović
668af05dca
Add opposing options to manpage
2021-08-23 15:27:52 +02:00
Asha20
334488cab7
Add -q/--quiet/--has-match flag ( #813 )
...
Instead of printing to stdout, the program will return 1 as the exit
code if there are no matches and 0 otherwise.
2021-08-14 17:57:01 +02:00
a1346054
5b4869a940
fix spelling
2021-08-14 16:21:02 +02:00
Thayne McCombs
8984e57dd6
Merge branch 'master' into pr/opposing-options
2021-08-11 01:44:51 -06:00
Thayne McCombs
e4730603d0
Address feedback for removing buffering when running on a single thread
2021-08-11 09:38:55 +02:00
Max Triano
154cd6e329
Clarifying comments
2021-08-11 09:38:55 +02:00
Max Triano
394e967b5f
No buffering cmd output when running on 1 thread
2021-08-11 09:38:55 +02:00
Max Triano
0f0fa76c81
Just trying some things out, initial functionality
2021-08-11 09:38:55 +02:00
Klim Tsoutsman
6a18b36037
Support --list-details on more platforms
...
Implement `--list-details` by using short options for `ls` to support more platforms (like BusyBox)
closes #783
2021-08-10 20:39:10 +02:00
Thayne McCombs
115ae93df9
Refactor file types check to be on impl of FileTypes
...
Relates to #382
2021-08-10 20:30:23 +02:00
Vukašin Stepanović
37852aa388
Add 5 opposing CLI options
...
Those are:
- `--no-hidden`, which overrides `--hidden`
- `--ignore`, which overrides `--no-ignore`
- `--ignore-vcs`, which overrides `--no-ignore-vcs`
- `--no-follow`, which overrides `--follow`
- `--relative-path`, which overrides `--absolute-path`
2021-08-09 15:49:48 +02:00
Jacob Mischka
ba60a163fe
Use local times for time functions
...
This patch uses Chrono for explicit date or datetime parsing, only using
humantime for its relative time parsing. The following formats are accepted:
1. Full RFC3339 parsing, requiring an explicit timezone
2. `YY-MM-DD`, defaulting to time `00:00:00` for the given date in the
local time zone
3. `YY-MM-DD HH:MM:SS` in the local time zone
Fixes #631 , #794
2021-08-09 13:40:55 +02:00
himself65
4e04d13215
Fix return out of match pattern
2021-08-09 13:36:09 +02:00
William Correia
f8ae334ca9
Add --no-ignore-parent flag
...
- Flag toggles parent checking in the `ignore` crate. This should
affect both git and non-git ignore files.
- Updated Changelog.
2021-08-08 17:38:24 -04:00
David Peter
b5344dac30
Improve -x/-X help text and man page description
...
closes #605
2021-08-08 22:58:13 +02:00
David Peter
aeff525c30
Attempt to fix #365
2021-08-08 15:02:01 +02:00
David Peter
2d398dc4a7
Fix directory-existence check on Windows
...
This fixes a bug on Windows where `fd` could not be used on ram disks
and encrypted folders.
closes #752
2021-08-08 15:02:01 +02:00
David Peter
b507449146
Handle IO errors based on type, closes #737
2021-08-08 13:10:16 +02:00
David Peter
d9697d1486
Make the path-separator check Windows-only
2021-08-08 13:03:31 +02:00
David Peter
515e0ee469
Do not use .clone()
2021-08-08 13:03:31 +02:00
David Peter
a0ca460901
Adjust error message
2021-08-08 13:03:31 +02:00
Kaleb Olson
693325bcf2
Adds path separator checking and hint for automatic /
expansion for some windows shells, eg., msys
2021-08-08 13:03:31 +02:00
David Peter
708efaa812
Literal separators
2021-07-27 09:05:23 +02:00
David Peter
a7a4499d1d
Fix unneeded references
2021-07-27 09:05:23 +02:00
David Peter
2a2126c40a
Fix clippy warnings
2021-07-27 09:05:23 +02:00
Andrew Mitchell
cb385a4822
Issue 624 newer older help text ( #733 )
...
* Document the newer and older aliases in the help text
* Documentation for new older aliases, remove commas
* Adds better clarification on alias usage for newer and older
* Fixes inconsistencies in help text for newer and older aliases
2021-02-25 07:39:44 +01:00
Allen Wild
1a3615df9c
set default path separator to '/' in MSYS
...
MSYS and MSYS2 environments (such as Git Bash) have a UNIX like
filesystem which uses '/' as the path separator rather than '\', but
Rust doesn't know about this by default.
On Windows, check the MSYSTEM environment variable and set the default
value of the --path-separator option to '/' for convenience.
There is no similar detection of Cygwin because there seems to be no way
for Rust (and any native Win32) programs to detect that they're being
called from a Cygwin environment. Cygwin users can use a shell
alias/function/script to wrap fd.
Fixes: https://github.com/sharkdp/fd/issues/537
2021-02-15 20:08:59 +01:00
David Peter
cf7dd43f80
Hide --print0 from the short help text
2021-02-14 20:02:37 +01:00
Allen Wild
8a532e5196
use custom --path-separator in arguments to --exec
...
When --path-separator is used, pass it on to commands run with
--exec(-batch) and --list-details.
On Windows, paths with drive letters (C:\foo) and UNC paths
(\\server\share\path) are handled as expected, though they're unlikely
to be found in normal usage of fd.
Fixes: https://github.com/sharkdp/fd/issues/697
2021-02-14 10:24:41 +01:00
johnwdjiang
b8089f8d58
hide private func
2021-02-13 21:55:38 +01:00
David Peter
85fb7389af
Shorter help text for --exec
2021-02-13 21:25:50 +01:00
Archer Stéphane
eb28030f87
include similar change to src/app.rs after feeback
2021-02-13 21:24:15 +01:00
sharkdp
cadaef3f07
Show error if pattern matches leading dot but --hidden is not given, closes #615
2020-12-06 15:57:33 +01:00
sharkdp
17bd256ae6
Improve --fixed-strings help text, closes #627
2020-12-06 14:57:47 +01:00
sharkdp
ecfd8cea41
Update --help text regarding pattern, closes #684
2020-12-06 12:31:31 +01:00
sharkdp
d2659de782
Improve --extension help text, closes #673
2020-12-06 12:20:50 +01:00
sharkdp
d205a7ff9e
Improve --exclude help text, closes #661
2020-12-06 12:15:01 +01:00
sharkdp
296300ce46
Fix clippy suggestions
2020-12-06 12:04:47 +01:00
sharkdp
ea48a96945
Run cargo fmt
2020-12-06 12:02:22 +01:00
xanonid
441a235a0f
Simplify code a bit (suggestions by clippy)
2020-12-06 11:52:10 +01:00
xanonid
2cd3de8b94
Use NO_COLOR env variable check also for help screen
2020-12-06 11:52:10 +01:00
Marco Sirabella
6830b3dee9
Better defaults for LsColors
2020-12-06 11:48:19 +01:00
Platon Pronko
e97a1e90cb
Add exact size support to the --size filter ( #669 )
2020-12-06 11:47:27 +01:00
sharkdp
b2fa188029
Avoid panic when sending errors after receiver shutdown
...
fixes #678
2020-10-28 13:10:25 +01:00
David Peter
e0adb45d08
Fail with error message if numeric arguments can not be parsed
...
closes #675
2020-10-25 21:18:53 +01:00
Matthias Reitinger
ec4cc981fc
Add --prune flag
...
closes #535
2020-10-25 08:16:01 +01:00
Amrit Rathie
fd1ddc9d08
Change dependency dirs to dirs-next
2020-10-24 15:25:07 +02:00
Allen Wild
99934ab98c
add --base-directory, --path-separator, and --search-path to the man page
...
These options are in `fd --help` but missing from the man page.
Also fix a typo in the help text for --base-directory.
2020-10-14 08:35:09 +02:00
Fredrik Fornwall
a851570b15
Disable jemalloc on Android ( fixes #636 and #642 )
...
Disabling jemalloc for Android fixes a build failure since jemalloc does
not build out of the box for that platform on older API versions.
Android started using jemalloc as the system allocator around 2014 for
most devices. In the latest Android version (11) the system allocator
has been switched to Scudo, which while not being jemalloc is modern and
actively maintained and should be used for most software on Android.
See:
- https://android-developers.googleblog.com/2020/06/system-hardening-in-android-11.html
- https://blog.nsogroup.com/a-tale-of-two-mallocs-on-android-libc-allocators-part-2-jemalloc/
- https://stackoverflow.com/questions/2266762/android-libc-version-and-malloc-implementation
2020-10-08 12:45:48 +02:00
gorogoroumaru
74c3431a2b
improve time option usage ( #645 )
...
* improve time option usage
2020-09-10 00:34:27 -06:00
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
e3c77ef7f5
Update --size documentation
...
closes #584
2020-05-19 17:06:32 +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
sharkdp
3283a7b345
Fix warning
2020-05-19 14:01:00 +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
6a68ac8c27
[ownership] add help text for --owner
2020-05-18 21:11:33 +02:00
Alexandru Macovei
09cdf9831d
[ownership] parse leading exclamation mark as negation of ownership component
2020-05-18 21:11:33 +02:00
Alexandru Macovei
22a55361e0
[ownership] change uid/gid storage to tristate enum for negation
2020-05-18 21:11:33 +02:00