Ed Page
b17f9c3a12
feat: Const some fns
2021-03-29 20:27:06 -05:00
Ed Page
75ba4ac535
perf(config): Get small-string optimization
2021-03-01 12:25:51 -06:00
Ed Page
b5827004a2
refactor(config): Simplify
2021-03-01 12:19:56 -06:00
Ed Page
0ea6de6019
refactor(cli): Clarify role of checks
2021-03-01 11:50:23 -06:00
Ed Page
b5f606f201
refactor(typos): Simplify the top-level API
2021-03-01 11:50:23 -06:00
Ed Page
e1e4ce8b61
refactor: Clarify roles
2021-03-01 11:50:23 -06:00
Ed Page
ddeee94cf8
refactor(checks): Make all state dynamic
2021-03-01 11:50:23 -06:00
Ed Page
1c3acd747a
fix(config)!: Move binary to file
...
Seems like it would make sense to allow varying this by directory (when
supporting layering) and by file type.
2021-03-01 11:50:12 -06:00
Ed Page
dbac2eff4a
feat(config): Use '-' to dump config to stdout
2021-01-04 19:29:43 -06:00
Ed Page
13a93ee8d1
fix(config): Provide all field defaults
2021-01-04 19:16:02 -06:00
Ed Page
ecb32a674a
fix(config): Merge custom config over repo config
...
Custom config, like args, is more mutable, so it should be respected
more.
2021-01-04 19:16:02 -06:00
Ed Page
5db9a8e1c9
docs(config): Make config more discoverable
2021-01-04 19:16:02 -06:00
Ed Page
f27282fbc0
docs(args): Clarify what args are esclusive
2021-01-04 19:15:45 -06:00
Ed Page
70163fae61
docs(args): Clarify command line arguments
2021-01-04 14:54:50 -06:00
Ed Page
1c4d2ac32b
feat: Support '-' for stdin
...
This helps with tool integration.
Fixes #195
2021-01-02 22:17:08 -06:00
Ed Page
998fad4390
feat: Check and replace UTF-16 files
...
We don't have good detection for non-UTF encodings and don't have
encoding support for UTF-32, so limiting it to just UTF-16.
Fixes #17
2021-01-02 19:25:00 -06:00
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
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
1e64080c05
refactor(typos): Open up the name Parser
2021-01-02 12:58:33 -06:00
Ed Page
e9b3378913
fix: Be friendlier with panics
2020-11-23 12:40:55 -06:00
Ed Page
b03df3aeae
fix: Return more precise errors
2020-11-23 10:08:38 -06:00
Ed Page
869b916ca6
fix: Handle broken pipe
2020-11-21 21:57:12 -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
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
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
Ed Page
b7700fa214
refactor: Don't special case --files
2020-11-10 06:30:27 -06:00
Ed Page
e12cd8ed55
refactor: Layer files/filenames on buffer processing
2020-11-10 06:30:27 -06:00
Ed Page
3bcd8a130e
refactor(report): Merge the typos types
2020-11-10 06:30:23 -06:00
Ed Page
2ef1d02164
Revert "feat(ignore): Typos-specific ignores"
...
This reverts commit 0052617fcd
.
The fix for #134 was backwards. It turns out `overrides` is for
including rather than ignoring. Will need to look at this further.
2020-11-03 19:55:45 -06:00
Ed Page
f0c24b0afa
feat(config): Allow separating config from source
2020-10-30 08:33:43 -05:00
Ed Page
736db10708
fix(format): Clarify message types
2020-10-28 21:01:33 -05:00
Ed Page
2e6cd39781
fix(config): Respect file's defaults
2020-10-28 20:58:48 -05:00
Ed Page
78d76bcbc6
fix: Be friendlier about error messages
2020-10-28 20:47:16 -05:00
Ed Page
527b9837b4
feat: Custom dictionary support
...
Switching `valid-*` to just `*` where you map typo to correction, with
support for always-valid and never-valid.
Fixes #9
2020-10-27 21:15:25 -05:00