Andrew Gallant
dd986d7fe9
Add standard Linux CI (GNU libc).
2016-09-09 23:19:37 -04:00
Andrew Gallant
f83cd63b11
Add integration tests.
2016-09-09 22:58:30 -04:00
Andrew Gallant
9a4527d107
fix Rust version number in CI
2016-09-09 18:47:05 -04:00
Andrew Gallant
8f0d3d78ca
clean up CI script
2016-09-09 18:10:20 -04:00
Andrew Gallant
3f7cd977bc
expand Rust versions we test on.
2016-09-09 18:07:30 -04:00
Andrew Gallant
cc6b6dcf5b
fix windows build
2016-09-09 08:53:10 -04:00
Andrew Gallant
48878bbb8f
update project name
2016-09-08 21:47:49 -04:00
Andrew Gallant
0766617e07
Refactor how coloring is done.
...
All in the name of appeasing Windows.
2016-09-08 21:46:14 -04:00
Andrew Gallant
afd99c43d7
fix deploy
2016-09-08 16:35:48 -04:00
Andrew Gallant
96e87ab738
update distributable to include readme and license
2016-09-08 16:21:37 -04:00
Andrew Gallant
a744ec133d
Rename xrep to ripgrep.
2016-09-08 16:15:44 -04:00
Andrew Gallant
0042dce949
Hack in Windows console coloring.
...
The code has suffered and needs refactoring/commenting. BUT... IT WORKS!
2016-09-07 21:54:28 -04:00
Andrew Gallant
ca058d7584
Add support for memory maps.
...
I though plain `read` had usurped them, but when searching a very small
number of files, mmaps can be around 20% faster on Linux. It'd be really
unfortunate to leave that on the table.
Mmap searching doesn't support contexts yet, but we probably don't really
care. And duplicating that logic doesn't sound fun. Without contexts, mmap
searching is delightfully simple.
2016-09-06 21:47:33 -04:00
Andrew Gallant
af3b56a623
Fix grep match iterator.
2016-09-06 21:45:41 -04:00
Andrew Gallant
5938bed339
Add support for printing column numbers.
2016-09-06 19:50:27 -04:00
Andrew Gallant
feff1849c8
Tweak colors.
2016-09-06 19:35:52 -04:00
Andrew Gallant
9948e0ca07
Only create the Grep searcher once.
2016-09-06 19:33:19 -04:00
Andrew Gallant
fd3e5069b6
Fix required literal handling and add debug prints.
...
In particular, if we had an inner literal and were doing a case insensitive
search, then the literals are dropped because we previously only allowed
a single inner literal to have an effect. Now we allow alternations of
inner literals, but still don't quite take full advantage.
2016-09-06 19:33:03 -04:00
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