summaryrefslogtreecommitdiffstats
path: root/src/choice.rs
AgeCommit message (Collapse)Author
2021-07-23Improve error handling38-unwrap-on-empty-choiceRyan Geary
Create choose::Error and choose::Result Improve error propogation Improve error printing Add tests for negative indices Add get_negative_start_end tests Fixup negative choice indexing Remove most uses of unwrap Fixes #38
2021-07-12Apply clippy suggestionsRyan Geary
2021-07-12Apply clippy suggestionsRyan Geary
2021-07-12Propogate BrokenPipe error up to main and exit gracefullyRyan Geary
2020-08-13Fix blank line getting printed with field_separatorRyan Geary
This changes the onus of removing trailing newlines when it matters to the caller to print_choice.
2020-06-24Use LineWriter when input is stdin (#10)Ryan Geary
2020-06-17Add backslash escape parsing (#26)Ryan Geary
2020-06-15Add one_indexed flag (#23)Ryan Geary
2020-06-08Add regression tests for #16Ryan Geary
2020-06-08Add alternate Rust-y range syntax (#11)Ryan Geary
Refactor to support choice 'kind' Add ParseRangeError Add rust syntax range parsing tests Implement rust syntax parsing Change parse to not anticipate exclusivity Add choice tests Implement Rust syntax choices Show that there are multiple in opt.choice*s* Refactor repeated code in choice tests Update documentation to reflect Rust range syntax
2020-06-02Add character-wise `choose`ingRyan Geary
Alphabetize structopt options Add character-wise tests Add character-wise switch Add print-after-end test Add empty default separator for char-wise mode Add char-wise forward and negative printing Add pure reverse printing Change to char_wise to user `char` instead of `u8` Adds support for unicode (read: emojis) Adds a newline char to end of each char-wise test because that's how it is Add writing traits for better code structure Merge repetitive codepaths with generics Unify print_choice_* funtion names Reorder functions in choice module Rename variable to avoid name confusion Make default case for loop more readable Abstract default case print loop Add e2e test Move vec create to print_choice_negative
2020-04-06[FEATURE] specify output field delimiter (#8)Ryan Geary
Add output_field_separator option Add output_field_separator tests Change structopt req to 0.3 Separate negative choices into a function Prevent tail printing output_field_separator Change OFS to Option<String> with a default value of " " Reorder arguments to write_bytes to parallel print_choice Print output_separator in main loop if applicable Add `cargo test` to Makefile Add write_separator function
2020-04-04Non-greedy String Splitting (#7)Ryan Geary
* Add non_greedy flag * Add non-greedy tests * Prevent printing spaces for empty fields * Prevent filtering non-empty fields when non-greedy
2020-04-01Add negative choice and parsing testsRyan Geary
Allow negative ranges as long as they aren't reversed too Allow reversed negative ranges iff both indices are negative
2020-03-15Separate Opt into separate modRyan Geary
2020-03-15Remove lingering flame_it cfgRyan Geary
2020-03-14Add error messages for stdout writesRyan Geary
2020-03-10Improve performance and add profiling toolingRyan Geary
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
2019-10-24RustFmtRyan Geary
2019-10-13[BREAKING] Default to inclusive ranges, -x for exclusiveRyan Geary
2019-10-13Add reverse rangesRyan Geary
2019-10-13Add print_out_of_order testRyan Geary
2019-10-10Reorganize massivelyv0.1.2Ryan Geary
2019-10-09Remove repeated Regex compilationRyan Geary
2019-09-29Use BufWriter and write(ln)! instead of print(ln)!Ryan Geary
2019-09-17Add a bunch of get_choice_slice testsRyan Geary
2019-09-17Separate slice finding from printingRyan Geary
2019-09-17Move parse_choice tests into their own test moduleRyan Geary
2019-09-17Add future testsRyan Geary
2019-09-17Add successful parsing testsRyan Geary
2019-09-17Add first testRyan Geary
2019-09-17Move most of the processing out of mainRyan Geary