mirror of
https://git.meli.delivery/meli/meli
synced 2024-11-09 01:10:33 +00:00
81d1c0536b
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
57 lines
1.2 KiB
Bash
Executable File
57 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Copyright (c) 2024 Manos Pitsidianakis <manos@pitsidianak.is>
|
|
# Licensed under the EUPL-1.2-or-later.
|
|
#
|
|
# You may obtain a copy of the Licence at:
|
|
# https://joinup.ec.europa.eu/software/page/eupl
|
|
#
|
|
# SPDX-License-Identifier: EUPL-1.2
|
|
|
|
## shellcheck -o all -s sh -S style scripts/mandoc_lint.sh
|
|
|
|
if test "$#" -ne 1; then
|
|
printf "Usage: %s PATH_TO_MANDOC_FILE\n" "${0}"
|
|
exit 1
|
|
fi
|
|
|
|
case "${1}" in
|
|
-h)
|
|
printf "Usage: %s PATH_TO_MANDOC_FILE\n" "${0}"
|
|
exit 0
|
|
;;
|
|
--help)
|
|
printf "Usage: %s PATH_TO_MANDOC_FILE\n" "${0}"
|
|
exit 0
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
if ! test -f "${1}"; then
|
|
printf "Argument %s either not exists or is not a regular text file.\n" "${1}"
|
|
exit 1
|
|
fi
|
|
|
|
section=$(echo "${1}" | rev | cut -d "." -f 1)
|
|
|
|
tmpdir="$(mktemp --directory)"
|
|
|
|
git show HEAD:"${1}" > "${tmpdir}/MANDOC_IN_HEAD.${section}"
|
|
|
|
mandoc -T lint "${tmpdir}/MANDOC_IN_HEAD.${section}" 2> /dev/null | cut -d':' -f 5- > "${tmpdir}"/HEAD_LINT
|
|
|
|
mandoc -T lint "${1}" 2> /dev/null | cut -d':' -f 5- > "${tmpdir}"/CHANGED_LINT
|
|
|
|
diff -c "${tmpdir}"/HEAD_LINT "${tmpdir}"/CHANGED_LINT
|
|
|
|
status=$?
|
|
|
|
rm -rf "${tmpdir}"
|
|
|
|
if test "${status}" -ne 0; then
|
|
printf "%s introduces new lint messages. Ignore if they are a false positive.\n" "${1}"
|
|
fi
|
|
|
|
# exit "${status}"
|