]> mj.ucw.cz Git - libucw.git/blobdiff - build/doc-defs
ucw docs: more hash functions
[libucw.git] / build / doc-defs
index a39cda40f626983c2150e26e5fc61bdb871d9791..712968c319b4068c857bc4abd35ee95a2ade4b19 100755 (executable)
@@ -16,9 +16,23 @@ 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 %groups = (
+       'enum' => 1,
+       'struct' => 1,
+       'function' => 2,
+       'variable' => 3,
+       'define' => 4
+);
+
+foreach( sort { ( $groups{$a->[2]} <=> $groups{$b->[2]} ) or ( $a->[3] cmp $b->[3] ); } @dump ) {
+       my( $file, $num, $type, $name, $text ) = @{$_};
        my $dircp = $dir;
        while( shift @{[ $dircp =~ /([^\/]+)/, "//" ]} eq shift @{[ $file =~ /([^\/]+)/, "///" ]} ) {
                $dircp =~ s/[^\/]+\/?//;