From: Junio C Hamano Date: Tue, 15 Jul 2025 21:19:20 +0000 (-0700) Subject: Meta/indent-cpp-directive: C preprocessor directive indentation rules X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4840fd2243ec8d6fc6cd985bcc4c891bd728c1b;p=thirdparty%2Fgit.git Meta/indent-cpp-directive: C preprocessor directive indentation rules --- diff --git a/indent-cpp-directive.perl b/indent-cpp-directive.perl new file mode 100755 index 0000000000..d87180f340 --- /dev/null +++ b/indent-cpp-directive.perl @@ -0,0 +1,32 @@ +#!/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($_); + } +}