summaryrefslogtreecommitdiffstats
path: root/scripts/markup_check.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/markup_check.sh')
-rwxr-xr-xscripts/markup_check.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/scripts/markup_check.sh b/scripts/markup_check.sh
new file mode 100755
index 0000000..4dddd3a
--- /dev/null
+++ b/scripts/markup_check.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+LOG=/tmp/markup_check.$$
+rm -f $LOG $LOG.full
+
+if test $# -eq 0; then
+ echo 1>&2 "Usage: $0 filename-or-dirname ... $#"
+ exit 1
+fi
+
+file_list=$(find $* -type f | grep '\.[1-9][a-zA-Z]*$')
+
+pagename_pattern='[a-z_A-Z][^ ]*'
+
+(
+ echo ""
+ echo "Checking for page xref without space before left parenthesis:"
+ pattern='^\.BR *'"$pagename_pattern"'([1-8][^1-9]'
+ echo " Pattern: '$pattern'"
+ grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG
+
+ echo ""
+ echo "Checking for .IR xrefs that should be .BR"
+ pattern='^\.IR *'"$pagename_pattern"' *([1-8][^1-9]'
+ echo " Pattern: '$pattern'"
+ grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG
+
+ echo ""
+ echo "Checking for misformatted punctuation in .BR xrefs"
+ pattern='^\.BR *'"$pagename_pattern"' *([1-8a-zA-Z]*) [^ ]'
+ echo " Pattern: '$pattern'"
+ grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG
+
+ echo ""
+ echo "Checking for .B xrefs that should be .BR"
+ pattern='^\.B '"$pagename_pattern"' *([1-8a-zA-Z]*)'
+ echo " Pattern: '$pattern'"
+ grep "$pattern" $file_list | sed 's/^/ /' | tee -a $LOG
+) > $LOG.full
+
+if test $(cat $LOG | wc -l) -gt 0; then
+ echo ""
+ echo "MARKUP ERRORS!!!!!"
+ cat $LOG.full
+ exit 1
+fi
+
+exit 0