summaryrefslogtreecommitdiff
path: root/Documentation/lint-documentation-style.perl
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/lint-documentation-style.perl')
-rwxr-xr-xDocumentation/lint-documentation-style.perl33
1 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/lint-documentation-style.perl b/Documentation/lint-documentation-style.perl
new file mode 100755
index 0000000000..d7ab732293
--- /dev/null
+++ b/Documentation/lint-documentation-style.perl
@@ -0,0 +1,33 @@
+#!/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;