X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=build%2Fdoc-defs;h=8e398250eadd2f37b6b4bdfcc48cfa5fd8bcc9ef;hb=e5321a543256a22300e16ad2f92b19d4fc30b5f4;hp=a39cda40f626983c2150e26e5fc61bdb871d9791;hpb=776f1a3bb4ee326f60cf4e1944ff80c1a3878d1e;p=libucw.git diff --git a/build/doc-defs b/build/doc-defs index a39cda40..8e398250 100755 --- a/build/doc-defs +++ b/build/doc-defs @@ -16,9 +16,38 @@ close HEAD; my $dir = $out; $dir =~ s/\/[^\/]+$//; +my @dump; + while( defined( my $line = <> ) ) { chomp $line; - my( $file, $num, $text ) = split /,/, $line, 3; + push @dump, [ split /,/, $line, 5 ]; +} + +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/[^\/]+\/?//; @@ -28,8 +57,8 @@ while( defined( my $line = <> ) ) { $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;