]> git.nbdom.net Git - nb.git/commitdiff
puppet-align
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Mon, 23 Feb 2015 23:21:35 +0000 (00:21 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Mon, 23 Feb 2015 23:21:35 +0000 (00:21 +0100)
bin/puppet-align [new file with mode: 0755]

diff --git a/bin/puppet-align b/bin/puppet-align
new file mode 100755 (executable)
index 0000000..fd648a7
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/env perl
+$q = chr(39);
+
+while (<>) {
+  # No quoted vars
+  s/"(\$)\{([\w_:]+)\}"/$1$2/;
+  s/"(\$[\w_:]+)"/$1/;
+
+  # No double quote
+  s/"([_\w]+)?"/$q$1$q/;
+
+  # No quoted boolean
+  s/[$q"](true|false)[$q"]/$1/;
+
+  $len = $new if /(\S+)\s*=>/ and ($new = length($1))>$len;
+  push @l,$_;
+
+}
+
+END { for (@l) {
+
+  if (@_ = /^(\s*)(.*?)\s*=>\s*(.*)\s*$/) {
+    printf "%s%-${len}s => %s\n", @_;
+  } else  {
+    print $_;
+  }
+
+}}