Commit graph

1126 commits

Author SHA1 Message Date
Ed Page
67222e9338 style: Address clippy 2021-01-02 13:49:28 -06:00
Ed Page
e6a4f49eb5 refactor: Clarify names 2021-01-02 13:10:40 -06:00
Ed Page
692f0ac095 refactor(typos): Focus API on primary use case 2021-01-02 13:10:40 -06:00
Ed Page
aba85df435 docs(typos): Clarify intent 2021-01-02 13:10:40 -06:00
Ed Page
5f82dd6017 fix: Arg diff reports immediately 2021-01-02 13:10:36 -06:00
Ed Page
c900e48593 fix: Arg write-changes reports immediately 2021-01-02 13:10:30 -06:00
Ed Page
48112a47e9 refactor(parser): Abstract over lifetimes 2021-01-02 13:10:30 -06:00
Ed Page
663eb94d32 refactor: Switch Typos to check_file 2021-01-02 13:10:30 -06:00
Ed Page
6e53d7e719 refactor: Switch Words/Identifiers to check_file 2021-01-02 13:10:30 -06:00
Ed Page
d28174439b refactor: Switch FoundFiles to check_file 2021-01-02 13:10:30 -06:00
Ed Page
6c28376e50 refactor: Give checks full control 2021-01-02 13:10:30 -06:00
Ed Page
220a79ff30 refactor: Make room for parent function 2021-01-02 13:10:30 -06:00
Ed Page
bc90bacff2 refactor(typos): Pull out file logic 2021-01-02 13:10:30 -06:00
Ed Page
e741f96de3 refactor(typos): Decouple parsing from checks 2021-01-02 13:10:22 -06:00
Ed Page
1e64080c05 refactor(typos): Open up the name Parser 2021-01-02 12:58:33 -06:00
Ed Page
7fdd0dee16 style(typos): Make parser ordering clearer 2021-01-02 12:58:33 -06:00
Ed Page
f103296a8c
Merge pull request #182 from crate-ci/dependabot/cargo/proc-exit-1.0.1
chore(deps): bump proc-exit from 0.3.0 to 1.0.1
2020-12-01 09:16:10 -06:00
dependabot-preview[bot]
4acf11f040
chore(deps): bump proc-exit from 0.3.0 to 1.0.1
Bumps [proc-exit](https://github.com/assert-rs/proc-exit) from 0.3.0 to 1.0.1.
- [Release notes](https://github.com/assert-rs/proc-exit/releases)
- [Changelog](https://github.com/assert-rs/proc-exit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/proc-exit/compare/v0.3.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 14:26:05 +00:00
Ed Page
d5a781fd25
Merge pull request #179 from crate-ci/dependabot/cargo/unicode-segmentation-1.7.1
chore(deps): bump unicode-segmentation from 1.7.0 to 1.7.1
2020-12-01 08:24:59 -06:00
Ed Page
793207165d
Merge pull request #180 from crate-ci/dependabot/cargo/ahash-0.6.1
chore(deps): bump ahash from 0.5.7 to 0.6.1
2020-12-01 08:24:51 -06:00
Ed Page
b030a1049a
Merge pull request #181 from crate-ci/dependabot/cargo/csv-1.1.5
chore(deps): bump csv from 1.1.4 to 1.1.5
2020-12-01 08:24:40 -06:00
Ed Page
54ed280a83
Merge pull request #183 from crate-ci/dependabot/cargo/nom-6.0.1
chore(deps): bump nom from 6.0.0 to 6.0.1
2020-12-01 08:24:22 -06:00
Ed Page
5f033bb88f
Merge pull request #184 from crate-ci/dependabot/cargo/structopt-0.3.21
chore(deps): bump structopt from 0.3.20 to 0.3.21
2020-12-01 08:24:06 -06:00
dependabot-preview[bot]
cec9bd351c
chore(deps): bump structopt from 0.3.20 to 0.3.21
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.20 to 0.3.21.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.20...v0.3.21)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:20:20 +00:00
dependabot-preview[bot]
950279ef03
chore(deps): bump nom from 6.0.0 to 6.0.1
Bumps [nom](https://github.com/Geal/nom) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/Geal/nom/releases)
- [Changelog](https://github.com/Geal/nom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Geal/nom/compare/6.0.0...6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:19:56 +00:00
dependabot-preview[bot]
5640d23b95
chore(deps): bump csv from 1.1.4 to 1.1.5
Bumps [csv](https://github.com/BurntSushi/rust-csv) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/BurntSushi/rust-csv/releases)
- [Commits](https://github.com/BurntSushi/rust-csv/compare/1.1.4...1.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:19:21 +00:00
dependabot-preview[bot]
31e8988b38
chore(deps): bump ahash from 0.5.7 to 0.6.1
Bumps [ahash](https://github.com/tkaitchuck/ahash) from 0.5.7 to 0.6.1.
- [Release notes](https://github.com/tkaitchuck/ahash/releases)
- [Commits](https://github.com/tkaitchuck/ahash/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:18:56 +00:00
dependabot-preview[bot]
7fa5a9eadf
chore(deps): bump unicode-segmentation from 1.7.0 to 1.7.1
Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/unicode-rs/unicode-segmentation/releases)
- [Commits](https://github.com/unicode-rs/unicode-segmentation/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:18:35 +00:00
Ed Page
373ef92d4d
Merge pull request #178 from epage/unicode
fix(report): Rendering issues with errors
2020-11-24 20:11:43 -06:00
Ed Page
d96de581f3 fix(report): Rendering issues with errors
- We aren't consistent in quoting words
- We used byte offsets rather than column counts
- We mixed styles between disallowed and corrections

Fixes #165
2020-11-24 18:52:24 -06:00
Ed Page
2d662bf4e6
Merge pull request #177 from epage/panic
fix: Be friendlier with panics
2020-11-23 15:29:34 -06:00
Ed Page
e9b3378913 fix: Be friendlier with panics 2020-11-23 12:40:55 -06:00
Ed Page
e3791065b6
Merge pull request #176 from epage/file-error
fix(report): Show path for errors
2020-11-23 12:14:45 -06:00
Ed Page
9b0cd5b5f0 fix(report): Show path for errors 2020-11-23 11:20:12 -06:00
Ed Page
0ccccab24f
Merge pull request #175 from epage/io
fix: Return more precise errors
2020-11-23 10:24:03 -06:00
Ed Page
b03df3aeae fix: Return more precise errors 2020-11-23 10:08:38 -06:00
Ed Page
8ecffe79e3
Merge pull request #174 from epage/pipe
fix: Handle broken pipe
2020-11-21 22:09:12 -06:00
Ed Page
869b916ca6 fix: Handle broken pipe 2020-11-21 21:57:12 -06:00
Ed Page
d84117da1f
Merge pull request #173 from epage/code
fix(cli): Define an error code policy
2020-11-14 21:51:49 -06:00
Ed Page
4ddbdcf5dd fix(cli): Define an error code policy
The main goal is to make spelling errors differentiated from other
errors.

Fixes #170
2020-11-14 21:17:29 -06:00
Ed Page
8a35a12096
Merge pull request #169 from epage/refactor
Further polish
2020-11-11 19:39:29 -06:00
Ed Page
ce16d38cfd perf(dict): Skip checking numbers 2020-11-11 18:52:23 -06:00
Ed Page
d258e62f43 feat(report): Diff output mode 2020-11-11 18:52:23 -06:00
Ed Page
7a1fac7fab refactor(report): Use native types 2020-11-11 18:44:27 -06:00
Ed Page
482d320407 fix(dict): Ensure we fall through to built-in dict 2020-11-11 12:22:29 -06:00
Ed Page
36709b6f37
Merge pull request #164 from epage/perf
perf: Avoid hashing
2020-11-10 21:18:08 -06:00
Ed Page
6bdbd821e3 perf(dict): Avoid hashing unknwon words
Bypass hashing when we know (through str::len) that a word won't be in
the dict.

Master:
```
real    0m26.675s
user    0m33.683s
sys     0m4.535s
```

With this change
```
real    0m24.432s
user    0m32.492s
sys     0m4.190s
```
2020-11-10 20:57:04 -06:00
Ed Page
beaa0f4091 perf(dict): Avoid hashing unknwon words
Bypass hashing when we know (through str::len) that a word won't be in
the dict.

Master:
```
real    0m26.675s
user    0m33.683s
sys     0m4.535s
```

With this change:
```
real    0m24.060s
user    0m31.559s
sys     0m4.258s
```
2020-11-10 20:57:00 -06:00
Ed Page
18e31fa578 perf: Avoid hashing withut custom dict
`HashMap::get` (at least hashbrown) hashes before getting and doesn't
check if dict is empty.  For the custom dict, a common use case will
have the dict be empty.

Master:
```
real    0m26.675s
user    0m33.683s
sys     0m4.535s
```

Bypassing `HashMap::get`
```
real    0m16.415s
user    0m14.519s
sys     0m4.118s
```

On a moderately sized repo.
2020-11-10 20:56:54 -06:00
Ed Page
150c5bfdc1 perf: Hash faster for custom dicts
If we have to hash for the custom dict, we might as well be fast about
it.  We do not need a cryptographically secure algorithm since the
content is fixed for the user.

Master:
```
real    0m26.675s
user    0m33.683s
sys     0m4.535s
```

With ahash:
```
real    0m23.993s
user    0m30.800s
sys     0m4.440s
```
2020-11-10 20:56:49 -06:00