#!/bin/sh

# manlint - lint manual page 'roff source, stop list in mantools/manlint.stop

# example: mantools/manlint man/man?/*

grep -n . "$@" | sed -n '
    s/$/ /
    # Non-bold manual page references 
    /[a-z][_a-z0-9_]*([0-9])/{
	p
	d
    }
    # Command examples not enclosed in quotes
    /[^"]\\fB[a-z][_a-z0-9-]* /{
	p
	d
    }
    # Missing manual page sections
    /\\fBanvil\\fR[^-(]/{
	p
	d
    }
    /\\fBbounce\\fR[^-(]/{
        p
        d
    }
    /\\fBcleanup\\fR[^-(]/{
        p
        d
    }
    /\\fBdiscard\\fR[^-(]/{
        p
        d
    }
    /\\fBerror\\fR[^-(]/{
        p
        d
    }
    /\\fBflush\\fR[^-(]/{
        p
        d
    }
    /\\fBlmtp\\fR[^-(]/{
        p
        d
    }
    /\\fBlocal\\fR[^-(]/{
        p
        d
    }
    /\\fBmaster\\fR[^-(]/{
        p
        d
    }
    /\\fBoqmgr\\fR[^-(]/{
        p
        d
    }
    /\\fBpickup\\fR[^-(]/{
        p
        d
    }
    /\\fBpipe\\fR[^-(]/{
        p
        d
    }
    /\\fBpostalias\\fR[^-(]/{
        p
        d
    }
    /\\fBpostcat\\fR[^-(]/{
        p
        d
    }
    /\\fBpostconf\\fR[^-(]/{
        p
        d
    }
    /\\fBpostdrop\\fR[^-(]/{
        p
        d
    }
    /\\fBpostfix\\fR[^-(]/{
        p
        d
    }
    /\\fBpostkick\\fR[^-(]/{
        p
        d
    }
    /\\fBpostlock\\fR[^-(]/{
        p
        d
    }
    /\\fBpostlog\\fR[^-(]/{
        p
        d
    }
    /\\fBpostmap\\fR[^-(]/{
        p
        d
    }
    /\\fBpostqueue\\fR[^-(]/{
        p
        d
    }
    /\\fBpostsuper\\fR[^-(]/{
        p
        d
    }
    /\\fBproxymap\\fR[^-(]/{
        p
        d
    }
    /\\fBqmgr\\fR[^-(]/{
        p
        d
    }
    /\\fBqmqpd\\fR[^-(]/{
        p
        d
    }
    /\\fBscache\\fR[^-(]/{
        p
        d
    }
    /\\fBsendmail\\fR[^-(]/{
        p
        d
    }
    /\\fBshowq\\fR[^-(]/{
        p
        d
    }
    /\\fBsmtp\\fR[^-(]/{
        p
        d
    }
    /\\fBsmtpd\\fR[^-(]/{
        p
        d
    }
    /\\fBspawn\\fR[^-(]/{
        p
        d
    }
    /\\fBtlsmgr\\fR[^-(]/{
        p
        d
    }
    /\\fBtrivial-rewrite\\fR[^-(]/{
        p
        d
    }
    /\\fBverify\\fR[^-(]/{
        p
        d
    }
    /\\fBvirtual\\fR[^-(]/{
        p
        d
    }
' | grep -E -v ':[a-z][_a-z0-9-]*\([0-9]\),' | 
    grep -F -vf mantools/manlint.stop
