83 Commits
Author SHA1 Message Date
Amir ZarrinkafshandAlexander Kireev 160d792805 fix(cli): Don't panic when canonicalize fails mid-walk
`walk_entry` canonicalizes each entry's path to look up its policy, and routes a failure through `report_result`, which reports the error and then substitutes `T::default()` -- for a `PathBuf` that is the empty path. `ConfigEngine` never saw that path during the walk, so the `policy()` call immediately after aborts the process: a debug build trips the `debug_assert!` on `path.is_absolute()`, a release build reaches the `expect` below it.

Skip the entry after reporting the error instead, matching how a walk error is already handled a few lines above. A file removed by another process mid-scan is enough to reach this, so an abort here takes out an otherwise healthy run.

Fixes #1444 and Closes #1577

Co-authored-by: Alexander Kireev <ak.chatman.media@gmail.com>
Signed-off-by: Amir Zarrinkafsh <3339418+nightah@users.noreply.github.com>
2026-09-11 12:00:46 +10:00
Amir ZarrinkafshandAlexander Kireev 25761c7bf3 test(cli): Show panic when canonicalize fails mid-walk
Co-authored-by: Alexander Kireev <ak.chatman.media@gmail.com>
Signed-off-by: Amir Zarrinkafsh <3339418+nightah@users.noreply.github.com>
2026-09-11 11:59:49 +10:00
Ed Page 79e6746de5 Merge pull request #1608 from nightcityblade/fix/python-asend
fix: allow Python asend identifier
2026-09-01 11:50:08 -05:00
nightcityblade 5956a2610c fix: Allow Python asend identifier 2026-08-28 23:52:32 +08:00
nightcityblade f6ce659dbc test: Capture Python asend behavior 2026-08-28 23:52:32 +08:00
Ed Page e7a4e8ad25 fix(dict): Don't correct the HashiCorp brand name
Fixes #1606
2026-08-27 14:07:38 -05:00
Ed Page 30dd48eae9 test(cli): Show HashiCorp behavior 2026-08-27 14:06:18 -05:00
Ed Page 207157952c fix(tokens): Ignore hex literals with suffixes
Fixes #1469
2026-01-19 08:07:22 -06:00
Ed Page 5d4cfab739 test(cli): Show hex literal issue 2026-01-19 07:45:01 -06:00
Ed Page 6082048247 fix(config): Consistently error on unused key
Fixes #1324
2025-10-06 14:43:33 -05:00
Ed Page 700973c1f4 test(config): Check unknown field behavior 2025-10-06 14:07:24 -05:00
Ed Page 544f5bc304 fix(config): Don't correct PN for bitbake
Fixes #1392
2025-10-06 13:00:39 -05:00
Ed Page 06b99d1d14 test(cli): Show bitbake false positive 2025-10-06 12:59:20 -05:00
Ed Page f5e19d3038 fix(cli): Don't panic with invalid utf-8
Fixes #1373
2025-09-04 09:06:02 -05:00
Ed Page 5062775d92 test(cli): Generalize utf16 tests 2025-09-04 08:44:56 -05:00
Ed Page 04061fe1c6 fix(cli): Don't show an origin for file name typos 2025-09-03 14:32:35 -05:00
Ed Page 7f5f1ecb36 fix(cli): Replace error renderer with annotate-snippets
This is rustc/cargo's renderer and has all of the lessons of those,
including
- Unicode support
- Line wrapping / eliding of text to fit on screen

As part of this, we are now rendering file name typos like file
content typos.
2025-09-03 14:32:20 -05:00
Ed Page 0fdaa69db4 test: Show current file name typo behavior 2025-09-03 14:32:14 -05:00
Ed Page 987c365130 docs(ref): Include example of ignore-next-line 2025-07-28 18:28:38 -05:00
Ed Page 3464de2114 docs(cli): Clarify '-' behavior
Fixes #1271
2025-04-10 11:06:50 -05:00
Ed Page d06a1dd728 feat(cli): Add '--highlight-<identifiers|words>' flags
Fixes #1254
2025-03-10 10:52:14 -05:00
renovate[bot] 557c54be48 chore(deps): Update Rust crate serde-sarif to 0.7.0 2025-01-01 03:12:57 +00:00
Zxilly 63908449a7 feat: Implement sarif format reporter
Fixes #594
2024-12-16 12:56:32 -06:00
Ed Page 1fb118d52f fix(cli): Respect force-exclude for binary files
Fixes #1126
2024-10-23 05:13:27 -05:00
Ed Page b33ced2143 test(cmd): Show binary exclude bug 2024-10-23 05:08:49 -05:00
Ed Page d9b55f966c fix(cli): Allow negative expressions in extend-exclude
Fixes #1099
2024-09-16 13:47:39 -05:00
Ed Page 0e8148fbbd test(cli): Show inverted extend-exclude behavior 2024-09-16 14:06:23 -04:00
Ed Page 230710374b test(cli): Verify locale false positives
We can't test much more until we have a way of dealing with
`--no-default-features` in tests
2024-08-26 09:54:12 -05:00
Ed Page 5aa093dc25 fix(dict): Don't correct countr_one
Fixes #1061
2024-07-25 09:15:16 -05:00
Ed Page de9928a5f8 test: Show countr behavior 2024-07-25 09:14:30 -05:00
Noah Pendleton c7a34fcbe2 docs(ref): Add dotall specifier to block ignore
Needed a `(?s)` to match multiple enclosed newlines. And added a
non-greedy modifier and matching test to prevent double blocks from
causing intermediate lines to be ignored:

```shell
# spellchecker:off
should be ignored
# spellchecker:on
should not be ignored  # without non-greedy, this is also ignored
# spellchecker:off
should be ignored
# spellchecker:on
```
2024-06-04 15:56:21 -04:00
Ed Page ee32d77aba fix(dict): Don't correct dBA
I went with the direct unit which will be considered and identifier by
the casing, rather than also allowing this as a word.

Fixes #997
2024-04-16 11:37:04 -05:00
Ed Page 56df0bd8d6 test(dict): Show dBA behavior 2024-04-16 11:36:40 -05:00
Ed Page 74c34486c1 test: Allow variable whitespace 2024-04-03 09:13:12 -05:00
Ed Page 8b57110b76 test(cli): Verify block-ignores via regex 2024-04-03 09:10:34 -05:00
Ed Page 99882ae923 test: Make help independent of term 2024-03-01 10:09:58 -06:00
Ed Page 859f055f26 test: Update snapshots 2024-03-01 09:18:03 -06:00
Ed Page eb99975267 feat(cli): Add a --sort flag 2024-02-07 16:06:19 -06:00
Ed Page bf66cbd0b6 fix(config): Apply extend-ignore-re to file names
Fixes #885
2023-12-27 10:13:43 -06:00
Ed Page a9afeef275 test(cli): Show extend-ignore on file names 2023-12-27 09:56:30 -06:00
Ed Page 55d802d0ef fix(dict): Mirror original case for custom dict
Fixes #781
2023-12-13 08:38:14 -06:00
Ed Page 86c4c9fb4a test(cli): Add reproduction case 2023-12-13 08:34:49 -06:00
Ed Page 1b92c0182c fix(config): Propagate validation errors
When `flatten`ing an `Option`, all errors are silenced, making the value
`None`, not just "this field doesn't exist".
The easiest way around this was to not use `Option`.

Not too confident in all of the changes but tests pass?

Fixes #881
2023-12-08 13:07:52 -06:00
Ed Page 632b256901 test: Demonstrate bad config bug 2023-12-08 12:13:53 -06:00
Ed Page e24c694258 fix(cli): Respect force-exclude for simple exclude pattersn
Fixes #868
2023-11-06 11:32:44 -06:00
Ed Page edfb79f537 test(cli): Reproduce force-exclude bug 2023-11-06 11:20:21 -06:00
Ed Page 1ca321659d fix(cli): Add styling to --file-types 2023-10-27 09:19:42 -05:00
Ed Page b2685877d2 fix(dict): Dont correct common Julia terms 2023-10-16 20:51:12 -05:00
Ed Page a2777f710b test(cli): Verify some Julia terms 2023-10-16 20:40:15 -05:00
Ed Page d8ac870213 fix(dict): Alllow SHTTP 2023-10-16 20:25:36 -05:00