#!/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 FILES_TO_BE_CHECKED=$* if [ -z "$FILES_TO_BE_CHECKED" ]; then echo "No argument specified. Checking on the entire repo..." FILES_TO_BE_CHECKED="$(git ls-files -- ':(exclude)locale' ':(exclude)*fixtures*' ':(exclude)*.svg' ':(exclude)docs/translating' ':(exclude)yarn.lock' ':(exclude)docs/THIRDPARTY' ':(exclude)*postgresql.conf.template.erb' ':(exclude)tools/setup/emoji/emoji_names.py' ':(exclude)tools/setup/emoji/emoji_map.json' ':(exclude)zerver/management/data/unified_reactions.json')" else echo "Checking $FILES_TO_BE_CHECKED" fi mapfile -t FILES_TO_BE_CHECKED <<<"$FILES_TO_BE_CHECKED" 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 ... " exit 1 fi