xref: /plan9-contrib/rc/bin/sig (revision b249590635b298a2b629c4458908d752eced8f6f)
1458db832SDavid du Colombier#!/bin/rc
2458db832SDavid du Colombier# Usage: sig key ...
3458db832SDavid du Colombier#	prints out function signatures by grepping the manual
4458db832SDavid du Colombier
5458db832SDavid du Colombier
6458db832SDavid du Colombier*=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'}	# fold case, delete funny chars
7458db832SDavid du Colombierif(~ $#* 0){
8458db832SDavid du Colombier	echo Usage: sig function ... >/fd/2
9458db832SDavid du Colombier	exit 1
10458db832SDavid du Colombier}
11458db832SDavid du Colombier
12458db832SDavid du Colombierfor (i) {
13ebe1d0a8SDavid du Colombier	files=`{grep -il '[ 	]\*?'$i'\(' /sys/man/2/*}
14458db832SDavid du Colombier	for(j in $files) {
15458db832SDavid du Colombier		{echo .nr LL 20i; sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p'  $j } |
16458db832SDavid du Colombier			nroff -man |
17ebe1d0a8SDavid du Colombier			sed '
18ebe1d0a8SDavid du Colombier				:a
19ebe1d0a8SDavid du Colombier				/,$/ {
20ebe1d0a8SDavid du Colombier					N
21ebe1d0a8SDavid du Colombier					s/\n//
22ebe1d0a8SDavid du Colombier				}
23ebe1d0a8SDavid du Colombier				ta
24ebe1d0a8SDavid du Colombier				s/[ 	]+/ /g' |
25*b2495906SDavid du Colombier			grep -i -e '[ 	*]'$i'\(' | sed 's/^[ +]/	/'
26458db832SDavid du Colombier	}
27458db832SDavid du Colombier}
28458db832SDavid du Colombier
29458db832SDavid du Colombierexit 0
30