code: plan9front

ref: 8c228a123fa0c6062570964011854302bbf57242
dir: /rc/bin/sig/

View raw version
#!/bin/rc
# Usage: sig key ...
#	prints out function signatures by grepping the manual


*=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'}	# fold case, delete funny chars
if(~ $#* 0){
	echo usage: sig function ... >/fd/2
	exit usage
}

for (i) {
	files=`{grep -il '[ 	]\*?'$i'\(' /sys/man/2/*}
	for(j in $files) {
		{echo .nr LL 20i; sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p'  $j } |
			nroff -man |
			sed '
				:a
				/,$/ {
					N
					s/\n//
				}
				ta
				s/[ 	]+/ /g' |
			grep -i -e '[ 	*]'$i'\(' | sed 's/^[ +]/	/'
	}
}

exit 0