lemonldap-ng/scripts/javascript-indent

31 lines
602 B
Perl
Executable File

#!/usr/bin/perl -w
use JavaScript::Beautifier qw/js_beautify/;
unless ( $ARGV[0] and -e $ARGV[0] ) {
die "Usage $0 <file.js>";
}
open F, $ARGV[0] or die($!);
my $src;
while (<F>) { $src .= $_; }
close F;
my @clean = split /\n/, js_beautify( $src, {
indent_size => 1, indent_character => "\t", preserve_newlines => 1 }
);
# Clean long lines for tabs
foreach(@clean){
if(/\[\s*.{70}/ and /\[\s*(?:['"].*['"],\s*)*\]/) {
/^(\s*)/;
my $tab = $1;
s/(['"])([^"']*)\1(,?)\s*/ $1$2$1$3\n$tab /g;
}
$_.="\n";
}
open F, ">",$ARGV[0] or die($!);
print F @clean;