#!/usr/bin/env perl use strict; use warnings; # Note that this script only supports /* C-style */ comments. while (my $f = glob("c/*.*")) { open my $fh, "<", $f; my $line; while (<$fh>) { $line++; next if not m{TODO:}; # Skip fast. next if not m{^\s*/?\*.*\s(TODO:.*)\s*(\*/)?}; print "$f:$line: $1\n"; next if $2; # Continue text if comment is not finished. my $pad = " " x length("$f:$line: "); while (<$fh>) { (my $text = $_) =~ s{^\s*\*?\s*|\s*\*/}{}g; print "$pad$text"; last if m{\*/}; } } }