minor fixes for clang++
[senf.git] / tools / doxygrep
1 #!/usr/bin/perl -0777n
2
3 BEGIN { 
4     $re = shift;
5     if (! $re) {
6         print STDERR 
7             "Usage: doxygrep <re> [<file>...]\n".
8             "\n".
9             "Greps for <re> only within doxygen comments in [files] or stdin\n";
10         exit(1);
11     }
12 }
13
14 while(m{/\*\*<?(.*?)\*/|///<?(.*?)$}smg) {
15     $t=$1||$2;
16     $pre=$`;
17     $post=$'; #';
18     while ($t=~/$re/mg) {
19         $ppre=$pre.$`;
20         $ppost=$'.$post; #';
21         ($tt = $&.$ppost)=~s/\n.*$//s;
22         $n = ($ppre =~ tr{\n}{\n})+1;
23         $ppre =~ s/^.*\n//s;
24         $m = length($ppre);
25         print "$ARGV:$n:$m:$ppre$tt\n";
26     }
27 }