| #!/usr/local/plan9/bin/rc |
| # Usage: sig key ... |
| # prints out function signatures by grepping the manual |
| |
| . 9.rc |
| *=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'} # fold case, delete funny chars |
| if(~ $#* 0){ |
| echo Usage: sig function ... >[1=2] |
| exit 1 |
| } |
| |
| noplan9=() |
| for(p in $path) { |
| if(! ~ $p $PLAN9/bin) |
| noplan9=($noplan9 $p) |
| } |
| |
| for (i) { |
| files=`{grep -il '[ ]\*?'$i'\(' $PLAN9/man/man3/*.3*} |
| for(j in $files) { |
| {echo .nr LL 20i; 9 sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p' $j } | |
| nroff -man | |
| sed ' |
| :a |
| /,$/ { |
| N |
| s/\n// |
| } |
| ta |
| s/[ ]+/ /g' | |
| grep -i -e '[ ]\*?'$i'\(' | sed 's/^[ +]/ /' |
| } |
| { path=$noplan9; man 2 $i; man 3 $i } >[2]/dev/null | nobs | sed -n ' |
| :d |
| /SYNOPSIS/bp |
| n |
| bd |
| :p |
| /DESCRIPTION/bd |
| p |
| n |
| bp |
| ' | grep -i -e '[ ]\*?'$i'\(' | sed 's/^[ +]/ /' |
| } |
| |
| exit 0 |