X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=funcsummary.php;h=a7e0f3c3fc5200f5b9ea4477443d9307bfb86c8a;hb=13dc652c45a4a0b4dc219e46065bb3310229cedc;hp=4a7c1ddc6dc96a9bd926daad0fc3b4ac7cf3f134;hpb=b63e146a77c6512cae1574c0bb520b3a7bbec1e7;p=m6w6%2Fext-http diff --git a/funcsummary.php b/funcsummary.php index 4a7c1dd..a7e0f3c 100644 --- a/funcsummary.php +++ b/funcsummary.php @@ -73,6 +73,29 @@ $preface = <<<_PREFACE p br, pre code br { display: block; } + .toc { + position: absolute; + top: 10px; + right: 10px; + width: 300px; + height: 95%%; + overflow: scroll; + font-size: .9em; + } + body>div.toc { + position: fixed; + } + .toc ul { + padding-left: 15px; + margin-left: 0; + } + .toc li { + padding: 0; + margin: 0; + } + .tocfile { + font-weight: bold; + } @@ -89,28 +112,57 @@ if ($_SERVER['argc'] < 2) { die("Usage: {$_SERVER['argv'][0]} [ ...]\n"); } +$TOC = array(); + printf($preface, basename(getcwd())); +$seen = array(); foreach (array_slice($_SERVER['argv'], 1) as $fp) { foreach (glob($fp) as $f) { - + if (isset($seen[$f])) { + continue; + } else { + $seen[$f] = true; + } if (mf($f, $m)) { + $c = null; e("\nAnalyzing %s\n", basename($f)); - printf("

%s

\n", basename($f)); + printf("

%s

\n", basename($f), basename($f)); foreach ($m[1] as $i => $p) { e("Documenting $p\n"); if ($o = preg_match('/^(.*), (.*)$/', $m[4][$i], $n)) { - if ($n[2] == '__construct') { + if ($n[1] != $c) { + $c = $n[1]; printf("

%s

\n", $n[1], $n[1]); } + $TOC[basename($f)][$n[1]][$n[2]] = $n[1].'::'.$n[2].'()'; + printf("%s\n", 3, $n[1].'_'.$n[2], $p, 3); + } else { + $TOC[basename($f)][$m[4][$i]] = $m[4][$i].'()'; + printf("%s\n", 2, $m[4][$i], $p, 2); } - printf("%s\n%s\n", - $o?3:2, $o?$n[1].'_'.$n[2]:$m[4][$i], $p, $o?3:2, ff($m[3][$i])); + print ff($m[3][$i]) ."\n"; } print "
\n"; } } } +printf("
Table of Contents\n
    \n"); +foreach ($TOC as $file => $f) { + printf("
  • %s\n
      \n", $file, $file); + foreach ($f as $cof => $met) { + if (is_array($met)) { + foreach ($met as $id => $m) { + printf("
    • %s
    • \n", $cof, $id, $m); + } + } else { + printf("
    • %s\n", $cof, $cof); + } + printf("
    • \n"); + } + printf("
    \n
  • \n"); +} +printf("
\n
\n"); printf($footer, date('r')); e("\nDone\n");