(minor) sts app 4 add another common scenario
[gitolite-doc.git] / doclint.pl
blobd18effe5c6f9ab86ed23b959f640a92c8b1b45b5
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4 use 5.10.0;
5 use Data::Dumper;
6 $Data::Dumper::Terse = 1;
7 $Data::Dumper::Indent = 1;
8 $Data::Dumper::Sortkeys = 1;
10 @ARGV = qw(sidebar-toc);
11 my %bad;
12 my %done;
13 while (<>) {
14 next unless /\[(.*?)\]\[(.*?)\]/;
15 $done{ $2 || $1 } ++;
18 my @mkds = sort map { chomp; s(.*/)(); s(\.mkd$)(); $_ } `find . -name "*.mkd"`;
19 for (@mkds) {
20 my $d = $done{$_} || '';
21 delete $done{$_};
22 next if $d and $d == 1;
23 # MKDs which are defined 0 times or >1 times, both being considered "not good"
24 $bad{$_} = $d || '';
27 say STDERR "MKDs not used or used multiple times:";
28 say STDERR Dumper \%bad;
29 say STDERR "non MKDs used multiple times:";
30 map { say STDERR "\t$_ => $done{$_}" } grep { $done{$_} != 1 } (sort keys %done);