summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
AgeCommit message (Collapse)Author
2019-01-19edition: move core ripgrep to Rust 2018Andrew Gallant
2019-01-19deps: update to bytecount 0.5Andrew Gallant
bytecount now uses runtime dispatch for enabling SIMD, which means we can no longer need the avx-accel features. We remove it from ripgrep since the next release will be a minor version bump, but leave them as no-ops for the crates that previously used it.
2018-09-13deb: add section infoykgmfq
Put it in the same section as https://packages.debian.org/stretch/grep PR #1051
2018-09-08pcre2: use jit_if_availablegrep-pcre2-0.1.2grep-0.2.3Andrew Gallant
This will allow PCRE2 to fall back to non-JIT matching when running on platforms without JIT support. ref https://github.com/BurntSushi/rust-pcre2/issues/3
2018-09-07deb: add completionsAndrew Gallant
This commit adds Bash, zsh and fish completions to the Debian binary package. Fixes #1032
2018-09-07deps: update versions for all cratesAndrew Gallant
I don't think every change here is needed, but this ensures we're using the latest version of every direct dependency.
2018-09-04deps: update grep versionAndrew Gallant
2018-09-04grep-cli: introduce new grep-cli crateAndrew Gallant
This commit moves a lot of "utility" code from ripgrep core into grep-cli. Any one of these things might not be worth creating a new crate, but combining everything together results in a fair number of a convenience routines that make up a decent sized crate. There is potentially more we could move into the crate, but much of what remains in ripgrep core is almost entirely dealing with the number of flags we support. In the course of doing moving things to the grep-cli crate, we clean up a lot of gunk and improve failure modes in a number of cases. In particular, we've fixed a bug where other processes could deadlock if they write too much to stderr. Fixes #990
2018-08-25ripgrep: use winapi-util for stdin_is_readableAndrew Gallant
2018-08-21deps: update clapAndrew Gallant
Update clap to the latest version. Also, drop the ansi_term dependency by disabling color output in clap's error messages.
2018-08-21release: better support for binary Debian packageAndrew Gallant
This commit beefs up the package metadata used by the 'cargo deb' tool to produce a binary dpkg. In particular, we now include ripgrep's man page. This commit includes a new script, 'ci/build_deb.sh', which will handle the build process for a dpkg, which has become a bit more nuanced than just running 'cargo deb'. We don't (yet) run this script in CI. Fixes #842
2018-08-20tests: re-tool integration testsAndrew Gallant
This basically rewrites every integration test. We reduce the amount of magic involved here in terms of which arguments are being passed to ripgrep processes. To make up for the boiler plate saved by the magic, we make the Dir (formerly WorkDir) type a bit nicer to use, along with a new TestCommand that wraps a std::process::Command. In exchange, we get tests that are easier to read and write. We also run every test with the `--pcre2` flag to make sure that works, when PCRE2 is available.
2018-08-20ripgrep: migrate to libripgrepAndrew Gallant
This commit does the work to delete the old `grep` crate and effectively rewrite most of ripgrep core to use the new libripgrep crates. The new `grep` crate is now a facade that collects the various crates that make up libripgrep. The most complex part of ripgrep core is now arguably the translation between command line parameters and the library options, which is ultimately where we want to be.
2018-08-20libripgrep: initial commit introducing libripgrepAndrew Gallant
libripgrep is not any one library, but rather, a collection of libraries that roughly separate the following key distinct phases in a grep implementation: 1. Pattern matching (e.g., by a regex engine). 2. Searching a file using a pattern matcher. 3. Printing results. Ultimately, both (1) and (3) are defined by de-coupled interfaces, of which there may be multiple implementations. Namely, (1) is satisfied by the `Matcher` trait in the `grep-matcher` crate and (3) is satisfied by the `Sink` trait in the `grep2` crate. The searcher (2) ties everything together and finds results using a matcher and reports those results using a `Sink` implementation. Closes #162
2018-08-06deps: update bytecount to 0.3.2llogiq
PR #1003
2018-08-03release: 0.9.00.9.0Andrew Gallant
2018-07-22deps: update atty and winapiAndrew Gallant
This updates atty and winapi to their latest versions, including the bug fix in atty that allows it to work with winapi 0.3.5.
2018-07-21ripgrep: replace decoder with encoding_rs_ioAndrew Gallant
This commit mostly moves the transcoder implementation to its own crate: https://github.com/BurntSushi/encoding_rs_io The new crate adds clear documentation and cleans up the implementation to fully implement the contract of io::Read.
2018-07-21crates.io: use 'OR' instead of '/'Andrew Gallant
Fixes #987
2018-07-17deps: bump various dependenciesAndrew Gallant
Nothing major here. All patch releases. This should bring us completely up to date with all direct dependencies.
2018-07-17deps: bump encoding_rs to 0.8Andrew Gallant
This brings in performance improvements.
2018-07-17deps: get rid of unstable featureAndrew Gallant
This was introduced as a temporary measure for dealing with the regex crate's unstable feature, but it was never included in a release of ripgrep. Thus, we remove it. The regex crate will now automatically enable SIMD optimizations when available.
2018-07-17deps: update termcolor to 1.0.0Andrew Gallant
2018-06-23ripgrep: disable autotestsAndrew Gallant
This keeps us working in Rust 2018. Fixes #923
2018-05-07deps: update regex to 1.0Bastien Orivel
We retain the `simd-accel` feature on globset for backwards compatibility, but will remove it in the next semver release.
2018-04-26doc: update crates.io descriptionAndrew Gallant
This brings it in line with the README.
2018-04-23deps: update to atty 0.2.9Andrew Gallant
https://github.com/softprops/atty/pull/25 was merged, so we can upgrade.
2018-04-21globset: release 0.4.0globset-0.4.0Andrew Gallant
2018-04-21deps: pin to atty 0.2.6Andrew Gallant
atty 0.2.7 (and 0.2.8) contain a regression in cygwin terminals that prevents basic use of ripgrep, and is also the cause of the Windows CI test failures. For now, we pin to 0.2.6, but a patch has been submitted upstream: https://github.com/softprops/atty/pull/25
2018-03-17deps: update regexDezhi “Andy” Fang
This fixes build failures on latest nightly with SIMD features.
2018-03-12deps: update regex crateAndrew Gallant
This update brings with it a new feature of the regex crate which will now use SIMD optimizations automatically at runtime with no necessary compile time flags. All that's needed is to enable the `unstable` feature. Other crates, such as bytecount and encoding_rs, are still using the old-style SIMD support, so we leave the simd-accel and avx-accel features. However, the binaries we distribute on Github no longer have those features enabled, which makes them truly portable. Fixes #135
2018-02-20release: 0.8.1Andrew Gallant
2018-02-11release: 0.8.00.8.0Andrew Gallant
2018-02-11ignore: release 0.4.0ignore-0.4.0Andrew Gallant
2018-02-11globset: release 0.3.0globset-0.3.0Andrew Gallant
2018-02-11termcolor: release 0.3.4termcolor-0.3.4Andrew Gallant
2018-02-11grep: release 0.1.8grep-0.1.8Andrew Gallant
2018-02-10doc: overhaul documentationAndrew Gallant
This commit cleans up the README and splits portions of it out into a user guide (GUIDE.md) and a FAQ (FAQ.md). The README now provides a small list of documentation "quick" links to various parts of the docs. This commit also does a few other minor touchups.
2018-02-06argv: update clap to 2.29.4Andrew Gallant
We use the new AppSettings::AllArgsOverrideSelf to permit all flags to be specified multiple times. This removes the need for our previous work-around where we would enable `multiple` for every flag and then just extract the last value when consuming clap's matches. We also add a couple regression tests that ensure repeated switches and flags work as expected.
2018-02-04deps: remove vec-map feature from clapAndrew Gallant
This removes the vec-map feature from clap. clap's README claims that vec-map provides a small performance benefit, but I could observe any in ripgrep workloads. The benefit here is that it drops a dependency. Amazingly, this drops whole release build times for ripgrep from 68s to 33s, and debug build time also decreases from 22s to 15.5s. This was entirely unintentional but a welcome surprise.
2018-02-04logger: drop env_loggerAndrew Gallant
This commit updates the `log` crate to 0.4 and drops the dependency on env_logger. In particular, the latest version of env_logger brings in additional non-optional dependencies such as chrono that I don't think is worth including into ripgrep. It turns out ripgrep doesn't need any fancy logging. We just need a concept of log levels and the ability to print to stderr. Therefore, we just roll our own super simple logger. This update is motivated by the persistent configuration task. In particular, we need the ability to toggle the global log level more than once, and this doesn't appear to be possible with older versions of the log crate.
2018-02-01windows: fix OneDrive traversalsAndrew Gallant
This commit fixes a bug on Windows where directory traversals were completely broken when attempting to scan OneDrive directories that use the "file on demand" strategy. The specific problem was that Rust's standard library treats OneDrive directories as reparse points instead of directories, which causes methods like `FileType::is_file` and `FileType::is_dir` to always return false, even when retrieved via methods like `metadata` that purport to follow symbolic links. We fix this by peppering our code with checks on the underlying file attributes exposed by Windows. We consider an entry a directory if and only if the directory bit is set on the attributes. We are careful to make sure that the code remains the same on non-Windows platforms. Note that we also bump the dependency on `walkdir`, which contains a similar fix for its traversals. This bug is recorded upstream: https://github.com/rust-lang/rust/issues/46484 Upstream also has a pending PR: https://github.com/rust-lang/rust/pull/47956 Fixes #705
2018-01-30deps: update bytecountllogiq
This improves performance with current nightly rustc.
2018-01-30search: add support for searching compressed filesBalaji Sivaraman
This commit adds opt-in support for searching compressed files during recursive search. This behavior is only enabled when the `-z/--search-zip` flag is passed to ripgrep. When enabled, a limited set of common compression formats are recognized via file extension, and a new process is spawned to perform the decompression. ripgrep then searches the stdout of that spawned process. Closes #539
2018-01-09deps: update bytecount to 0.3Igor Gnatenko
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-12-30deps: bump lazy_static to 1Igor Gnatenko
2017-12-30deps: update to latest regex crateAndrew Gallant
The regex update fixes the Rust nightly build failure by in turn updating its simd dependency to 2.x. The regex update also includes a literal optimization that uses Tuned Boyer Moore. Fixes #617
2017-12-19Speeding CI buildsLilian A. Moraru
2017-11-22bump bytecount to 0.2Igor Gnatenko
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-11-22Update to memmap 0.6Dan Burkert
`memmap` 0.6.0 introduces major API changes in anticipation of a 1.0 release. See https://github.com/danburkert/memmap-rs/releases/tag/0.6.0 for more information. CC danburkert/memmap-rs#33.