Ryan Geary
dfc95865d4
Add test and bench rules to Makefile
2020-03-15 14:45:32 -04:00
Ryan Geary
b6d3e4ba5a
Add error messages for stdout writes
2020-03-14 23:02:31 -04:00
Ryan Geary
94085bb302
Make regex compilation errors more specific
2020-03-14 22:20:52 -04:00
Ryan Geary
59ada49afd
Set version=0.1.3
2020-03-10 00:23:04 -04:00
Ryan Geary
389c29822b
Improve performance and add profiling tooling
...
Add tags, todo, *.bench, *.svg and bench_output to .gitignore
Add test/bench.sh script. bench.sh runs the `bench` command on each
test/long*txt file with range 3:5 and saves the output to a file for
comparing performance across file sizes.
Inline printing in get_choice_slice
Change BufWriter<..stdout..> to BufWriter<T>
Add MockStdout for testing printing
Add more reverse range tests
Simplify word finding with a more uniform bounds check.
Add Makefile for generating flamegraphs
Redefine Choice struct as a start and end integer
Improve algorithm for finding words to print
Settle exclusivity at Config construction time
Add tests for nonexistant field_seps
Add regression test for preceding separator
Use handle.write instead of write! macro for tremendous speed up
2020-03-10 00:03:14 -04:00
Ryan Geary
c729ad3f00
RustFmt
2019-10-24 21:05:09 -04:00
Ryan Geary
f662219407
[BREAKING] Default to inclusive ranges, -x for exclusive
2019-10-13 22:00:15 -04:00
Ryan Geary
0be16bf1d9
Add reverse ranges
2019-10-13 21:40:59 -04:00
Ryan Geary
e7169ea2e8
Add print_out_of_order test
2019-10-13 20:32:00 -04:00
Ryan Geary
c204f99444
Reorganize massively
2019-10-10 21:24:07 -04:00
Ryan Geary
f722cbcbbb
Remove repeated Regex compilation
2019-10-09 18:23:02 -04:00
Ryan Geary
09ddbb4f65
Use BufWriter and write(ln)! instead of print(ln)!
2019-09-29 23:10:33 -04:00
Ryan Geary
ba26c1f42d
Stop collect
ing lines of stdin
2019-09-29 23:10:14 -04:00
Ryan Geary
0b1a59ad2a
Bump version in Cargo.toml
2019-09-29 17:52:20 -04:00
Ryan Geary
e28bdcce12
Add cargo test to e2etest
2019-09-17 23:48:59 -04:00
Ryan Geary
5c96955257
Add a bunch of get_choice_slice tests
2019-09-17 23:40:35 -04:00
Ryan Geary
4afdc50158
Separate slice finding from printing
2019-09-17 23:40:35 -04:00
Ryan Geary
5703ed02a1
Move parse_choice tests into their own test module
2019-09-17 23:40:35 -04:00
Ryan Geary
55ac2acc8e
Add future tests
2019-09-17 23:40:35 -04:00
Ryan Geary
c81af46d4e
Add successful parsing tests
2019-09-17 23:40:35 -04:00
Ryan Geary
4eb2ed0396
Test return value on error with e2e test
2019-09-17 23:40:35 -04:00
Ryan Geary
e668d9f508
Add first test
2019-09-17 23:40:35 -04:00
Ryan Geary
fd66e3cfb7
Move most of the processing out of main
2019-09-17 23:40:30 -04:00
Ryan Geary
6c889b3963
Add compilation instructions
2019-09-17 22:06:04 -04:00
Collin Reilly Clark
d226c750ef
separate examples to make explanations easier to digest visually
2019-09-16 18:30:56 -04:00
Ryan Geary
2f590f61c9
Update readme
2019-09-11 23:21:26 -04:00
Ryan Geary
49b88bd0be
Convert panic!s to eprintln!s and add exit stati
2019-09-11 22:55:32 -04:00
Ryan Geary
da7a536fa6
Add regex matching with field separator
2019-09-11 22:14:57 -04:00
Ryan Geary
5a5a77e88f
Unify enumerating lines in print_choice
2019-09-11 11:52:20 -04:00
Ryan Geary
18dcf845fb
Add choose 12 test
2019-09-11 11:50:49 -04:00
Ryan Geary
44e5446992
Rename test to e2e_test
2019-09-10 23:51:59 -04:00
Ryan Geary
1d4fd6f48e
Ignore all whitespace in testing
2019-09-10 23:51:21 -04:00
Ryan Geary
e7197092b5
Validate vector indeces
2019-09-10 23:51:01 -04:00
Ryan Geary
4b6d44e121
Add basic test suite
2019-09-10 23:36:39 -04:00
Ryan Geary
ddf563d41b
Allow for inclusive ranges and move choice parsing into Choice enum
2019-09-10 22:15:57 -04:00
Ryan Geary
8a430e0fdf
Update choice help document
2019-09-10 22:14:42 -04:00
Ryan Geary
121d2f9d5a
Add Range printing
2019-09-10 21:06:35 -04:00
Ryan Geary
5373821427
RustFmt
2019-09-10 21:06:20 -04:00
Ryan Geary
42b1af66a6
Iterate through lines and choices
2019-09-10 17:59:42 -04:00
Ryan Geary
055f38a9ba
Add flag for input file, change inclusive short to n
2019-09-06 17:51:25 -04:00
Ryan Geary
97ef864782
Apply RustFmt
2019-09-06 17:14:03 -04:00
Ryan Geary
be24d64a60
change parse_range -> parse_choice
2019-09-06 16:26:26 -04:00
Ryan Geary
2b299ad9c1
Parse single field numbers
2019-09-06 16:21:13 -04:00
Ryan Geary
8da5f639ed
Change arg from Range to Choice
2019-09-06 16:01:21 -04:00
Ryan Geary
2779ed3983
Rework Choice struct
2019-09-06 15:59:53 -04:00
Ryan Geary
1ac2906146
Handle errors in parse_range
2019-09-06 13:28:06 -04:00
Ryan Geary
46d79d7250
Add explicit dyn
before Traits
2019-09-06 13:27:38 -04:00
Ryan Geary
b7c14b9c2d
Take one range
2019-09-06 11:54:47 -04:00
Ryan Geary
3fdd3da507
Make field_separator an Option<>
2019-09-06 11:54:25 -04:00
Ryan Geary
bec5f2be5c
Add parse_range function
2019-09-06 11:54:05 -04:00