Blob


1 #!/usr/local/plan9/bin/rc
2 # Usage: sig key ...
3 # prints out function signatures by grepping the manual
5 . 9.rc
6 *=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'} # fold case, delete funny chars
7 if(~ $#* 0){
8 echo Usage: sig function ... >[1=2]
9 exit 1
10 }
12 noplan9=()
13 for(p in $path) {
14 if(! ~ $p $PLAN9/bin)
15 noplan9=($noplan9 $p)
16 }
18 for (i) {
19 files=`{grep -il '[ ]\*?'$i'\(' $PLAN9/man/man3/*.3*}
20 for(j in $files) {
21 {echo .nr LL 20i; 9 sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p' $j } |
22 nroff -man |
23 sed '
24 :a
25 /,$/ {
26 N
27 s/\n//
28 }
29 ta
30 s/[ ]+/ /g' |
31 grep -i -e '[ ]\*?'$i'\(' | sed 's/^[ +]/ /'
32 }
33 { path=$noplan9; man 2 $i; man 3 $i } >[2]/dev/null | nobs | sed -n '
34 :d
35 /SYNOPSIS/bp
36 n
37 bd
38 :p
39 /DESCRIPTION/bd
40 p
41 n
42 bp
43 ' | grep -i -e '[ ]\*?'$i'\(' | sed 's/^[ +]/ /'
44 }
46 exit 0