Thayne McCombs
2c3e40c9d9
Use new Shell::from_env method in clap_complete
...
Instead of having an fd specific implementation.
2022-11-11 02:09:41 -07:00
Thayne McCombs
0773b3067e
Fix some warnings from clippy
...
I'm guessing these are new warnings from the Rust 1.65 release
2022-11-08 01:09:06 -07:00
Dominik Hassler
6ebc366146
anyhow is not only used for the completions feature
2022-11-07 17:11:00 +00:00
David Peter
99d1db8cb3
Merge pull request #1164 from tmccombs/owner-without-panic
...
Fix panic when using --owner
2022-11-03 09:08:09 +01:00
David Peter
fbef976b92
Merge pull request #1159 from tmccombs/silence-large-variant
...
Silence warning about large enum variant
2022-11-03 08:54:52 +01:00
Thayne McCombs
55aae3a8c0
Silence warning about large enum variant
...
Because boxing the large variant is probably worse.
2022-11-03 00:56:56 -06:00
Thayne McCombs
c159ea2042
Fix panic when using --owner
...
Unfortunately, clap_derive can't combine a value_parser of Option<T>
with an optional argument to get a merged Option<T> so we need to do the
check for the nop outside of the value parser.
Also adds some tests for --owner
Fixes : #1163
2022-11-02 23:26:02 -06:00
David Peter
f15be89bff
Fix --threads/-j option value parsing
2022-11-02 13:32:22 +01:00
David Peter
12165c73f8
Reorder command line options
2022-11-01 21:17:48 +01:00
David Peter
70c4865191
Set max. term width to make help texts easier to read
2022-11-01 21:14:16 +01:00
David Peter
7f5bc9884f
Add simple 'about' text
2022-11-01 21:02:37 +01:00
David Peter
ac35b11dc8
Change clap CLI binary name to 'fd'
2022-11-01 21:00:32 +01:00
David Peter
b57ed11f65
Merge pull request #1137 from amesgen/batch-exit-code
...
Respect exit codes with `--exec-batch`
2022-11-01 20:42:28 +01:00
David Peter
831fe666fa
Remove outdated TODO comment
2022-11-01 20:34:42 +01:00
David Peter
5771e74b95
Add newlines between options
2022-11-01 20:18:17 +01:00
David Peter
55029e889e
Minor: add missing full stop
2022-11-01 20:13:32 +01:00
David Peter
3f72ef4cdd
Remove outdated TODO comment
2022-11-01 20:07:09 +01:00
David Peter
169d22fde2
Merge remote-tracking branch 'origin/master' into clap-derive
2022-11-01 20:00:16 +01:00
Tavian Barnes
5278405263
walk: Use a bounded queue.
...
Fixes #918 .
2022-11-01 19:48:39 +01:00
Tavian Barnes
5bb7a52704
walk: Switch back to crossbeam-channel
...
Fixes #933 . Fixes #1060 . Fixes #1113 .
2022-11-01 19:48:39 +01:00
Tavian Barnes
93e5488420
walk: Simplify the code in scan() a bit
2022-11-01 15:36:48 +01:00
Thayne McCombs
36ee44a3f6
Make help output more like what it was before use clap_derive
...
In particular, we specifically use `long_help` instead of doc comments
because using doc comments will always trim the "." off the end of the
first paragraph, and will include the short help as the first paragraph
of the full help.
2022-11-01 02:30:22 -06:00
Thayne McCombs
8500c3193d
Merge remote-tracking branch 'upstream/master' into clap-derive
2022-11-01 01:12:41 -06:00
Tavian Barnes
cd8ec44abf
Address review comments
2022-10-31 22:23:30 +01:00
Tavian Barnes
17d849df6c
Compute colors in parallel
2022-10-31 22:23:30 +01:00
Tavian Barnes
b2c8888a50
dir_entry: Implement file_name() for broken symlinks
2022-10-31 22:23:30 +01:00
Tavian Barnes
7917c00887
dir_entry: Implement lscolors::Colorable
2022-10-31 22:23:30 +01:00
Thayne McCombs
3782278f02
Improve help output
2022-10-20 00:34:52 -06:00
Thayne McCombs
a3622ba294
Remove TODO comment
...
In favor of tracking scoped threads in #1141
2022-10-19 23:43:45 -06:00
Thayne McCombs
aec125637b
Fix format
2022-10-14 23:14:03 -06:00
amesgen
cb95f1dcd5
Respect exit codes with --exec-batch
2022-10-13 23:33:54 +02:00
Thayne McCombs
b6f0088b68
Change thread option to take u32 instead of usize
...
To simplify the option parsing.
2022-10-12 00:33:49 -06:00
Thayne McCombs
c2115884de
Fix deprecations from clap 4.0
2022-10-11 22:27:57 -06:00
Thayne McCombs
aca64c09f8
Actually test if exec or exec-batch is used
...
By the time we check if we should strip the cwd, we've already moved the
command out of the options, so store if we got that out earlier.
2022-10-09 01:25:03 -06:00
Thayne McCombs
86c33492a7
Fix name of powershell in guess_shell
2022-10-09 01:05:27 -06:00
Thayne McCombs
c41d61eeda
Merge remote-tracking branch 'upstream/master' into clap-derive
2022-10-09 01:00:48 -06:00
Thayne McCombs
5b9e302e9b
Support powershell when guessing shell for completions
2022-10-09 00:02:28 -06:00
Thayne McCombs
f4c34b81c7
Upgrade to clap 4.0
2022-10-08 23:51:45 -06:00
Thayne McCombs
a50e417c67
Add action clap attribute to fixed_strings
2022-10-08 00:42:11 -06:00
Thayne McCombs
ff7336b202
clap derive suggestions from epage
2022-10-08 00:42:11 -06:00
Thayne McCombs
e6f4805bae
Fix clippy warnings
2022-10-08 00:42:11 -06:00
Thayne McCombs
066ce41299
Fix case of color options to ls
2022-10-08 00:42:11 -06:00
Thayne McCombs
b7f5f4ac7d
Improve help output after switch to clap-derive
...
Make it more like it used to be.
2022-10-08 00:42:11 -06:00
Thayne McCombs
4e7b403c1f
Use clap-derive for option parsing
...
This makes the definition of arguments to fd a little more ergonomic,
and makes it easier to insure the types for the arguments are consitent.
2022-10-08 00:41:33 -06:00
Tavian Barnes
4ffc34956f
Make --strip-cwd-prefix apply to -x/-X
...
Fixes #898 .
2022-10-03 21:35:39 +02:00
David Peter
e3e6057434
Minor adaptation to help text
2022-09-27 21:00:29 +02:00
Scott Baker
12142008df
Add a link back to Github to --help
(but not -h
)
2022-09-27 21:00:29 +02:00
Tavian Barnes
4419401b6c
Enable --strip-cwd-prefix by default except with -0
...
Fixes #1046 .
2022-09-27 20:56:24 +02:00
Tavian Barnes
e46d402ed1
Enable jemallocator on 64-bit musl builds
...
Partial fix for #710 and #980 .
2022-09-19 21:10:05 +02:00
David Peter
9ea882d7cc
Fix clippy suggestions
2022-09-11 21:29:43 +02:00
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