git/indent-cpp-directive.perl

33 lines
426 B
Perl
Executable File

#!/usr/bin/perl
use strict;
use warnings;
my $indent_level = -1;
sub emit {
my $indent = $indent_level <= 0 ? "" : " " x $indent_level;
printf "#%s%s", $indent, $_;
}
while (<>) {
unless (s/^\s*#\s*//) {
print;
next;
}
if (/^if/) {
emit($_);
$indent_level++;
} elsif (/^el/) {
$indent_level--;
emit($_);
$indent_level++;
} elsif (/^endif/) {
$indent_level--;
emit($_);
} else {
emit($_);
}
}