summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-01-20search: migrate to bstrag/bstr-migrationAndrew Gallant
This is an initial attempt at migrating grep-searcher to use the new bstr crate (not yet published). This is mostly an improvement, although a significant problem is that the grep-matcher crate controls the `Index` impls for the `Match` type, which we use quite heavily. Thus, in order to impl `Index` for `BStr`, we need add bstr as a public dependency to grep-matcher. This is really bad news because grep-matcher is supposed to be a light-weight core crate that defines a matcher interface, which is itself intended to be a public dependency. Thus, a semver bump on bstr will have very undesirable ripple effects thoughout ripgrep's library crates. This would be something we could stomach if bstr was solid at 1.0 and committed to avoiding breaking changes. But it's not there yet.
2019-01-19edition: fix build.rsAndrew Gallant
2019-01-19edition: move core ripgrep to Rust 2018Andrew Gallant
2019-01-19deps: update memmapAndrew 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.
2019-01-19deps: update various dependenciesAndrew Gallant
We also increase the MSRV to 1.32, the current stable release, which sets the stage for migrating to Rust 2018.
2019-01-18ignore/types: add QMLP M
PR #1165
2019-01-14doc: fix typoDavid Håsäther
PR #1161
2019-01-11grep-printer: add macro docs, reduxAndrew Gallant
2019-01-11grep-searcher: add docs for assert_eq_printedAndrew Gallant
Looks like the deny(missing_docs) lint got a bit stronger.
2019-01-05doc: fix typoMarco Hinz
2018-12-30ignore-0.4.6ignore-0.4.6Andrew Gallant
2018-12-30ignore: permit use of deprecated trim_rightAndrew Gallant
2018-12-30deps: bump ignoreAndrew Gallant
2018-12-15ignore-0.4.5ignore-0.4.5Andrew Gallant
2018-12-15deps: update most other dependenciesAndrew Gallant
This commit is the result of doing: $ cargo update $ cargo update -p encoding_rs --precise 0.8.10 where the latter line prevents encoding_rs from updating to 0.8.11 (or newer). In particular, the 0.8.11 release increased the minimum Rust version to 1.29, where as ripgrep 0.10.x is still on 1.28. We stay on an older version for now until ripgrep is ready to move to 0.11.x.
2018-12-15deps: update to crossbeam-channel 0.3Andrew Gallant
This also requires corresponding updates to both rand and rand_core. Doing an update of rand without doing an update of rand_core results in compilation errors because two distinct versions of rand_core are included in the build, and the traits they expose are distinct and incompatible. We also switch over to using tempfile instead of tempdir, which drops the last remaining thing keeping rand 0.4 in the build. Fixes #1141, Fixes #1142
2018-12-09deps: update regex and regex-syntaxAndrew Gallant
This brings in some new Unicode properties, such as \p{Emoji}. It is now also technically possible construct a regex that recognizes grapheme clusters.
2018-12-07ignore/types: add ASPSimon Morgan
PR #1134
2018-11-23ignore/types: add postscriptAntony Lee
Although postscript/encapsulated postscript is usually thought of as a binary format, it's actually mostly ASCII, so ripgrep will not ignore these files. The situation is basically the same as for pdf, which is also already present in the list of known filetypes. PR #1118
2018-11-19ignore/types: add more Cython file typesMatteo Bertini
From the [Cython file types](https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html?highlight=pxi#cython-file-types) paragraph on the official docs: > There are three file types in Cython: > The implementation files, carrying a .py or .pyx suffix. > The definition files, carrying a .pxd suffix. > The include files, carrying a .pxi suffix. PR #1113
2018-11-07ignore/types: add Apache ThriftJon Parise
PR #1102
2018-11-06doc: escape braces in AsciiDocAndrew Gallant
This commit fixes a bug where AsciiDoc would drop any line containing a '{foo}' because it interpreted it as an undefined attribute reference: > Simple attribute references take the form {<name>}. If the attribute name > is defined its text value is substituted otherwise the line containing the > reference is dropped from the output. See: https://www.methods.co.nz/asciidoc/chunked/ch30.html We fix this by simply replacing all occurrences of '{' and '}' with their escaped forms: '&#123;' and '&#125;'. Fixes #1101
2018-10-22deps: update encoding_rsAndrew Gallant
This commit bumps the version of encoding_rs to use the latest release. This appears to fix a panic in UTF-16 decoding. Fixes #1089
2018-10-02ignore/types: add BUILD.bazel to bazel file typeDave Lee
PR #1074
2018-09-28ignore/types: add buildstreamMathieu Bridon
BuildStream is a Free Software tool for building/integrating software stacks.: https://buildstream.gitlab.io/buildstream/ It uses recipes written in YAML, in files with the `.bst` extension. PR #1071
2018-09-25ripgrep: suggest -U/--multilineAndrew Gallant
When a "\n literal is not allowed" error is reported, ripgrep will now suggest the use of the -U/--multiline flag, which enables matching newlines. Fixes #1055
2018-09-25grep-searcher: update to encoding_rs_io 0.1.3Andrew Gallant
This update includes a work-around for a presumed bug in encoding_rs that causes a panic: https://github.com/hsivonen/encoding_rs/issues/34 Specifically, to reproduce this in ripgrep, one can run the following: $ curl -LO https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz $ tar xf ruby-2.5.1.tar.gz $ rg ZZZZZ ruby-2.5.1/test/rexml/data/t63-2.svg thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1' Fixes #1052
2018-09-25grep-regex: fix inner literal detectionAndrew Gallant
It seems the inner literal detector fails spectacularly in cases of concatenations that involve groups. The issue here is that if the prefix of a group inside a concatenation can match the empty string, then any literals generated to that point in the concatenation need to be cut such that they are never extended. The detector isn't really built to handle this case, so we just act conservative cut literals whenever we see a sub-group. This may make some regexes slower, but the inner literal detector already misses plenty of cases. Literal detection (including in the regex engine) is a key component that needs to be completely rethought at some point. Fixes #1064
2018-09-14readme: touch up READMEAndrew Gallant
Make the wording consistent.
2018-09-14Ripgrep is also available in Ubuntu (from Cosmic)Sylvestre Ledru
2018-09-13deb: add section infoykgmfq
Put it in the same section as https://packages.debian.org/stretch/grep PR #1051
2018-09-10doc: fix typoGabe Berke-Williams
"cretion" -> "creation" PR #1045
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-08readme: update dpkg versionAndrew Gallant
2018-09-07readme: fancy regexes are not supported by defaultAndrew Chin
PR #1042
2018-09-07pkg: update brew tap to 0.10.0Andrew Gallant
2018-09-07ci: tweak deployment conditions0.10.0Andrew Gallant
2018-09-07changelog: add release dateignore-0.4.4grep-searcher-0.1.1grep-regex-0.1.1grep-printer-0.1.1grep-pcre2-0.1.1grep-matcher-0.1.1grep-cli-0.1.1grep-0.2.2globset-0.4.2Andrew Gallant
2018-09-07ci: always force PCRE2 static builds for releasesAndrew Gallant
2018-09-07ci: clean up appveyorAndrew Gallant
Remove some outdated comments and unused config. Also, make the regex for matching tags a bit more specific.
2018-09-07ci: remove 'branch' condition for deploymentAndrew Gallant
Travis docs[1] say this is ignore when 'tags' is used. [1] - https://docs.travis-ci.com/user/deployment/#conditional-releases-with-on
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-07deps: minor updatesAndrew Gallant
2018-09-07scripts: add copy-examplesAndrew Gallant
This is a preliminary script to copy example code from a Markdown file into a crate's example directory. This is intended to be used for the upcoming libripgrep guide, but we don't commit any examples yet.
2018-09-07simplegrep: touch upAndrew Gallant
2018-09-07grep: add clap and regex dev dependencies to grepAndrew Gallant
These are (or will be) used in grep's examples.
2018-09-07grep-searcher: add Box<...> impl for SinkAndrew Gallant
We initially did not have this impl because the first revision of the Sink trait was much more complicated. In particular, each method was parameterized over a Matcher. But not every Sink impl actually needs a Matcher, and it is just as easy to borrow a Matcher explicitly, so the added parameterization wasn't holding its own. This does permit Sink implementations to be used as trait objects. One key use case here is to reduce compile times, since there is quite a bit of code inside grep-searcher that is parameterized on Sink. Unfortunately, that code is *also* parameterized on Matcher, and the various printers in grep-printer are also parameterized on Matcher, which means Sink trait objects are necessary but no sufficient for a major reduction in compile times. Unfortunately, the path to making Matcher object safe isn't quite clear. Extension traits maybe? There's also stuff in the Serde ecosystem that might help, but the type shenanigans can get pretty gnarly.
2018-09-07doc: minor touchups to API docsAndrew Gallant