Skip to content

Commit

Permalink
Add clang-format
Browse files Browse the repository at this point in the history
  • Loading branch information
maicki committed Mar 6, 2019
1 parent 07becd0 commit 8a5de81
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
BasedOnStyle: Google

# Objc allows 100 instead of the traditional 80.
ColumnLimit: 100

# If false, a function call’s or function definition’s parameters will either
# all be on the same line or will have one line each.
BinPackParameters: false

# Allow putting all parameters of a function declaration onto the next line even
# if BinPackParameters is false.
# For example this should be ok:
# someFunction(foo,
# bar,
# baz);
AllowAllParametersOfDeclarationOnNextLine: true
42 changes: 42 additions & 0 deletions format
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash
#
# Script uses clang-format to format all of the source files in a
# default format.
#

# The absolute path of the directory containing this script.
DIR="$( cd "$( dirname "$0" )" && pwd)"
# Define top level project directory
PROJECT_DIR="${DIR}"

METHOD="GIT"
if [ -n "$1" ]; then
METHOD=$1
fi

# Paths to format
MONITOR=()
MONITOR+=( "${PROJECT_DIR}/Source" )

if [ "$METHOD" == "ALL" ]; then
# Format all Source files
for FILE in $(find ${MONITOR[*]} -type f \( -iname "*.mm" -o -iname "*.m" -o -iname "*.h" \))
do
clang-format -style=file -i "$FILE" &
done
elif [ "$METHOD" == "GIT" ]; then
# Gather all added or modified files from git and format them
CHANGED_FILES=$(git ls-files --other --modified --exclude-standard | grep ".*[\.m|\.mm|\.h|\.hpp]$")
for CHANGED_FILE in $CHANGED_FILES
do
clang-format -style=file -i "${PROJECT_DIR}/$CHANGED_FILE" &
done
else
echo "Usage: $0 [GIT|ALL]";
echo "GIT: Only format added or modified files"
echo "ALL: Format all files"
fi


# Wait until all clang-format invoctations are done
wait

0 comments on commit 8a5de81

Please sign in to comment.