Commit graph

33 commits

Author SHA1 Message Date
Ed Page
13dbffcf7c fix(pre-commit): Separate cli from pre-commit package
Fixes #682
2023-03-08 10:19:20 -06:00
Ed Page
b92a8c1eea feat(cli): '--file-types' flag to help debug detection issues
Like #567
2023-01-13 20:59:53 -06:00
Ed Page
0bb32cc473 fix(config): Resolve ambiguous file types
Before, when two file types matched the same glob, the file type that
one was non-deterministic.

Now, "the more specific" file type wins.  What this means is that we
break up the file by its extensions and prioritize the more literal glob
- If its just `*`, then its lowest priority
- If it contains `*` and other logic, then its next
- If it doesn't contain a `*`, then its the highest priority

This leaves out other glob syntax like `{one,two}` as those are
closed-ended and so considered specific still.

Fixes #487
2022-06-15 15:53:04 -05:00
Ed Page
a17f6a284a feat(cli): Log the policy
This is in part to help in cases like #487 but it will also help people
generally configure and debug their config.
2022-05-16 09:06:28 -05:00
Ed Page
8cb2d44284 refactor: Pull out custom default types
This is
https://github.com/BurntSushi/ripgrep/blob/master/crates/ignore/src/default_types.rs
at 418d048.
2022-03-09 08:28:23 -06:00
Ed Page
83dc9dcb5f fix(config): Overlay default/overrides with type-config 2021-10-23 09:24:25 -05:00
Ed Page
7ce0438a70 refactor(config): Allow defaulting type patterns 2021-08-04 07:12:10 -05:00
Ed Page
32f5e6c682 refactor(typos)!: Bake ignores into parser
This is prep for other items to be ignored

BREAKING CHANGE: `TokenizerBuilder` no longer takes config for ignoring
tokens.  Related, we now ignore token-ignore config flags.
2021-06-29 11:41:25 -05:00
Ed Page
e3c191e07e fix(cli): Display shortened paths to users
Before, we always displayed absolute paths and now we'll display
relative ones.

The main issue was loading the config correctly.  We just have to
cannonicalize whenever doing so.
2021-05-14 20:39:08 -05:00
Ed Page
1a1ff20f40 fix(cli): Discover config in parent dirs
My only guess is that in a76ddd42, I lost track of different parts of my
change and never re-implemented this logic.
2021-05-14 14:06:20 -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
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
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
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
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
a76ddd42ce refactor(cli): Pull out policy creation 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