mirror of https://github.com/zulip/zulip.git
36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Fix common misspellings in text files (config: .codespellignore)
|
|
# Based on
|
|
# https://github.com/bitcoin/bitcoin/blob/master/test/lint/lint-spelling.sh
|
|
#
|
|
# We plan to replace this script with the `tools/lint` system as soon as we can.
|
|
|
|
IGNORE_WORDS_FILE=.codespellignore
|
|
if [ "$#" -eq 0 ]; then
|
|
echo "No argument specified. Checking on the entire repo..."
|
|
FILES_TO_BE_CHECKED="$(
|
|
git ls-files -- \
|
|
':!*.asc' \
|
|
':!*.svg' \
|
|
':!*/fixtures/*' \
|
|
':!docs/THIRDPARTY' \
|
|
':!docs/translating' \
|
|
':!locale' \
|
|
':!postgresql.conf.template.erb' \
|
|
':!tools/setup/emoji/emoji_map.json' \
|
|
':!tools/setup/emoji/emoji_names.py' \
|
|
':!pnpm-lock.yaml' \
|
|
':!zerver/management/data/unified_reactions.json'
|
|
)"
|
|
mapfile -t FILES_TO_BE_CHECKED <<<"$FILES_TO_BE_CHECKED"
|
|
else
|
|
FILES_TO_BE_CHECKED=("$@")
|
|
echo "Checking ${FILES_TO_BE_CHECKED[*]@Q}"
|
|
fi
|
|
|
|
if ! codespell --ignore-words="$IGNORE_WORDS_FILE" -- "${FILES_TO_BE_CHECKED[@]}"; then
|
|
echo "You may check the files for typo again using ./tools/run-codespell <file 1> <file 2> ... <file n>"
|
|
exit 1
|
|
fi
|