forked from zulip/zulip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun-codespell
executable file
·35 lines (32 loc) · 1.19 KB
/
run-codespell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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