summaryrefslogtreecommitdiffstats
path: root/ignore
AgeCommit message (Collapse)Author
2019-08-28ignore: remove unused parameterAndrew Gallant
2019-08-09doc: use XDG_CONFIG_HOME in commentsTodd Walton
XDG_CONFIG_DIR does not actually exist. PR #1347
2019-08-06ignore-0.4.10ignore-0.4.10Andrew Gallant
2019-08-06deps: drop tempfileAndrew Gallant
We were only using it to create temporary directories for `ignore` tests, but it pulls in a bunch of dependencies and we don't really need randomness. So just use our own simple wrapper instead.
2019-08-01ignore: release 0.4.9ignore-0.4.9Andrew Gallant
2019-07-29ignore/types: add edn type from Clojure ecosystemMatthew Davidson
PR #1330
2019-07-24ignore-0.4.8ignore-0.4.8Andrew Gallant
2019-07-24ignore: support compilation on wasmTiziano Santoro
Currently the crate assumes that exactly one of `cfg(windows)` or `cfg(unix)` is true, but this is not actually the case, for instance when compiling for `wasm32`. Implement the missing functions so that the crate can compile on other platforms, even though those functions will always return an error. PR #1327
2019-07-14ignore/types: add Robot FrameworkConrad Olega
PR #1322
2019-06-16style: fix deprecationsAndrew Gallant
Use `dyn` for trait objects and use `..=` for inclusive ranges.
2019-06-12ignore/types: add more nim typesHitesh Jasani
PR #1297
2019-05-29ignore: remove .git check in some casesAndrew Gallant
When we know we aren't going to process gitignores, we shouldn't waste the syscall in every directory to check for a git repo.
2019-04-16ignore/types: add GAPMax Horn
Add support for file types used by the GAP language, a research system computational discrete algebra, see <https://www.gap-system.org> PR #1249
2019-04-15ignore: release 0.4.7ignore-0.4.7Andrew Gallant
2019-04-15release: globset 0.4.3globset-0.4.3Andrew Gallant
2019-04-14ignore/types: add additional java filesMarco Herrn
- .jspx for XHTML JSP files - .properties for Java Properties files (resource bundles, etc.) Closes #1242
2019-04-09ignore/types: add more extensions for xmlhupfdule
This includes: *.dtd for Document Type Definitions *.xsl and *.xslt for XSL Transformation descriptions *.xsd for XML Schema definitions *.xjb for JAXB bindings *.rng for Relax NG files *.sch for Schematron files PR #1243
2019-04-09ignore/types: add lock filestonypai
Treat anything with a `.lock` extension as a lock file, with an extra rule or two for special cases, e.g., package-lock.json.
2019-04-06ignore/types: add *.am and *.in for C/C++/makedana
PR #1205
2019-02-08ignore/types: add zigJohn Schmidt
PR #1191
2019-01-31ignore/types: *.dtx and *.ins added for texSteffen Banhardt
PR #1182
2019-01-27ignore: correctly detect hidden files on WindowsAndrew Gallant
This commit fixes a bug where ripgrep only treated files beginning with a `.` as hidden. On Windows, we continue this tradition, but additionally check whether a file has the special Windows "hidden" attribute set. If so, we treat it as a hidden file. In order to make this work without an additional stat call, we had to rearrange some of the plumbing from the directory traverser. Fixes #1154
2019-01-23ignore/types: add method for retrieving file type definitionAwad Mackie
Fixes #1116, Closes #1120
2019-01-23globset: permit ** to appear anywhereAndrew Gallant
Previously, `man gitignore` specified that `**` was invalid unless it was used in one of a few specific circumstances, i.e., `**`, `a/**`, `**/b` or `a/**/b`. That is, `**` always had to be surrounded by either a path separator or the beginning/end of the pattern. It turns out that git itself has treated `**` outside the above contexts as valid for quite a while, so there was an inconsistency between the spec `man gitignore` and the implementation, and it wasn't clear which was actually correct. @okdana filed a bug against git[1] and got this fixed. The spec was wrong, which has now been fixed [2] and updated[2]. This commit brings ripgrep in line with git and treats `**` outside of the above contexts as two consecutive `*` patterns. We deprecate the `InvalidRecursive` error since it is no longer used. Fixes #373, Fixes #1098 [1] - https://public-inbox.org/git/C16A9F17-0375-42F9-90A9-A92C9F3D8BBA@dana.is [2] - https://github.com/git/git/commit/627186d0206dcb219c43f8e6670b4487802a4921 [3] - https://git-scm.com/docs/gitignore
2019-01-23globset: fix repeated use of **Andrew Gallant
This fixes a bug where repeated use of ** didn't behave as it should. In particular, each use of `**` added a new requirement directory depth requirement. For example, something like `**/**/b` would match `foo/bar/b`, but it wouldn't match `foo/b` even though it should. In particular, `**` semantics demand "infinite" depth, so repeated uses of `**` should just coalesce as if only one was given. We do this coalescing in the parser. It's a little tricky because we treat `**/a`, `a/**` and `a/**/b` as distinct tokens with their own regex conversions. We also test the crap out of it. Fixes #1174
2019-01-23ignore: fix handling of **Andrew Gallant
When deciding whether to add the `**/` prefix or not, we should choose not to add it if the pattern is simply a bare `**`. Previously, we were only not adding it if it was `**/`, which is correct, but we also need to do it for `**` since `**` can already match anywhere. There's likely a more principled solution to this, but this works for now. Fixes #1173
2019-01-23ignore: always use literal_separator for gitignore patterns (#1093)dana
PR #1093
2019-01-22ignore/types: add/update brotli, bzip2, gzip, xz, zstddana
2019-01-22ripgrep: add --ignore-file-case-insensitiveDavid Torosyan
The --ignore-file-case-insensitive flag causes all .gitignore/.rgignore/.ignore files to have their globs matched without regard for case. Because this introduces a potentially significant performance regression, this is always disabled by default. Users that need case insensitive matching can enable it on a case by case basis. Closes #1164, Closes #1170
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
2018-12-30ignore-0.4.6ignore-0.4.6Andrew Gallant
2018-12-30ignore: permit use of deprecated trim_rightAndrew Gallant
2018-12-15ignore-0.4.5ignore-0.4.5Andrew Gallant
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-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-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-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-04windows: fix unused warnings on WindowsAndrew Gallant
2018-09-03ignore/types: add pascal typehelloer
PR #1036
2018-08-28ignore: add into_path for DirEntry (#1031)Aaron Power
This commit adds ignore::DirEntry::into_path to match the corresponding method on walkdir::DirEntry.
2018-08-27ignore: add 'stdout' skipping to the walkerAndrew Gallant
This commit adds a new 'skip_stdout' option to the directory walker. When enabled, it will skip yielding any directory entries that are believed to correspond to stdout for the current process. This is useful for filtering out 'results' in a command like 'grep -r foo > results' in order to avoid an unbounded feedback mechanism.
2018-08-26ignore: add sort_by_file_path builder methodAndrew Gallant
This permits callers to sort entries by their full file path, which makes it easy to query for various file statistics. It would have been better to provide a comparator on DirEntry itself, similar to how walkdir does it, but this seems to require quite a bit of work to make the types work out, assuming we want to continue to use walkdir's sorting support (we do).
2018-08-26ignore: add 'same_file_system' optionAndrew Gallant
This commit adds a 'same_file_system' option to the walk builder. For single threaded walking, it defers to the walkdir crate, which has the same option. The bulk of this commit implements this flag for the parallel walker. We add one very feeble test for this. The parallel walker is now officially a complete mess. Closes #321
2018-08-23deps: update walkdir minimum versionAndrew Gallant
We'll want to be using the new `same_file_system` option soon.
2018-08-21ignore: fix false positive in path_is_symlinkAndrew Gallant
This commit fixes a bug where the first path always reported itself as as symlink via `path_is_symlink`. Part of this fix includes updating walkdir to 2.2.1, which also includes a corresponding bug fix. Fixes #984