initial code repo
[stor4nfv.git] / src / ceph / src / script / fix_modeline.pl
diff --git a/src/ceph/src/script/fix_modeline.pl b/src/ceph/src/script/fix_modeline.pl
new file mode 100755 (executable)
index 0000000..8eadde9
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use strict;
+my $fn = shift @ARGV;
+my $old = `cat $fn`;
+my $header = `cat doc/modeline.txt`;
+
+# strip existing modeline
+my $new = $old;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+$new =~ s/^\/\/ \-\*\- ([^\n]+) \-\*\-([^\n]*)\n//s; # emacs
+$new =~ s/^\/\/ vim: ([^\n]*)\n//s; # vim;
+
+# add correct header
+$new = $header . $new;
+
+if ($new ne $old) {
+       print "$fn\n";
+       open(O, ">$fn.new");
+       print O $new;
+       close O;
+       system "diff $fn $fn.new";
+       rename "$fn.new", $fn;
+       #unlink "$fn.new";
+}
+