#spelling #grammar #spell-checking

bin+lib cargo-spellcheck

Checks all doc comments for spelling mistakes

99 releases

new 0.14.0 Apr 24, 2024
0.13.2 Jan 5, 2024
0.13.1 Oct 10, 2023
0.12.4 Jul 3, 2023
0.3.0 Jul 29, 2020

#55 in Text processing

Download history 812/week @ 2024-01-03 459/week @ 2024-01-10 747/week @ 2024-01-17 656/week @ 2024-01-24 673/week @ 2024-01-31 702/week @ 2024-02-07 543/week @ 2024-02-14 704/week @ 2024-02-21 538/week @ 2024-02-28 432/week @ 2024-03-06 540/week @ 2024-03-13 593/week @ 2024-03-20 319/week @ 2024-03-27 488/week @ 2024-04-03 491/week @ 2024-04-10 340/week @ 2024-04-17

1,726 downloads per month

MIT/Apache

7.5MB
13K SLoC

cargo-spellcheck

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

   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.

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

Dependencies

~24โ€“41MB
~725K SLoC