cspell

Damit sich wĂ€hrend der Programmierung im Quellcode keine Rechtschreibfehler einschleichen, nutze ich die Code Spell Checker Erweiterung in Visual Studio Code. Damit werden schon wĂ€hrend des Programmierens falsche oder unbekannte Wörter blau unterkringelt. Ich habe mich nun gefragt, ob ich mit pre-commit die gleiche ÜberprĂŒfung machen kann, damit ich quasi gezwungen bin korrekte Rechtschreibung abzuliefern, und ich habe mich gefragt, wie eigentlich die Erweiterung unter der Decke funktioniert. Beides erfahrt ihr im Folgenden.

Die Erweiterung nutzt ein Tool cspell, welches ihr euch einfach mit npm als Command-line-Tool installieren könnt. Vorher mĂŒsst ihr noch sicherstellen, dass ihr NodeJS installiert habt, welches npm enthĂ€lt.

npm install -g cspell@latest

Nachdem könnt ihr einfach in dem Verzeichnis, in welchem ihr die Rechtschreibung prĂŒfen möchtet, cspell ausfĂŒhren.

# all files
cspell **/*
# all md (Markdown) files
cspell **/*.md

Damit könnt ihr jetzt Englisch prĂŒfen. cspell lĂ€sst sich aber auch um andere Sprachen erweitern. Einfach bei npm nach beispielsweise @cspell/dict-de-de suchen und fĂŒr andere Sprachen als Deutsch dann das de-de eben ersetzen. Die Installation der Sprache besteht dann aus den folgenden Befehlen.

npm install -g @cspell/dict-de-de
cspell link add @cspell/dict-de-de

Jetzt könnt ihr mit den Befehlen von oben auch andere Sprachen prĂŒfen. cspell verwendet automatisch ein paar Dictionaries, wie unter anderem ein companies mit bekannten Firmennamen.

Es fehlt nun nur noch die Integration in pre-commit. HierfĂŒr hat cspell ein eigenes Repository angelegt: https://github.com/streetsidesoftware/cspell-cli, welches ihr dann in eurer .pre-commit-config.yaml wie folgt referenzieren könnt.

repos:
-   repo: https://github.com/streetsidesoftware/cspell-cli
    rev: v8.3.0
    hooks:
    -   id: cspell

So wird dann bei jedem Commit auf Englisch geprĂŒft. Die Anpassung an beispielsweise Deutsch folgt ĂŒber eine zusĂ€tzliche Datei cspell.config.yaml im Wurzelverzeichnis eures Repositories, hier könnt ihr dann auch Wörter hinzufĂŒgen, die ihr von der ÜberprĂŒfung ausnehmen wollt.

version: "0.2"
dictionaries:
- de-de
ignoreWords: []

Das war der kleine Ausflug mit cspell. Ich hoffe, das Tool hilft euch auch weiter, um möglichst wenig Rechtschreibfehler in euer Sourcecode einzubauen. Wie immer könnt ihr gerne Kommentare schreiben, wenn ihr Anregungen oder Fragen habt. Ansonsten freue ich mich ĂŒber einen virtuellen Kaffee ☕.


[1]: https://github.com/streetsidesoftware/vscode-spell-checker

[2]: http://cspell.org/

[3]: https://github.com/streetsidesoftware/cspell-cli