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
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
41affe18c4
Merge remote-tracking branch 'origin/master' into yyogo/master
2022-05-15 16:31:06 +02:00
Jackson Theel
cbf3f11cf8
Make -u idempotent
2022-05-15 16:22:24 +02:00
Jonathan Goren
47e30d3d4a
add actual path separator value to config
2022-03-16 18:13:05 +02: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
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
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
3dc61b5f28
rename module entry -> dir_entry
2021-12-11 15:43:52 +02:00
Jonathan Goren
813a802b2c
send DirEntries to output instead of just path
2021-12-11 15:42:07 +02: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
David Peter
92bd7850d0
Merge remote-tracking branch 'origin/master' into no-strip/760
2021-11-26 18:19:28 +01:00
David Peter
4d7e34ad59
Rename option to strip_cwd_prefix, rename CLI option
2021-11-26 17:46:04 +01:00
Tavian Barnes
2b1bf471b1
Add an exit() method to ExitCode
2021-11-15 07:53:57 +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
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
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
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
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
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
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
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
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
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
2a2126c40a
Fix clippy warnings
2021-07-27 09:05:23 +02: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
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
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
296300ce46
Fix clippy suggestions
2020-12-06 12:04:47 +01:00
xanonid
441a235a0f
Simplify code a bit (suggestions by clippy)
2020-12-06 11:52:10 +01:00
Marco Sirabella
6830b3dee9
Better defaults for LsColors
2020-12-06 11:48:19 +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