summaryrefslogtreecommitdiffstats
path: root/src/script/fix_modeline.pl
blob: 8eadde9b54e5671e177b894e6d621e7e49ba462b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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";
}