Commit graph

461 commits

Author SHA1 Message Date
Ed Page
287c4cbfe9 refactor(parser): Give more impl flexibility 2021-04-29 18:31:05 -05:00
Ed Page
9cbc7410a4 fix(parser)!: Defer to Unicode XID for identifiers
This saves us from having to have configuration for every detail.  If
people need more control, we can offer it later.

Fixes #225
2021-04-29 18:30:57 -05:00
Ed Page
f15cc58f71 fix(parser): Flip leading digits to work correctly 2021-04-29 18:30:14 -05:00
Ed Page
4b94352b7a perf(parser): Try hand-rolled number parsing 2021-04-29 18:30:14 -05:00
Ed Page
6b92e345cc perf(parser): Speed up UTF-8 validation 2021-04-27 21:17:46 -05:00
Ed Page
819702c82f refactor(parser): Unify str/bytes code paths
The main goal is to support replacing the parser with `nom` where I need
access to `str` only functionality.

With crates like simdutf8, this might also offer up performance gains
since they see the biggest benefit when doing large blocks of
validation.
2021-04-27 21:17:43 -05:00
Ed Page
fce11d6c35 refactor(parser)!: Allow short-circuiting word splitting
This is prep for experiments with getting this information ahead of
time.

See #224
2021-04-27 21:17:38 -05:00
Ed Page
47d4f77cb5
Merge pull request #227 from epage/scream
fix(typos)!: Clarify `Case::Upper`s name
2021-04-21 21:09:43 -05:00
Ed Page
9bfb506c6d fix(typos)!: Clarify Case::Uppers name
`Scream` was referrin to `SCREAMING_CASE` but outside of that context, I
think `Upper` is more accurate.
2021-04-21 20:36:35 -05:00
Ed Page
969f4f88be
Merge pull request #226 from epage/misc
Misc improvements
2021-04-21 18:53:08 -05:00
Ed Page
e64e2b659b chore: Fix release commit message 2021-04-21 12:14:19 -05:00
Ed Page
676926cd17 test(perf): Bench more parsing cases 2021-04-21 12:12:59 -05:00
Ed Page
1f4c587692 chore({{crate_name}}): Release {{version}} 2021-04-14 19:13:25 -05:00
Ed Page
b4459bef33 chore: Fix readme paths in Cargo.toml 2021-04-13 21:36:47 -05:00
Ed Page
b3bd0c08b8 chore: Reduce release commits 2021-04-13 21:35:36 -05:00
Ed Page
e787caa58e chore: Fix cargo release config 2021-04-13 21:31:13 -05:00
Ed Page
8cb9d50648 docs: Update changelog 2021-04-13 21:28:28 -05:00
Ed Page
da76d290ab
Merge pull request #223 from epage/tests
Cover more features with tests
2021-04-12 21:27:42 -05:00
Ed Page
f36bdc895f test(cli): Cover extract_line 2021-04-12 20:52:15 -05:00
Ed Page
d7978658d4 test(cli): Ensure we apply corrections 2021-04-10 19:13:48 -05:00
Ed Page
cb02353b5a
Merge pull request #222 from epage/types
Polish configuration support
2021-04-10 18:37:04 -05:00
Ed Page
a5975ca1ac style: Address clippy 2021-04-10 13:07:07 -05:00
Ed Page
e3c1d234f4 test(config): Ensure file type config is used 2021-04-09 15:58:12 -05:00
Ed Page
225971fd4a fix(config): Ensure we actually use file-type config 2021-04-09 15:57:55 -05:00
Ed Page
a22567c188 test(config): Ensure types are validated 2021-04-07 21:16:41 -05:00
Ed Page
68c0a0d898 test(config): Ensure CLI overrides work 2021-04-07 21:14:41 -05:00
Ed Page
29fafd1a63 test(config): Verify layering 2021-04-07 20:49:52 -05:00
Ed Page
b8294d7afa fix(config): Improve output from --dump-config 2021-04-07 20:49:30 -05:00
Ed Page
8d02a86f2f fix(config): Correct typo in config field name 2021-04-07 20:47:49 -05:00
Ed Page
57ace37ec4 feat(config): Error on invalid types
Fixes #221
2021-04-06 21:28:42 -05:00
Ed Page
10d97949e8 docs(about): Update comparison table 2021-04-06 21:18:56 -05:00
Ed Page
2a7bd5b046 feat(config): Add new file types
Fixes #220
2021-04-06 21:18:18 -05:00
Ed Page
c71c9f4f84 refactor(config): Allow extending type matcher 2021-04-06 21:14:47 -05:00
Ed Page
6729bf9f7c refactor(config): Open door for other mutable operations 2021-04-06 21:14:09 -05:00
Ed Page
38a3007c56 fix(config): Properly layer type and override settings 2021-04-06 20:53:34 -05:00
Ed Page
0656a62860
Merge pull request #219 from epage/types
feat(config): Per-file type settings
2021-04-06 13:27:51 -05:00
Ed Page
aa21439502 style: Clippy 2021-04-06 10:30:02 -05:00
Ed Page
8f365ee155 feat(config): Show available type definitions 2021-04-05 21:15:41 -05:00
Ed Page
a101df95c2 feat(config): Per-file type settings
Fixes #14
2021-04-05 21:03:49 -05:00
Ed Page
3fd90b09f8 fix(cli): Allow CLI to override walking config 2021-04-05 07:34:05 -05:00
Ed Page
78330ba9c1 refactor(cli): Drop the traits from layering 2021-03-31 21:23:30 -05:00
Ed Page
13617fa9d0 refactor(cli): Decouple walk and engine policies 2021-03-31 20:19:52 -05:00
Ed Page
47eb554052 refactor(cli): Clarify role of file config 2021-03-31 20:06:33 -05:00
Ed Page
a148054a49
Merge pull request #218 from epage/types
refactor(cli): Prepare for more advanced config
2021-03-31 10:53:06 -05:00
Ed Page
d51725b2a4 style: Address clippy 2021-03-30 21:33:39 -05:00
Ed Page
8365351dba perf(cli): Reuse configs across runs 2021-03-29 20:27:12 -05:00
Ed Page
a76ddd42ce refactor(cli): Pull out policy creation 2021-03-29 20:27:12 -05:00
Ed Page
f402d3ee77 refactor(config): Clarify config is not file-specific
This is prep for the config being reused in other contexts, like commit
messages.
2021-03-29 20:27:12 -05:00
Ed Page
4bbc59facf refactor(config)!: Detect when no dict config
In preparing for smarter handling of config, we need to be able to tell
what is present and what isn't.

BREAKING CHANGE: `--hex` was removed, the value didn't seem high enough.
2021-03-29 20:27:12 -05:00
Ed Page
8bcacf3ca6 refactor(cli): Break out config->policy
This is prep for having many policies floating around
2021-03-29 20:27:12 -05:00