From f4840fd2243ec8d6fc6cd985bcc4c891bd728c1b Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 15 Jul 2025 14:19:20 -0700 Subject: [PATCH] Meta/indent-cpp-directive: C preprocessor directive indentation rules --- indent-cpp-directive.perl | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 indent-cpp-directive.perl 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($_); + } +} -- 2.47.3