#!/bin/bash
rm -f prototypestcl.txt
ls -1 /usr/share/man/man3/ | grep "\.3tcl\.gz\$\|\.3tk\.gz\$" | grep -v "_" | grep -v "[A-Z]" | while read l ; do
	f=/usr/share/man/man3/$l
	if zcat $f | grep '^\\fB::' >/dev/null ; then 
		continue
	fi
	n=$(echo $l | cut -d '.' -f 1)
	echo $n >&2
	nopts=$(zcat $f | grep -A1 "^\.TP" | grep '^\\fB' | grep "^...$n " | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' '  -f 1 | grep . | uniq | wc -l | tr -cd 0-9)
	if [ "m$nopts" != "m0" ] ; then
		for j in $(zcat $f | grep -A1 "^\.TP" | grep '^\\fB' | grep "^...$n " | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' '  -f 1 | grep . | uniq ) ; do
			echo ...$n $j >&2
			echo "$n $j|$(zcat $f | grep -A1 '^\.TP' | grep '^\\fB' | grep ^...$n\ $j | sed 's/\\f[A-Z]//g')"
		done
		echo ...$n >&2
		echo "$n|$n: $(zcat $f | grep -A1 '^\.TP' | grep '^\\fB' | grep ^...$n\  | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' '  -f 1 | grep . | uniq | tr '\n' ' ' | sed 's/ *$//g')"
	else
		echo "$n|$(zcat $f | sed '0,/SYNOPSIS/d' | sed '/DESCRIPTION/,$d' | grep  '^\\fB'  | sed 's/\\f[A-Z]//g')"
	fi
done | expand | sed "s/  */ /g;s/  *$//g" | grep '|.' | grep -v '|#' | grep -v ')' | sed 's/\\-/-/g;s/\\&//g;s/\\|/|/g' | tr -d '\r' | sed "s/open fileName\$/open fileName ?access ?permissions??/g;s/fconfigure channelId\$/fconfigure channelId name value ?name value ...?/g" > prototypes_tcl.txt