Cargo Spellcheck
Checks all your documentation for spelling and grammar mistakes with hunspell and a nlprule based checker for grammar
Install / Use
npx skills add drahnr/cargo-spellcheckInstalls into whichever agent you are using.
README
cargo-spellcheck
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
<pre><code><span style="color:#CC0000"><b>error</b></span><span style="color:#D3D7CF"><b>: spellcheck</b></span>
<span style="color:#3465A4"> --></span> src/main.rs:44
<span style="color:#3465A4"><b> |</b></span>
<span style="color:#3465A4"><b> 44 |</b></span> Fun facets shalld cause some erroris.
<span style="color:#3465A4"><b> |</b></span><span style="color:#C4A000"><b> ^^^^^^</b></span>
<span style="color:#3465A4"><b> |</b></span><span style="color:#CC0000"><b> - </b></span><span style="color:#4E9A06"><b>shall</b></span> or <span style="color:#4E9A06">shall d</span>
<span style="color:#3465A4"><b> |</b></span></code></pre>
Apply Suggestions Interactively
cargo spellcheck fix
<pre><code><span style="color:#CC0000"><b>error</b></span><span style="color:#D3D7CF"><b>: spellcheck(Hunspell)</b></span>
<span style="color:#3465A4"> --></span> /media/supersonic1t/projects/cargo-spellcheck/src/literalset.rs:291
<span style="color:#3465A4"><b> |</b></span>
<span style="color:#3465A4"><b> 291 |</b></span> Returns literl within the Err variant if not adjacent
<span style="color:#3465A4"><b> |</b></span><span style="color:#C4A000"><b> ^^^^^^</b></span>
<span style="color:#729FCF"><b>(13/14) Apply this suggestion [y,n,q,a,d,j,e,?]?</b></span>
<span style="background-color:#2E3436;color:#729FCF;">lite</span>
<span style="background-color:#2E3436;color:#729FCF;">litter</span>
<span style="background-color:#2E3436;color:#729FCF;">litterer</span>
<span style="background-color:#2E3436;color:#729FCF;">liter l</span>
<span style="background-color:#2E3436;color:#729FCF;">liters</span>
<span style="background-color:#2E3436;color:#729FCF;">literal</span>
<span style="background-color:#2E3436;color:#729FCF;">liter</span>
<span style="color:#8AE234"><b>»</b></span> <span style="background-color:#2E3436;color:#FCE94F">a custom replacement literal</span></code></pre>
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)
🎈 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
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
