Commit graph

54 commits

Author SHA1 Message Date
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
Ed Page
018f404770 test(cli): Verify shttp shows up 2023-10-16 20:23:14 -05:00
Ed Page
be8628fcb3 feat(config): Allow ignoring words by regex
Fixes #852
2023-10-16 12:37:00 -05:00
Dawid Ciężarkiewicz
c2e3454a94
feat: --file-list support 2023-10-11 16:32:31 -07:00
Delgan
8314a1567d Add "--force-exclude" option 2023-10-09 19:39:11 +00:00
Delgan
442b1199da Add initial test preparing "--force-exclude" 2023-10-09 18:53:18 +00:00
Ed Page
21c88ca878 fix(cli): Improve help layout 2023-10-02 13:22:44 -05:00
Ed Page
569b09780b test(cli): Track help output 2023-10-02 13:10:05 -05:00
Ed Page
21dba19dec test: Demo line-ignore behavior 2023-09-26 11:01:26 -05:00
Ed Page
5fd0df2881 fix(cli): Dont correct O_WRONLY
Realized we could just hard code this for now rather creating a general
identifier dictionary.

Fixes #744
2023-09-25 12:50:07 -05:00
Ed Page
9f1d7017e2 test(cli): Show existing O_WRONLY behavior 2023-09-25 12:46:00 -05:00
Ed Page
8be21b28e7 fix(cli): Improve error when args aren't present 2023-08-21 10:20:16 -05:00
Ed Page
cfa1821100 test(cli): Show no file error 2023-08-21 10:16:16 -05:00
Ed Page
e003ac8f1e fix(cli): Improve error on missing config 2023-08-18 16:08:25 -05:00
Ed Page
03e6afbaa6 test(cli): Verify missing config error 2023-08-18 16:03:07 -05:00
Ed Page
3bae999225 fix(cli): Report bad exit code on disallowed 2023-08-09 08:21:53 -05:00
Ed Page
3f41a6791c test(cli): Verify disallowed functionality 2023-08-09 08:15:05 -05:00
Ed Page
5f1d3c23bc fix(config): Force-skip config files
This doesn't use `extend-exclude` which means that `typos typos.toml`
will stil be skipped

This doesn't just skip the currently loaded config but any file name
that looks like a config, which might be a big aggressive but allows us
to do layered config in the future....  We've been saying that for a
while.

Fixes #711
2023-06-22 12:20:07 -05:00
Ed Page
9e293916d2 fix(config): Always apply type defaults
Fixes #760
2023-06-22 09:57:15 -05:00
Ed Page
72c773aade test(config): Verify bad merge 2023-06-22 09:16:23 -05:00
Ed Page
fce92e4e5f fix(config): User file types override default file types
This also ensures `typos --type-list` will report the glob in only one
place.

Fixes #754
2023-06-21 14:31:04 -05:00
Ed Page
77f0389a9e test(config): Reproduce types bug 2023-06-21 14:17:19 -05:00
Ed Page
adfd866ed9 test(cli): Check more former false positives 2023-05-19 08:18:25 -05:00
Ed Page
641e734fe7 fix(dict): Dont correct add-ons
Fixes #721
2023-05-19 08:13:01 -05:00
Ed Page
9e01ccbd3e test(cli): Prevent false-positive regressions 2023-05-19 08:11:14 -05:00
Ed Page
217e403326 docs(cli): Show SSL cipher suites
See #438
2023-04-11 01:17:33 -05:00
Ed Page
8db59330b7 test(cli): Add UTF16 test 2023-03-30 07:45:24 -05:00
Ed Page
08f154e45b test: Try to fix CI 2023-03-18 02:15:16 -05:00
Ed Page
ac46a6ba54 feat(config): Custom ignores
Typos primarily works off of identifiers and words.  We have built-in
support to detect constructs that span identifiers that should not be
spell checked, like UUIDs, emails, domains, etc.  This opens it up for
for user-defined identifier-spanning constructs using regexes via
`extend-ignore-re`.

This works differently than any of the previous ways of ignoring thing
because the regexes require extra parse passes.  Under the assumption
that (1) actual typos are rare and (2) number of files relying on
`extend-ignore-re` are rare, we only do these extra parse passes when a
typo is found, causing almost no performance hit in the expected case.

While this could be used for more generic types of ignores, it isn't the
most maintainable because it is separate from the source files in
question.  Ideally, we'd implement document settings / directives for
these cases (#316).
2023-03-18 01:25:39 -05:00
Ed Page
9d376417a0 test: Baseline for generic ignore 2023-03-18 01:20:01 -05:00