aboutsummaryrefslogtreecommitdiff
path: root/showtodo
diff options
context:
space:
mode:
Diffstat (limited to 'showtodo')
-rw-r--r--showtodo27
1 files changed, 27 insertions, 0 deletions
diff --git a/showtodo b/showtodo
new file mode 100644
index 0000000..475e492
--- /dev/null
+++ b/showtodo
@@ -0,0 +1,27 @@
+#!/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{\*/};
+ }
+ }
+}