Commit graph

1366 commits

Author SHA1 Message Date
Ed Page
6cf303d421 chore: Release 2023-03-18 04:20:06 -05:00
Ed Page
433b736d58 docs: Update changelog 2023-03-18 04:19:58 -05:00
Ed Page
53e2855fa0 chore: Release 2023-03-18 04:19:19 -05:00
Ed Page
8a6fc1895d chore: Release 2023-03-18 04:18:47 -05:00
Ed Page
c504325218
Merge pull request #697 from epage/update
chore: Update winnow
2023-03-22 19:55:00 -05:00
Ed Page
243b4efc9e chore: Update winnow 2023-03-18 04:11:55 -05:00
Ed Page
08f154e45b test: Try to fix CI 2023-03-18 02:15:16 -05:00
Ed Page
e15de8b72e chore: Release 2023-03-18 02:09:49 -05:00
Ed Page
a8eb9b075b docs: Update changelog 2023-03-18 02:09:34 -05:00
Ed Page
5253e5589b
Merge pull request #695 from epage/ignore
feat(config): Custom ignores
2023-03-22 15:53:24 -05:00
Ed Page
0d46368bfa docs: Link to user-editable list of users 2023-03-18 02:08:10 -05:00
Ed Page
78062a8de7 chore(gh): Enable wiki 2023-03-18 01:49:06 -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
Ed Page
a1a601195e chore: Release 2023-03-17 23:59:36 -05:00
Ed Page
2cf45c3eb0 docs: Update changelog 2023-03-17 23:59:20 -05:00
Ed Page
1aefbee825
Merge pull request #694 from epage/fix
fix: Actuall ignore ignored identifiers
2023-03-22 13:43:34 -05:00
Ed Page
e4d2d0e54d fix: Actuall ignore ignored identifiers 2023-03-17 23:47:25 -05:00
Ed Page
2ee6ef4654 test(cli): Show extend-ignore-identifiers-re bug 2023-03-17 23:45:54 -05:00
Ed Page
fc7dfba01b docs(reference): Fix glob field name 2023-03-17 23:37:57 -05:00
Ed Page
0eae00fee2 test(cli): Consolidate files 2023-03-17 23:30:24 -05:00
Ed Page
797574c10a chore: Release 2023-03-17 23:09:02 -05:00
Ed Page
67f34020bd docs: Update changelog 2023-03-17 23:08:45 -05:00
Ed Page
7e0c4c4456
Merge pull request #693 from epage/re
feat(dict): extend-ignore-identifiers-re support
2023-03-22 11:41:19 -05:00
Ed Page
af90817e50 feat(dict): extend-ignore-identifiers-re support
This opens the door for users to provide patterns for identifiers that
are always valid.  The key limitation is "identifiers".  Run `typos
--identifiers` to verify what you are trying to write the regex for.

Fixes #651
2023-03-17 22:40:55 -05:00
Ed Page
03286f0f82 chore: Release 2023-03-16 05:22:42 -05:00
Ed Page
179ecc3d44 docs: Update changelog 2023-03-16 05:22:24 -05:00
Ed Page
0366715612
Merge pull request #692 from epage/rename
chore: Update to anstream
2023-03-16 10:31:34 -05:00
Ed Page
52e1743c58 chore: Update to anstream 2023-03-16 05:07:38 -05:00
Ed Page
57502b53cc chore: Release 2023-03-16 03:47:08 -05:00
Ed Page
33df8ce125 docs: Update changelog 2023-03-16 03:46:57 -05:00
Ed Page
0469295a01
Merge pull request #691 from epage/commit
fix(dict): Allow commitish
2023-03-16 07:44:54 -05:00
Ed Page
720bd7b28c fix(dict): Allow commitish
Fixes #690
2023-03-16 03:20:57 -05:00
Ed Page
9504315f7e chore: Update Styled pattern 2023-03-14 08:22:10 -05:00
Ed Page
dc0eafc7e5 chore: Release 2023-03-14 02:14:39 -05:00
Ed Page
2dcc0f0f8c docs: Update changelog 2023-03-14 02:14:31 -05:00
Ed Page
29e640b914
Merge pull request #688 from epage/anstream
fix: Improve color env variable support
2023-03-15 09:23:10 -05:00
Ed Page
3a29410c1b fix: Improve color env variable support
- `CLICOLOR=1` now works correctly
- `NO_COLOR=` now works correctly
- Auto-enable colors in CI


For running `typos` on the Linux kernel (176,210 typos to be printed), we went from 20.082s to
<20.450s.  Where in that range is unclear due to jitter in my system.
```console
$ hyperfine -L typos ./typos-main,./typos-anstream "{typos} ../../../linux" -i
Benchmark 1: ./typos-main ../../../linux
  Time (mean ± σ):     20.082 s ±  0.111 s    [User: 39.668 s, System: 0.474 s]
  Range (min … max):   19.961 s … 20.331 s    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: ./typos-anstream ../../../linux
  Time (mean ± σ):     20.426 s ±  0.104 s    [User: 40.301 s, System: 0.523 s]
  Range (min … max):   20.316 s … 20.661 s    10 runs

  Warning: Ignoring non-zero exit code.

Summary
  './typos-main ../../../linux' ran
    1.02 ± 0.01 times faster than './typos-anstream ../../../linux'

$ CLICOLOR_FORCE=1 hyperfine -L typos ./typos-anstream "{typos} ../../../linux" -i
Benchmark 1: ./typos-anstream ../../../linux
  Time (mean ± σ):     20.262 s ±  0.075 s    [User: 39.961 s, System: 0.542 s]
  Range (min … max):   20.154 s … 20.420 s    10 runs

  Warning: Ignoring non-zero exit code.

$ CLICOLOR=0 hyperfine -L typos ./typos-anstream "{typos} ../../../linux" -i
Benchmark 1: ./typos-anstream ../../../linux
  Time (mean ± σ):     20.296 s ±  0.065 s    [User: 40.003 s, System: 0.565 s]
  Range (min … max):   20.169 s … 20.383 s    10 runs

  Warning: Ignoring non-zero exit code.
```
2023-03-13 23:01:45 -05:00
Ed Page
28e7f17a65 chore: Release 2023-03-13 20:45:44 -05:00
Ed Page
399088a38d docs: Update changelog 2023-03-13 20:45:03 -05:00
Ed Page
d58df3464d
Merge pull request #687 from WaterLemons2k/composite
feat(ci): Use composite to run action
2023-03-14 10:40:59 -05:00
WaterLemons2k
6855a78893 feat(ci): Use composite to run action
Using composite instead of docker to avoid building image,
it can make the action faster.

If the `typos` command doesn't exist, download and extract it.
2023-03-14 23:04:09 +08:00
Ed Page
6add7347fc docs(design): Note that we want non-transient, machine-independent config 2023-03-13 15:08:12 -05:00
Ed Page
043fdb59fa docs(contrib): Note the pinned dict issue 2023-03-13 15:05:30 -05:00
Ed Page
34289639e6 chore: Release 2023-03-13 12:33:33 -05:00
Ed Page
06431666a7 docs: Update changelog 2023-03-13 12:33:17 -05:00
Ed Page
4de8a7c366
Merge pull request #679 from phip1611/erronerous
feat(dict): Add: erronerous -> erroneous
2023-03-13 12:32:01 -05:00
Ed Page
6003b48885
Merge pull request #680 from phip1611/existend
change(dict): existend => existed,existent
2023-03-13 12:31:45 -05:00
Ed Page
3d0de83fb6 chore: Release 2023-03-13 11:57:15 -05:00
Ed Page
d772e29e8e docs: Update changelog 2023-03-13 11:56:52 -05:00