contrib/format.sh: Add script for formatting files using a remote clang-format.
authorFlorian Forster <octo@collectd.org>
Mon, 23 Oct 2017 15:03:10 +0000 (17:03 +0200)
committerFlorian Forster <octo@collectd.org>
Mon, 23 Oct 2017 15:03:10 +0000 (17:03 +0200)
contrib/format.sh [new file with mode: 0755]

diff --git a/contrib/format.sh b/contrib/format.sh
new file mode 100755 (executable)
index 0000000..d4444cc
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# This script sends files to a web service using POST requests and reads back
+# the correctly formatted source files. This allows to apply clang-format
+# without having to install the tool locally.
+
+if test $# -lt 1; then
+  echo "Usage $0 <file> [<file> ...]"
+  exit 1
+fi
+
+for i in "$@"; do
+  d="$(dirname "${i}")"
+  o="$(tempfile -d "${d}" -m 0644)"
+
+  curl --silent --data-binary "@-" https://clang-format.appspot.com/ <"${i}" >"${o}"
+  if test $? -eq 0; then
+    cat "${o}" >"${i}"
+  fi
+  rm -f "${o}"
+done