Fix broken tag references and the broken script to check them

This commit is contained in:
w0rp
2023-02-07 18:41:13 +00:00
parent e1ae009bac
commit da5fa17df1
4 changed files with 13 additions and 5 deletions

View File

@@ -7,16 +7,24 @@ tag_regex='[gb]\?:\?\(ale\|ALE\)[a-zA-Z_\-]\+'
tags="$(mktemp -t tags.XXXXXXXX)"
refs="$(mktemp -t refs.XXXXXXXX)"
result="$(mktemp -t refs.XXXXXXXX)"
# Grep for tags and references, and complain if we find a reference without
# a tag for the reference. Only our tags will be included.
grep --exclude=tags -roh "\\*$tag_regex\\*" doc | sed 's/*//g' | sort -u > "$tags"
grep --exclude=tags -roh "|$tag_regex|" doc | sed 's/|//g' | sort -u > "$refs"
# Collect tags in a file we can display to the user if there are differences.
comm -23 "$refs" "$tags" > "$result"
exit_code=0
if ! [[ $(comm -23 $refs $tags | wc -l) -eq 0 ]]; then
exit_code=1
# If there are differences, show them and error out.
if ! [[ $(wc -l < "$result") -eq 0 ]]; then
cat "$result"
exit_code=1
fi
rm "$tags"
rm "$refs"
rm "$result"
exit $exit_code