Commit ece6b6feb4ea82d82985c4820f1e88724d1b1aa8

Authored by Jay Berkenbilt
1 parent 554a870b

Add format-code script

Showing 1 changed file with 35 additions and 0 deletions
format-code 0 → 100755
  1 +#!/bin/sh
  2 +
  3 +# Formatting rules are in .clang-format.
  4 +
  5 +# To protect a block of code from automatic formatting, enclose in
  6 +# comments such as
  7 +#
  8 +# // clang-format off
  9 +# ...
  10 +# // clang-format on
  11 +
  12 +# Sometimes, a comment of the form `// line-break` may appear in the
  13 +# code to prevent clang-format from removing an intentional line
  14 +# break.
  15 +
  16 +# For emacs users, the file `.dir-locals.el` configures cc-mode for an
  17 +# indentation style that is close to but not exactly like what
  18 +# clang-format produces. clang-format is authoritative.
  19 +
  20 +# Please see "Code Formatting" in the manual for additional notes.
  21 +
  22 +cd $(dirname $0)
  23 +for i in $(find . -name 'build*' -prune -o '(' \
  24 + -name '*.hh' -o -name '*.h' -o -name '*.cc' -o -name '*.c' \
  25 + ')' -print); do
  26 + if clang-format < $i >| $i.new; then
  27 + if diff -q $i $i.new >/dev/null 2>/dev/null; then
  28 + echo "okay: $i"
  29 + rm $i.new
  30 + else
  31 + echo "updated: $i"
  32 + mv $i.new $i
  33 + fi
  34 + fi
  35 +done
... ...