blob: eecde11e5a512249240744336157715876d859d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/usr/bin/perl -p
# isort -- sort C variable declarations separated by commas
# Extract words, save prefix.
s/([^,]*?)(\S+[,;])/$2/;
$prefix = $1;
# Ensure all words end with comma.
$semicolon = s/;$/,/;
# Sort words.
@words = sort {
($x = $a) =~ s/^\*+//;
($y = $b) =~ s/^\*+//;
$x cmp $y
} split /\s+/;
# Join words, add prefix and semicolon.
$_ = $prefix . (join ' ', @words) . "\n";
s/,$/;/ if $semicolon;
|