#!/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