From 7323c17eaf34e7883664a8245a14f4653bfac57c Mon Sep 17 00:00:00 2001 From: Kenix3 Date: Fri, 24 Jul 2020 19:57:54 -0400 Subject: [PATCH] Adds clang-format script to MM Same as OOT for consistency. --- .clang-format | 23 +++++++++++++++++++++++ .clang-tidy | 5 +++++ fixle.sh | 11 +++++++++++ format.sh | 28 ++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 .clang-format create mode 100644 .clang-tidy create mode 100644 fixle.sh create mode 100644 format.sh diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000..c7b900f060 --- /dev/null +++ b/.clang-format @@ -0,0 +1,23 @@ +IndentWidth: 4 +Language: Cpp +UseTab: Never +ColumnLimit: 120 +PointerAlignment: Left +BreakBeforeBraces: Attach +SpaceAfterCStyleCast: false +Cpp11BracedListStyle: false +IndentCaseLabels: true +BinPackArguments: true +BinPackParameters: true +AlignAfterOpenBracket: Align +AlignOperands: true +BreakBeforeTernaryOperators: true +BreakBeforeBinaryOperators: None +AllowShortBlocksOnASingleLine: true +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AlignEscapedNewlines: Left +AlignTrailingComments: true +SortIncludes: false diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000000..4022a3f68a --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,5 @@ +Checks: '-*,readability-braces-around-statements' +WarningsAsErrors: '' +HeaderFilterRegex: '(src|include)\/.*\.h$' +FormatStyle: 'file' +CheckOptions: diff --git a/fixle.sh b/fixle.sh new file mode 100644 index 0000000000..a1941b69ac --- /dev/null +++ b/fixle.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +var="$1" +if [ ! -n "$var" ] +then + var=dos2unix +fi + +find src -type f -print0 | xargs -0 $var +find include -type f -print0 | xargs -0 $var +$var checksum.md5 diff --git a/format.sh b/format.sh new file mode 100644 index 0000000000..9967cc6f5d --- /dev/null +++ b/format.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +FORMAT_OPTS="-i -style=file" +TIDY_OPTS="-p . --fix --fix-errors" +COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C -DNON_MATCHING" + +shopt -s globstar + +if (( $# > 0 )); then + echo "Formatting file(s) $*" + echo "Running clang-format..." + clang-format ${FORMAT_OPTS} "$@" + echo "Running clang-tidy..." + clang-tidy ${TIDY_OPTS} "$@" -- ${COMPILER_OPTS} &> /dev/null + echo "Adding missing final new lines..." + sed -i -e '$a\' "$@" + echo "Done formatting file(s) $*" + exit +fi + +echo "Formatting C files. This will take a bit" +echo "Running clang-format..." +clang-format ${FORMAT_OPTS} src/**/*.c +echo "Running clang-tidy..." +clang-tidy ${TIDY_OPTS} src/**/*.c -- ${COMPILER_OPTS} &> /dev/null +echo "Adding missing final new lines..." +find src/ -type f -name "*.c" -exec sed -i -e '$a\' {} \; +echo "Done formatting all files."