Andrew Gallant
0891b4a3c0
update appveyor
2016-09-05 22:01:53 -04:00
Andrew Gallant
af48aaa647
another try
2016-09-05 21:57:57 -04:00
Andrew Gallant
ee7f300ae2
windows debug, take 1
2016-09-05 21:46:11 -04:00
Andrew Gallant
a4d8db16f7
Fix glob tests.
...
When matching directly with a regex, we need to make sure the path is
normalized first.
2016-09-05 21:36:19 -04:00
Andrew Gallant
3bb387abdd
Fix glob problem on Windows.
...
We weren't actually escaping every use of the file path separator. D'oh.
2016-09-05 21:20:19 -04:00
Andrew Gallant
7f0273c347
Fix yellow color to match ack.
2016-09-05 21:19:56 -04:00
Andrew Gallant
5b42999a3d
windows, take 3
2016-09-05 21:02:08 -04:00
Andrew Gallant
8887250860
windows, take 2
2016-09-05 20:58:50 -04:00
Andrew Gallant
5c820ba638
setting up windows, take 1
2016-09-05 20:57:58 -04:00
Andrew Gallant
b2e9ff1361
use correct api key
2016-09-05 20:39:10 -04:00
Andrew Gallant
8023f6fd03
Fix context writing.
...
Don't show the filename twice... (Copy/paste error).
2016-09-05 20:18:31 -04:00
Andrew Gallant
e9a89520cf
incite riots
2016-09-05 20:10:18 -04:00
Andrew Gallant
1a3e7c0bb2
Trying CI.
2016-09-05 20:08:46 -04:00
Andrew Gallant
02ac331529
Whoops. Remove other bits of parking lot.
2016-09-05 19:55:31 -04:00
Andrew Gallant
14b8cd4faf
don't need parking lot
2016-09-05 19:51:29 -04:00
Andrew Gallant
2bda77c414
Fix deps so that others can build it.
2016-09-05 18:22:12 -04:00
Andrew Gallant
7a149c20fe
More progress. With coloring!
2016-09-05 17:36:41 -04:00
Andrew Gallant
d8d7560fd0
TODOs and some cleanup/refactoring.
2016-09-05 10:15:13 -04:00
Andrew Gallant
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
Andrew Gallant
0bf278e72f
making search work (finally)
2016-09-03 21:48:23 -04:00
Andrew Gallant
c2b5577cba
progress on after contexts
2016-09-03 01:11:14 -04:00
Andrew Gallant
062aa5ef76
Switch to Chase-Lev work stealing queue.
...
It seems to be a touch faster.
2016-09-02 23:38:27 -04:00
Andrew Gallant
7f0b1ccbd3
Before contexts seem to work.
...
Code is in a little better shape.
2016-09-02 23:25:07 -04:00
Andrew Gallant
5450aed9a8
Make "before" context work.
...
No line numbers. And match inverting is broken.
This is awful.
2016-09-01 21:56:23 -04:00
Andrew Gallant
5aa3b9bc58
struggling with printing contexts, what a mess
2016-08-31 20:02:59 -04:00
Andrew Gallant
79f62012d7
fix glob tests
2016-08-31 20:02:48 -04:00
Andrew Gallant
03d9df4303
tests and refactoring search
2016-08-31 15:52:35 -04:00
Andrew Gallant
d011cea053
The search code is a mess, but...
...
... we now support inverted matches and line numbers!
2016-08-29 22:44:15 -04:00
Andrew Gallant
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
Andrew Gallant
1c8379f55a
Implementing core functionality.
...
Initially experimenting with crossbeam to manage synchronization.
2016-08-28 01:37:12 -04:00
Andrew Gallant
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
Andrew Gallant
b55ecf34c7
globbing by regex
2016-08-25 21:44:37 -04:00
Andrew Gallant
957f90c898
docs and small polish
2016-08-24 18:33:35 -04:00
Andrew Gallant
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
Andrew Gallant
e97d75c024
Refactor buffered test.
2016-08-08 19:17:25 -04:00
Andrew Gallant
076eeff3ea
update
2016-08-05 00:10:58 -04:00
Andrew Gallant
a3f609222c
progress
2016-06-22 21:19:02 -04:00
Andrew Gallant
0163b39faa
refactor progress
2016-06-20 16:55:13 -04:00
Andrew Gallant
8d9d602945
update
2016-04-03 21:22:09 -04:00
Andrew Gallant
07bff7409b
tweaks
2016-03-30 22:24:59 -04:00
Andrew Gallant
f1a91307cd
short matches
2016-03-30 20:44:26 -04:00
Andrew Gallant
79a51029c1
progress
2016-03-29 21:21:34 -04:00
Andrew Gallant
4ae67a8587
progress
2016-03-28 20:07:25 -04:00
Andrew Gallant
3b76981007
rename to xrep
2016-03-28 18:11:35 -04:00
Andrew Gallant
8996911681
makefile
2016-03-10 21:03:13 -05:00
Andrew Gallant
883ceb343c
add readme
2016-03-10 21:02:08 -05:00
Andrew Gallant
403bb72a4d
beating 'grep -E' on some things
2016-03-10 20:48:44 -05:00
Andrew Gallant
9d1e619ff3
initial commit
2016-02-27 11:07:26 -05:00