| #!/usr/bin/perl | |
| use strict; | |
| use warnings; | |
| my $exit_code = 0; | |
| sub report { | |
| my ($line, $msg) = @_; | |
| chomp $line; | |
| print STDERR "$ARGV:$.: '$line' $msg\n"; | |
| $exit_code = 1; | |
| } | |
| my $synopsis_style = 0; | |
| while (my $line = <>) { | |
| if ($line =~ /^[ \t]*`?[-a-z0-9.]+`?(, `?[-a-z0-9.]+`?)+(::|;;)$/) { | |
| report($line, "multiple parameters in a definition list item"); | |
| } | |
| if ($line =~ /^`?--\[no-\][a-z0-9-]+.*(::|;;)$/) { | |
| report($line, "definition list item with a `--[no-]` parameter"); | |
| } | |
| if ($line =~ /^\[synopsis\]$/) { | |
| $synopsis_style = 1; | |
| } | |
| if (($line =~ /^(-[-a-z].*|<[-a-z0-9]+>(\.{3})?)(::|;;)$/) && ($synopsis_style)) { | |
| report($line, "synopsis style and definition list item not backquoted"); | |
| } | |
| } | |
| exit $exit_code; |