#spellcheck #spelling #grammar

bin+lib cargo-spellcheck

Checks all doc comments for spelling mistakes

97 releases

0.13.1 Oct 10, 2023
0.12.4 Jul 3, 2023
0.12.3 Nov 23, 2022
0.11.3 May 25, 2022
0.3.0 Jul 29, 2020

#70 in Cargo plugins

Download history 481/week @ 2023-08-04 435/week @ 2023-08-11 433/week @ 2023-08-18 429/week @ 2023-08-25 555/week @ 2023-09-01 436/week @ 2023-09-08 397/week @ 2023-09-15 334/week @ 2023-09-22 566/week @ 2023-09-29 971/week @ 2023-10-06 742/week @ 2023-10-13 779/week @ 2023-10-20 768/week @ 2023-10-27 820/week @ 2023-11-03 708/week @ 2023-11-10 526/week @ 2023-11-17

2,933 downloads per month


13K SLoC


crates.io CI commits-since rust 1.70.0+ badge

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

cargo spellcheck check
error: spellcheck
   --> src/main.rs:44
 44 | Fun facets shalld cause some erroris.
    |            ^^^^^^
    | - shall or shall d

Apply Suggestions Interactively

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,?]?

   liter l
 » a custom replacement literal


cargo install --locked cargo-spellcheck

The --locked flag is the preferred way of installing to get the tested set of dependencies.


cargo spellcheck completions for autodetection of your current shell via $SHELL,


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) 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!



~652K SLoC