1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2025-06-14 22:15:13 +02:00
Commit Graph

33 Commits

Author SHA1 Message Date
2bda77c414 Fix deps so that others can build it. 2016-09-05 18:22:12 -04:00
7a149c20fe More progress. With coloring! 2016-09-05 17:36:41 -04:00
d8d7560fd0 TODOs and some cleanup/refactoring. 2016-09-05 10:15:13 -04:00
812cdb13c6 Lots of progress:
- Refactored interaction between CLI args and rest of xrep.
  - Filling in a lot more options, including file type filtering.
  - Fixing some bugs in globbing/ignoring.
  - More documentation.
2016-09-05 00:52:23 -04:00
0bf278e72f making search work (finally) 2016-09-03 21:48:23 -04:00
c2b5577cba progress on after contexts 2016-09-03 01:11:14 -04:00
062aa5ef76 Switch to Chase-Lev work stealing queue.
It seems to be a touch faster.
2016-09-02 23:38:27 -04:00
7f0b1ccbd3 Before contexts seem to work.
Code is in a little better shape.
2016-09-02 23:25:07 -04:00
5450aed9a8 Make "before" context work.
No line numbers. And match inverting is broken.

This is awful.
2016-09-01 21:56:23 -04:00
5aa3b9bc58 struggling with printing contexts, what a mess 2016-08-31 20:02:59 -04:00
79f62012d7 fix glob tests 2016-08-31 20:02:48 -04:00
03d9df4303 tests and refactoring search 2016-08-31 15:52:35 -04:00
d011cea053 The search code is a mess, but...
... we now support inverted matches and line numbers!
2016-08-29 22:44:15 -04:00
c809679cf2 Lots of improvements. Most notably, removal of memory maps for searching.
Memory maps appear to degrade quite a bit in the presence of multithreading.

Also, switch to lock free data structures for synchronization. Give each
worker an input and output buffer which require no synchronization.
2016-08-28 20:18:34 -04:00
1c8379f55a Implementing core functionality.
Initially experimenting with crossbeam to manage synchronization.
2016-08-28 01:37:12 -04:00
065c449980 File path filtering works and is pretty fast.
I'm pretty disappointed by the performance of regex sets. They are
apparently spending a lot of their time in construction of the DFA,
which probably means that the DFA is just too big.

It turns out that it's actually faster to build an *additional* normal
regex with the alternation of every glob and use it as a first-pass
filter over every file path. If there's a match, only then do we try the
more expensive RegexSet.
2016-08-27 01:01:06 -04:00
b55ecf34c7 globbing by regex 2016-08-25 21:44:37 -04:00
957f90c898 docs and small polish 2016-08-24 18:33:35 -04:00
61f49ba716 Remove the buffered reader.
We really need functionality like this when memory maps aren't suitable,
either because they're too slow or because they just aren't available (like
for reading stdin). However, this particular approach was completely bunk.
Namely, the interface was all wrong. The caller needs to maintain some kind
of control over the search buffers for special output features (like
contexts or inverted matching), but this interface as written doesn't
support that kind of pattern at all.

So... back to the drawing board.
2016-08-24 18:06:42 -04:00
e97d75c024 Refactor buffered test. 2016-08-08 19:17:25 -04:00
076eeff3ea update 2016-08-05 00:10:58 -04:00
a3f609222c progress 2016-06-22 21:19:02 -04:00
0163b39faa refactor progress 2016-06-20 16:55:13 -04:00
8d9d602945 update 2016-04-03 21:22:09 -04:00
07bff7409b tweaks 2016-03-30 22:24:59 -04:00
f1a91307cd short matches 2016-03-30 20:44:26 -04:00
79a51029c1 progress 2016-03-29 21:21:34 -04:00
4ae67a8587 progress 2016-03-28 20:07:25 -04:00
3b76981007 rename to xrep 2016-03-28 18:11:35 -04:00
8996911681 makefile 2016-03-10 21:03:13 -05:00
883ceb343c add readme 2016-03-10 21:02:08 -05:00
403bb72a4d beating 'grep -E' on some things 2016-03-10 20:48:44 -05:00
9d1e619ff3 initial commit 2016-02-27 11:07:26 -05:00