diff --git a/.gitignore b/.gitignore index e5c465ce23..433de8499c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .vscode/settings.json /node_modules +spelling_errors.json diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000000..dc4958c598 --- /dev/null +++ b/cspell.json @@ -0,0 +1,14 @@ +{ + // https://cspell.org/configuration/ + "version": "0.2", + "language": "en", + "dictionaries": [], // https://cspell.org/docs/dictionaries/ + "allowCompoundWords": true, + "enableFiletypes": ["shellscript"], + "ignorePaths": ["cspell.json", "node_modules"], + "minWordLength": 4, + "maxNumberOfProblems": 100, + "flagWords": [], // List of words to be always considered incorrect + "ignoreWords": [], // Ignore allows you the specify a list of words you want to ignore + "words": [] // List of words to be ignored (even if they are in the flagWords list) +} diff --git a/spellcheck.sh b/spellcheck.sh new file mode 100644 index 0000000000..7bbdc9c7a9 --- /dev/null +++ b/spellcheck.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# When editing this file, please check whether the changes also need to be applied to the LinuxGSM and LinuxGSM-Dev-Docs repositories. + +# Temporary file for cspell output +tempFile=$(mktemp) + +# Run cspell on all files and capture the output +cspell "**" > "$tempFile" 2>&1 + +# Process the output to extract unique words and save them to spelling_errors.json +# This assumes that the spelling errors are identifiable in a specific format from cspell output +grep "Unknown word" "$tempFile" | grep -oP "\(\K[^\)]+" | sort -u | jq -R . | jq -s . > spelling_errors.json + +# Cleanup +rm "$tempFile" + +echo "Spelling errors have been saved to spelling_errors.json"