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