Commit Graph

202 Commits

Author SHA1 Message Date
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
dependabot[bot]
8772708aa7
Bump clap from 2.33.3 to 2.34.0 (#900)
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.3 to 2.34.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/commits)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-01 13:58:05 -07: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
David Peter
72cc9a876c Bump version 2021-11-26 22:18:50 +01:00
Shun Sakai
0484486f3f Remove lazy_static from dependencies 2021-11-25 20:06:43 +01:00
Tavian Barnes
fe992706ae Raise SIGINT when dying by ^C
Fixes #854.
2021-11-15 07:53:57 +01:00
David Peter
cdc6a37ed6 Merge remote-tracking branch 'origin/master' into pr/opposing-options 2021-11-14 16:47:53 +01:00
Thayne McCombs
1236b1dbcf Update some dependencies
Combination of dependabot prs.
2021-11-01 22:41:56 -06:00
Tavian Barnes
7b5b3ec47b walk: Add a cache for DirEntry metadata 2021-10-13 09:13:44 +02:00
Thayne McCombs
3c619afe30 Update dependencies
in Cargo.lock and Cargo.toml
2021-09-01 17:32:57 -06:00
Thayne McCombs
8984e57dd6 Merge branch 'master' into pr/opposing-options 2021-08-11 01:44:51 -06: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
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
dependabot[bot]
ab81cad3b5 Bump regex from 1.4.6 to 1.5.4
Bumps [regex](https://github.com/rust-lang/regex) from 1.4.6 to 1.5.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.4.6...1.5.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-08 12:14:50 +02:00
dependabot[bot]
ad1b267601 Bump filetime from 0.2.13 to 0.2.14
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.13 to 0.2.14.
- [Release notes](https://github.com/alexcrichton/filetime/releases)
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.13...0.2.14)

---
updated-dependencies:
- dependency-name: filetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-08 11:48:47 +02:00
dependabot[bot]
b80764b19a Bump regex from 1.4.2 to 1.4.6
Bumps [regex](https://github.com/rust-lang/regex) from 1.4.2 to 1.4.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.4.2...1.4.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-08 11:27:36 +02:00
sharkdp
6a3aae52fd Bump version to v8.2.1 2020-12-07 19:01:36 +01:00
sharkdp
f2fec45099 Update dirs-next and users dependency 2020-12-06 12:02:04 +01:00
sharkdp
54603501ec Bump version 2020-12-06 11:56:36 +01:00
Amrit Rathie
fd1ddc9d08 Change dependency dirs to dirs-next 2020-10-24 15:25:07 +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
sharkdp
5648597a61 Bump version to 8.1.1 2020-05-25 15:38:30 +02:00
sharkdp
a954944d69 Prepare 8.1.0 release 2020-05-19 17:58:07 +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
Bobbie Soedirgo
79d5a5bdc5 Add global fdignore support 2020-05-18 21:19:09 +02:00
Alexandru Macovei
d7cc34e36f [ownership] depend on users 0.10.0 on unix; parse user and group names 2020-05-18 21:11:33 +02:00
sharkdp
ee1a9f567f Bump version to 8.0 2020-04-16 10:02:29 +02:00
sharkdp
bce95274e3 Proper error handling in main.rs 2020-04-03 22:36:32 +02:00
sharkdp
364555fd71 Clean up Cargo.toml 2020-04-03 10:35:30 +02:00
sharkdp
5fc341832d Update lscolors dependency, closes #552 2020-04-01 11:25:18 +02:00
sharkdp
4a237c591e Update humantime dependency 2020-03-22 15:56:52 +01:00
sharkdp
e5e14f31c4 Bump version to 7.5.0 2020-03-22 15:48:55 +01:00
sharkdp
9350c8544d Clean up cfg line 2019-09-15 18:58:05 +02:00
sharkdp
f55033818d Disable crate in Windows + musl builds 2019-09-15 18:58:05 +02:00
sharkdp
5a154866e3 Use jemalloc
Benchmark #1: ./fd-sys-alloc '[0-9]\.jpg$' /home/shark
  Time (mean ± σ):     246.8 ms ±   3.4 ms    [User: 960.1 ms, System: 810.0 ms]
  Range (min … max):   244.1 ms … 257.1 ms    12 runs

Benchmark #2: ./fd-jemalloc '[0-9]\.jpg$' /home/shark
  Time (mean ± σ):     201.0 ms ±   3.0 ms    [User: 833.9 ms, System: 666.9 ms]
  Range (min … max):   196.1 ms … 206.9 ms    14 runs

Summary
  './fd-jemalloc '[0-9]\.jpg$' /home/shark' ran
    1.23 ± 0.03 times faster than './fd-sys-alloc '[0-9]\.jpg$' /home/shark'
2019-09-15 18:58:05 +02:00
sharkdp
ac3e0e18e4 Update lscolors for compatible ansi_term versions 2019-09-15 17:30:13 +02:00
sharkdp
a991ed4488 Update dependencies 2019-09-15 17:26:19 +02:00
sharkdp
25a728529d Bump version 2019-09-15 17:06:30 +02:00
sharkdp
d5da615c17 Implement glob-based searches
closes #284
2019-09-15 16:47:38 +02:00
sharkdp
acd4910f2c Update dependencies 2019-02-13 19:53:48 +01:00
sharkdp
c83bcfbdfc Bump version number 2019-02-13 19:50:50 +01:00
sharkdp
8c197d2866 Update to new lscolors version 2019-01-08 21:28:43 +01:00
Alexandru Macovei
630f173724 [2018 edition] enable 2018 edition 2019-01-07 12:52:30 +01:00
sharkdp
ecd5ec6387 Bump lscolors version 2018-12-14 23:20:18 +01:00
sharkdp
4b5efa3438 Use lscolors crate
Use my new [lscolors](https://github.com/sharkdp/lscolors) crate instead
of the internal `lscolors` module

- Speeds up `LS_COLORS` querying, leading to a nice 25% performance
  improvement when
- Adds support for 24-bit colors and background colors

closes #368
closes #363
2018-12-14 23:20:18 +01:00
sharkdp
26c2371835 Bump version 2018-10-27 17:09:00 +02:00
Benjamin Fox
b98f0783ff Enable link-time optimization in release builds
This gives a significant improvement to runtime performance, at the cost of somewhat worse compile times.
2018-10-14 18:47:25 +02:00
Karim SENHAJI
abe8aa55c0 clean-up first implementation of modification date filter 2018-10-10 19:52:37 +02:00
Karim SENHAJI
54c117d72f Add support for --changed-before and --changed-with for modification time based search 2018-10-10 19:52:37 +02:00
sharkdp
1c7e647f61 Bump version 2018-08-19 18:50:41 +02:00
kpcyrd
e4f61bc795 Remove unused windows dependencies 2018-08-18 16:40:08 +02:00
Josh Sleeper
9628d7fdcb chore(crate-updates): updated all crates to latest versions 2018-05-05 08:56:04 +02:00
sharkdp
011e09840a Bump version number 2018-03-26 10:16:18 +02:00
sharkdp
c654159bf2 Update to ansi_term 0.11 2018-03-12 23:19:20 +01:00
Josh Stone
588b0dc7c9 Update to regex-syntax 0.5
The new regex 0.2.7 has updated to regex-syntax 0.5, so it seems prudent
to update fd's dependency too, if only to avoid duplication.
2018-03-12 22:11:00 +01:00
sharkdp
8805bd32e2 Update dependencies 2018-02-21 22:55:26 +01:00
sharkdp
a6086abe7f Updates for v6.3.0 2018-02-10 16:46:42 +01:00
sharkdp
61a065dd92 Update version information 2018-01-03 10:40:28 +01:00
sharkdp
8dde7c3365 Re-enable help-text wrapping 2018-01-01 16:01:29 +01:00
sharkdp
aaf9e024d5 Updates for 6.1.0 2017-12-09 21:40:13 -08:00
Dock
51aea57a6a Add multiple path support (#182)
* Adding support for multiple paths. (panic)

- Started adding multiple file support
- fd panics with multiple files right now

* Moved the ctrlc handler to main.

- Moved the ctrlc handler to main so we can search multiple files

* Tests now allow custom directory setup

- TestEnv::new() now takes two arguments, the directories to create and
the files to create inside those directories.

* rust-fmt changes

* rust-fmt changes

* Moving code around, no need to do everything in one big loop

- PathDisplay was never actually used for anything, removed it during refactor of main
- Removed redundant logic for absolute paths
- Moved code placed needlessly inside a loop in the last commit outside of that loop.

* Moving code around, no need to do everything in one big loop

- PathDisplay was never actually used for anything, removed it during refactor of main
- Removed redundant logic for absolute paths
- Moved code placed needlessly inside a loop in the last commit outside of that loop.

* Removed commented code in testenv

* Refactored walk::scan to accept the path buffer vector. Using the ParallelWalker allows for multithreaded searching of multiple directories

* Moved ctrlc handler back into walker, it is only called once from main now.

* Moved the colored output check back to it's original place

* Removing shell-escape, not sure how it got added...

* Added test for `fd 'a.foo' test1` to show that a.foo is only found in the test1 and not the test2 direcotry

* Removing side effect from walk::scan, `dir_vec` is no longer a mutable reference and an iterator is being used instead.

* Running rustfmt to format code correctly
2017-12-06 14:52:23 -08:00
Dock
c0bfc65d88 Handle terminal signals (#128)
fixes #87
2017-11-22 23:05:09 +01:00
sharkdp
9be32fa6a7 Bump version number 2017-11-15 23:39:55 +01:00
Matthias Reitinger
18709b1ede Remove shell with --exec 2017-11-15 23:18:36 +01:00
Adit Cahya Ramadhan
673392045f Check minimal rustc version on the build process 2017-11-13 19:27:51 +01:00
sharkdp
c022528f54 Bump version for crates.io
[ci skip]
2017-10-26 22:24:07 +02:00
sharkdp
b3f1e1844d Move 'win' crate back into local module
This is necessary to publish on crates.io
2017-10-26 21:59:12 +02:00
J.W
d702d849ea Test --exec on Unix 2017-10-26 20:56:32 +02:00
J.W
6b232a82ee Fix --exec 2017-10-26 20:56:32 +02:00
sharkdp
e9cf8af911 Updates and preparations for v5.0 2017-10-22 12:10:51 +02:00
Antti Keränen
701b8f209b Relicense under MIT/Apache-2.0 2017-10-22 10:36:42 +02:00
J.W
570ea78d24 jakwings/fd@a44e677 -> subdirectory "win" 2017-10-21 00:33:49 +02:00
J.W
ce73c086b6 Auto disable colored output for unsupported Windows shells 2017-10-21 00:33:49 +02:00
Michael Aaron Murphy
ad1b4f3b2b Optimize grouping for *nix archs 2017-10-14 21:45:31 -04:00
Michael Aaron Murphy
137fe2e697 Merge Conflicts 2017-10-14 12:35:16 -04:00
Michael Aaron Murphy
4a5a5faf4d Implement --exec feature
Closes #84
2017-10-14 12:24:17 -04:00
sharkdp
be2238ddf4 Fix Cargo warnings 2017-10-14 12:04:57 +02:00
Matthias Reitinger
b441528067 Improve smart case to only consider literal uppercase chars (#103) 2017-10-14 11:03:21 +02:00
sharkdp
2403ac350a cargo update 2017-10-05 00:01:56 +02:00
Matthias Reitinger
6f22957cdc Re-write integration tests in Rust (#67)
* Rewrite integration tests in Rust.
* Improve failure output for integration tests.
* Move TestEnv to separate module.
* Remove old integration tests script.
* Re-add integration test for subdirectory.
2017-10-04 23:19:30 +02:00
Florian Hofmair
396b9baaa5 Use clap to generate shell completions 2017-10-04 18:00:25 +02:00
sharkdp
8073635177 Add badges 2017-09-27 21:47:41 +02:00
sharkdp
c1b8d1eae1 Minor style changes 2017-09-17 09:37:39 +02:00
sharkdp
916b55fae1 Update Cargo.toml, see #42 2017-09-09 19:15:35 +02:00
sharkdp
4884c23283 Update development instructions 2017-09-09 19:04:17 +02:00
sharkdp
b4c8a8ba56 Use N-1 search threads, where N = # cores 2017-09-09 16:13:27 +02:00
sharkdp
c55b255a3e Update dependencies 2017-09-09 15:25:48 +02:00
sharkdp
dfd7433347 Bump to v2.0.0 2017-06-13 20:29:29 +02:00
sharkdp
087e709acd Use clap, change --sensitive to --case-sensitive
see #33
2017-06-11 14:25:58 +02:00
sharkdp
1adcf76f1b Use atty instead of isatty 2017-06-10 17:30:48 +02:00
sharkdp
c8d4ec89a3 Use references instead of values 2017-06-09 14:39:57 +02:00
sharkdp
4d950ae97c Highlight executable files 2017-06-05 21:51:10 +02:00
sharkdp
0f5ede48d5 Restructure according to Cargo doc 2017-06-05 11:56:39 +02:00
sharkdp
c6209471a2 Re-structure code, add unit tests, use LS_COLORS 2017-06-01 22:46:15 +02:00
sharkdp
ae12e00533 Switch to 'ignore', closes #4 2017-05-15 22:38:34 +02:00
sharkdp
9bf008b319 Bump version 2017-05-14 22:16:10 +02:00
sharkdp
9aa4f0a124 Update help message 2017-05-13 10:04:26 +02:00
sharkdp
b4a252a391 Detect interactive terminal, closes #11 2017-05-12 22:50:52 +02:00
sharkdp
fba5e02c25 Colored output, closes #8 2017-05-12 13:02:20 +02:00
sharkdp
12bfee0bec Re-write in rust 2017-05-12 11:50:54 +02:00