Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drahnr/cargo-spellcheck
Checks all your documentation for spelling and grammar mistakes with hunspell and a nlprule based checker for grammar
https://github.com/drahnr/cargo-spellcheck
cargo cargo-plugin cargo-spellcheck grammar grammar-mistakes grammarchecker hacktoberfest hunspell languagetool nlp spellchecker spelling
Last synced: 11 days ago
JSON representation
Checks all your documentation for spelling and grammar mistakes with hunspell and a nlprule based checker for grammar
- Host: GitHub
- URL: https://github.com/drahnr/cargo-spellcheck
- Owner: drahnr
- License: apache-2.0
- Created: 2020-05-14T12:11:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-09T07:21:10.000Z (2 months ago)
- Last Synced: 2024-10-13T20:05:53.252Z (28 days ago)
- Topics: cargo, cargo-plugin, cargo-spellcheck, grammar, grammar-mistakes, grammarchecker, hacktoberfest, hunspell, languagetool, nlp, spellchecker, spelling
- Language: Rust
- Homepage:
- Size: 76.7 MB
- Stars: 321
- Watchers: 5
- Forks: 32
- Open Issues: 49
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# cargo-spellcheck
[![crates.io](https://img.shields.io/crates/v/cargo_spellcheck.svg)](https://crates.io/crates/cargo-spellcheck)
[![CI](https://ci.fff.rs/api/v1/teams/main/pipelines/cargo-spellcheck/jobs/master-validate/badge)](https://ci.fff.rs/teams/main/pipelines/cargo-spellcheck/jobs/master-validate)
![commits-since](https://img.shields.io/github/commits-since/drahnr/cargo-spellcheck/latest.svg)
[![rust 1.70.0+ badge](https://img.shields.io/badge/rust-1.70.0+-93450a.svg)](https://blog.rust-lang.org/2023/06/01/Rust-1.70.0.html)Check your spelling with `hunspell` and/or `nlprule`.
## Use Cases
Run `cargo spellcheck --fix` or `cargo spellcheck fix` to fix all your
documentation comments in order to avoid nasty typos all over your source tree.
Meant as a helper simplifying review as well as improving CI checks after a
learning phase for custom/topic specific lingo.`cargo-spellcheck` is also a valuable tool to run from git commit hooks or CI/CD
systems.### Check For Spelling and/or Grammar Mistakes
```zsh
cargo spellcheck check
```error: spellcheck
--> src/main.rs:44
|
44 | Fun facets shalld cause some erroris.
| ^^^^^^
| - shall or shall d
|### Apply Suggestions Interactively
```zsh
cargo spellcheck fix
```error: spellcheck(Hunspell)
--> /media/supersonic1t/projects/cargo-spellcheck/src/literalset.rs:291
|
291 | Returns literl within the Err variant if not adjacent
| ^^^^^^(13/14) Apply this suggestion [y,n,q,a,d,j,e,?]?
lite
litter
litterer
liter l
liters
literal
liter
ยป a custom replacement literal## Installation
`cargo install --locked cargo-spellcheck`
The `--locked` flag is the preferred way of installing to get the tested set of
dependencies.on OS X, you need to ensure that `libclang.dylib` can be found by the linker
which can be achieved by setting `DYLB_FALLBACK_LIBRARY_PATH`:
```
export DYLD_FALLBACK_LIBRARY_PATH= \
"$(xcode-select --print-path)/Toolchains/XcodeDefault.xctoolchain/usr/lib/"
```In Linux, the file is `libclang.so` which can be installed via:
```
apt-get install libclang-dev
```Afterwards, you can set the variable `LIBCLANG_PATH` via:
```
export LIBCLANG_PATH=/usr/lib/llvm-14/lib/
```## Completions
`cargo spellcheck completions` for autodetection of your current shell via
`$SHELL`,or
`cargo spellcheck completions --shell zsh`
to explicitly specify your shell type.
Commonly it's use like this from your shell's `.rc*` file:
`source <(cargo spellcheck completions)`
Note: There is a [relevant clap issue
(#3508)](https://github.com/clap-rs/clap/issues/3508) that makes this fail in
some cases.## ๐ Contribute!
Contributions are very welcome!
Generally the preferred way of doing so, is to comment in an issue that you
would like to tackle the implementation/fix.This is usually followed by an initial PR where the implementation is then
discussed and iteratively refined. No need to get it all correct
the first time!## Documentation
- [Features and Roadmap](docs/features.md)
- [Remedies for common issues](docs/remedy.md)
- [Configuration](docs/configuration.md)
- [Available Checkers](docs/checkers.md)
- [Automation of `cargo-spellcheck`](docs/automation.md)