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
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