AdGuardHome/scripts/make/txt-lint.sh
Ainar Garipov 8fb76701f4 Pull request 1974: 6133-upd-quic-go
Updates #6133.

Squashed commit of the following:

commit cb096e3cdef8e85fa3a27e3bb3065317aaa29048
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 23 19:41:04 2023 +0300

    openapi: imp chlog

commit 623594f95d4be3a03e451849f7b1b5181785aeeb
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 23 19:25:47 2023 +0300

    all: upd quic-go, txt-lint
2023-08-23 20:10:54 +03:00

79 lines
1.6 KiB
Bash

#!/bin/sh
# This comment is used to simplify checking local copies of the script. Bump
# this number every time a remarkable change is made to this script.
#
# AdGuard-Project-Version: 4
verbose="${VERBOSE:-0}"
readonly verbose
if [ "$verbose" -gt '0' ]
then
set -x
fi
# Set $EXIT_ON_ERROR to zero to see all errors.
if [ "${EXIT_ON_ERROR:-1}" -eq '0' ]
then
set +e
else
set -e
fi
# We don't need glob expansions and we want to see errors about unset variables.
set -f -u
# Source the common helpers, including not_found.
. ./scripts/make/helper.sh
# Simple analyzers
# trailing_newlines is a simple check that makes sure that all plain-text files
# have a trailing newlines to make sure that all tools work correctly with them.
trailing_newlines() {
nl="$( printf "\n" )"
readonly nl
# NOTE: Adjust for your project.
git ls-files\
':!*.png'\
':!*.tar.gz'\
':!*.zip'\
| while read -r f
do
if [ "$( tail -c -1 "$f" )" != "$nl" ]
then
printf '%s: must have a trailing newline\n' "$f"
fi
done
}
# trailing_whitespace is a simple check that makes sure that there are no
# trailing whitespace in plain-text files.
trailing_whitespace() {
# NOTE: Adjust for your project.
git ls-files\
':!*.bmp'\
':!*.jpg'\
':!*.mmdb'\
':!*.png'\
':!*.svg'\
':!*.tar.gz'\
':!*.webp'\
':!*.zip'\
| while read -r f
do
grep -e '[[:space:]]$' -n -- "$f"\
| sed -e "s:^:${f}\::" -e 's/ \+$/>>>&<<</'
done
}
run_linter -e trailing_newlines
run_linter -e trailing_whitespace
git ls-files -- '*.conf' '*.md' '*.txt' '*.yaml' '*.yml'\
'client/src/__locales/en.json'\
| xargs misspell --error\
| sed -e 's/^/misspell: /'