Files
moltbot/scripts/docs-spellcheck.sh
2026-02-21 15:08:28 +01:00

45 lines
887 B
Bash

#!/usr/bin/env bash
set -euo pipefail
mode="${1:-}"
write_flag=()
if [[ "$mode" == "--write" ]]; then
write_flag=(-w)
fi
args=(
README.md
docs
--skip=*.png,*.jpg,*.jpeg,*.gif,*.svg
-D
-
-D
scripts/codespell-dictionary.txt
-I
scripts/codespell-ignore.txt
"${write_flag[@]}"
)
if command -v codespell >/dev/null 2>&1; then
codespell "${args[@]}"
exit 0
fi
if command -v python3 >/dev/null 2>&1; then
python3 -m pip install --user --disable-pip-version-check --break-system-packages codespell >/dev/null 2>&1 || \
python3 -m pip install --user --disable-pip-version-check codespell >/dev/null 2>&1
user_bin="$(python3 - <<'PY'
import site
print(f"{site.USER_BASE}/bin")
PY
)"
if [[ -x "${user_bin}/codespell" ]]; then
"${user_bin}/codespell" "${args[@]}"
exit 0
fi
fi
echo "codespell unavailable: install codespell or python3" >&2
exit 1