Commit Graph
199 Commits
Author SHA1 Message Date
Ed Page 60950d02bb feat(cli): Colored output
This supports
- Basic capability detection
- NO_COLOR env variable
- tty detection
- CLI overrides

This does not yet support CLICOLOR.  I'll be trying to upstream all of
this into `yansi` and get it taken care of there.

This only supports Windows Anniversary edition and later which I think
is a fine compromise due to the ergonomic difference between `yansi` and
`termcolor`.

Fixes #30
2021-05-12 21:11:52 -05:00
Ed Page 943ae7f490 refactor(cli)!: Shift Report impls to bin
This way we can add dependencies on things like `yansi` without worrying
about compatibility.
2021-05-12 19:51:41 -05:00
Ed Page 5a4a707004 refactor(cli): Separate out bin 2021-05-04 21:47:34 -05:00
Ed Page cec850890c Merge pull request #238 from epage/range
fix(dict)!: Clarify word sizes with Ranges
2021-05-01 08:54:08 -05:00
Ed Page 6216fa0837 fix(dict)!: Clarify word sizes with Ranges
The code was generated with separate min / max, rather than using a
Range and ensuring the API is used correctly.
2021-04-30 21:33:33 -05:00
Ed Page 2fc1f5468e chore(cli): Allow building without expensive parts
The obvious case is building for docs.rs but this can be helpful for
special use cases or faster development iteration.
2021-04-30 21:31:25 -05:00
Ed Page 92a1172bfa feat(ddi): Allow controlling 'unicode' via args 2021-04-30 10:36:55 -05:00
Ed Page 6146824b4e refactor(cli): Share bool logic 2021-04-30 10:26:12 -05:00
Ed Page 517da7ecd2 perf(parser): Allow people to bypass unicode cost 2021-04-29 21:07:59 -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 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 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 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 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 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 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
Ed Page b17f9c3a12 feat: Const some fns 2021-03-29 20:27:06 -05:00
Ed Page 75ba4ac535 perf(config): Get small-string optimization 2021-03-01 12:25:51 -06:00
Ed Page b5827004a2 refactor(config): Simplify 2021-03-01 12:19:56 -06:00
Ed Page 0ea6de6019 refactor(cli): Clarify role of checks 2021-03-01 11:50:23 -06:00
Ed Page b5f606f201 refactor(typos): Simplify the top-level API 2021-03-01 11:50:23 -06:00
Ed Page e1e4ce8b61 refactor: Clarify roles 2021-03-01 11:50:23 -06:00
Ed Page ddeee94cf8 refactor(checks): Make all state dynamic 2021-03-01 11:50:23 -06:00
Ed Page 1c3acd747a fix(config)!: Move binary to file
Seems like it would make sense to allow varying this by directory (when
supporting layering) and by file type.
2021-03-01 11:50:12 -06:00
Ed Page dbac2eff4a feat(config): Use '-' to dump config to stdout 2021-01-04 19:29:43 -06:00
Ed Page 13a93ee8d1 fix(config): Provide all field defaults 2021-01-04 19:16:02 -06:00
Ed Page ecb32a674a fix(config): Merge custom config over repo config
Custom config, like args, is more mutable, so it should be respected
more.
2021-01-04 19:16:02 -06:00