Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions scripts/codespell-whitelist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
actuall
agains
aline
alloced
anid
ans
aparent
backword
backwords
cachable
cas
childs
commend
crypted
dont
fo
followings
formater
hight
hist
iff
inactivate
initate
nd
neeed
nnumber
normall
othere
pasttime
performes
pevents
pointes
preceed
querys
readed
referer
retuned
sence
sheme
tage
te
tha
ther
therefor
thru
thur
tim
tread
tthe
ue
uint
upto
vaid
valuse
whan
whe
wil
wnat
73 changes: 73 additions & 0 deletions scripts/spell-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/sh
#
## Copyright (C) 2020 The Squid Software Foundation and contributors
##
## Squid software is distributed under GPLv2+ license and includes
## contributions from numerous individuals and organizations.
## Please see the COPYING and CONTRIBUTORS files for details.
##

#
# This script uses codespell to automatically fix a subset of common spelling
# mistakes in the current git-controlled workspace.
#
# Usage: ./scripts/spell-check.sh [target]...
# ... where "target" is a git-controlled file or directory name to be fixed.
#
# By default, a hand-picked subset of Squid repository sources is fixed.
#
# See ${WHITE_LIST} below for the list of allowed misspellings.
#

set -e

echo -n "Codespell version: "
if ! codespell --version; then
echo "This script requires codespell which was not found."
exit 1
fi

if ! git diff --quiet; then
echo "There are unstaged changes. This script may modify sources."
echo "Stage changes to avoid permanent losses when things go bad."
exit 1
fi

WHITE_LIST=scripts/codespell-whitelist.txt
if test ! -f "${WHITE_LIST}"; then
echo "${WHITE_LIST} does not exist"
exit 1
fi

for FILENAME in `git ls-files "$@"`; do
# skip subdirectories, git ls-files is recursive
test -d $FILENAME && continue

case ${FILENAME} in

# skip (some) generated files with otherwise-checked extensions
doc/debug-sections.txt)
;;

# skip imported/foreign files with otherwise-checked extensions
doc/*/*.txt)
;;

# check all these
*.h|*.c|*.cc|*.cci|\
*.sh|\
*.pre|\
*.pl|*.pl.in|*.pm|\
*.dox|*.html|*.txt|\
*.sql|\
errors/templates/ERR_*|\
INSTALL|README|QUICKSTART)
if ! codespell -d -q 3 -w -I "${WHITE_LIST}" ${FILENAME}; then
echo "codespell failed for ${FILENAME}"
exit 1
fi
;;
esac
done

exit 0