X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=build%2Fdoc-defs;h=8e398250eadd2f37b6b4bdfcc48cfa5fd8bcc9ef;hb=0db6e10eac28f38bfc3b325b13ad95107c58ce1e;hp=38988187dc749977ef902753d3ec6353b848d161;hpb=b63dd2d3f2765ae5a882f3de4722fac981cbad3f;p=libucw.git diff --git a/build/doc-defs b/build/doc-defs index 38988187..8e398250 100755 --- a/build/doc-defs +++ b/build/doc-defs @@ -23,8 +23,31 @@ while( defined( my $line = <> ) ) { push @dump, [ split /,/, $line, 5 ]; } -foreach( sort { $a->[3] cmp $b->[3]; } @dump ) { - my( $file, $num, $type, $name, $text ) = @{$_}; +my @types = ( + [ 'enum', 'Enumerations' ], + [ 'struct', 'Structures' ], + [ 'type', 'Types' ], + [ 'fun', 'Functions' ], + [ 'var', 'Variables' ], + [ 'def', 'Preprocessor definitions' ] +); + +my( $index, %groups, %heads ) = ( 0 ); + +foreach( @types ) { + my( $name, $value ) = @{$_}; + $groups{$name} = ++ $index; + $heads{$name} = $value; +} + +my $lasttype = ''; + +foreach( sort { ( $groups{$a->[2]} <=> $groups{$b->[2]} ) or ( $a->[3] cmp $b->[3] ); } @dump ) { + my( $file, $anchor, $type, $name, $text ) = @{$_}; + if( $lasttype ne $type ) { + $lasttype = $type; + print OUT "\n== $heads{$type} [[$type]]\n\n"; + } my $dircp = $dir; while( shift @{[ $dircp =~ /([^\/]+)/, "//" ]} eq shift @{[ $file =~ /([^\/]+)/, "///" ]} ) { $dircp =~ s/[^\/]+\/?//; @@ -34,8 +57,8 @@ foreach( sort { $a->[3] cmp $b->[3]; } @dump ) { $file = $dircp."/".$file; $file =~ s/^\///; $file =~ s/\.[^.]+$//; - $text =~ s/\(/!!PARENT_OPEN!!/g; - print OUT "- <<$file:auto_$num,`$text`>>\n"; + $text =~ s/(\.\.\.|\*|'|#|_)/\\$1/g; + print OUT "<<$file:$anchor,`$name`>>:: `$text`\n"; } close OUT;