]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
markdown-uppercase: ignore quoted sections
authorDaniel Stenberg <daniel@haxx.se>
Fri, 14 Oct 2022 06:55:37 +0000 (08:55 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 14 Oct 2022 08:47:14 +0000 (10:47 +0200)
Sections within the markdown ~~~ or ``` are now ignored.

Closes #9733

tests/markdown-uppercase.pl

index 3aa8ac07bc96a9028560994179356eca95925a02..fe298d4730251994e3a7e1d9db504803ce877d1b 100644 (file)
@@ -41,37 +41,46 @@ sub checkfile {
     open(F, "<$f");
     my $l = 1;
     my $prevl;
+    my $ignore = 0;
     while(<F>) {
         my $line = $_;
         chomp $line;
-        if(($prevl =~ /\.\z/) && ($line =~ /^( *)([a-z]+)/)) {
-            my ($prefix, $word) = ($1, $2);
-            if(!$accepted{$word}) {
-                my $c = length($prefix);
-                print STDERR "$f:$l:$c:error: lowercase $word after period\n";
-                print STDERR "$line\n";
-                print STDERR ' ' x $c;
-                print STDERR "^\n";
-                $errors++;
-            }
+        if($line =~ /^(\`\`\`|\~\~\~)/) {
+            # start or stop ignore-mode
+            $ignore ^= 1;
         }
-        if($line =~ /^(.*)\. +([a-z]+)/) {
-            my ($prefix, $word) = ($1, $2);
-
-            if(($prefix =~ /\.\.\z/) ||
-               ($prefix =~ /[0-9]\z/) ||
-               ($prefix =~ /e.g\z/) ||
-               ($prefix =~ /i.e\z/) ||
-               ($prefix =~ /etc\z/) ||
-               $accepted{$word}) {
+        if(!$ignore) {
+            if(($prevl =~ /\.\z/) && ($line =~ /^( *)([a-z]+)/)) {
+                my ($prefix, $word) = ($1, $2);
+                if(!$accepted{$word}) {
+                    my $c = length($prefix);
+                    print STDERR
+                        "$f:$l:$c:error: lowercase $word after period\n";
+                    print STDERR "$line\n";
+                    print STDERR ' ' x $c;
+                    print STDERR "^\n";
+                    $errors++;
+                }
             }
-            else {
-                my $c = length($prefix) + 2;
-                print STDERR "$f:$l:$c:error: lowercase $word after period\n";
-                print STDERR "$line\n";
-                print STDERR ' ' x $c;
-                print STDERR "^\n";
-                $errors++;
+            elsif($line =~ /^(.*)\. +([a-z]+)/) {
+                my ($prefix, $word) = ($1, $2);
+
+                if(($prefix =~ /\.\.\z/) ||
+                   ($prefix =~ /[0-9]\z/) ||
+                   ($prefix =~ /e.g\z/) ||
+                   ($prefix =~ /i.e\z/) ||
+                   ($prefix =~ /etc\z/) ||
+                   $accepted{$word}) {
+                }
+                else {
+                    my $c = length($prefix) + 2;
+                    print STDERR
+                        "$f:$l:$c:error: lowercase $word after period\n";
+                    print STDERR "$line\n";
+                    print STDERR ' ' x $c;
+                    print STDERR "^\n";
+                    $errors++;
+                }
             }
         }
         $prevl = $line;