diff options
-rw-r--r-- | .clang-format | 56 | ||||
-rw-r--r-- | docs/sections/coding_guidelines.md | 18 |
2 files changed, 74 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..b22d4c2 --- /dev/null +++ b/.clang-format @@ -0,0 +1,56 @@ +# +# Copyright (c) 2022 Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the License); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +--- +Language: Cpp +BasedOnStyle: LLVM +IndentWidth: 4 +ColumnLimit: 100 +AccessModifierOffset: -4 +PointerAlignment: Left +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveMacros: true +AlignEscapedNewlines: Left +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortFunctionsOnASingleLine: Empty +AllowShortBlocksOnASingleLine: true +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: false +BreakInheritanceList: AfterColon +BreakConstructorInitializers: AfterColon +BreakBeforeBraces: Custom +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: true +--- + diff --git a/docs/sections/coding_guidelines.md b/docs/sections/coding_guidelines.md index ae479f7..57c45e0 100644 --- a/docs/sections/coding_guidelines.md +++ b/docs/sections/coding_guidelines.md @@ -25,6 +25,24 @@ Layer (HAL). Both of these languages follow different naming conventions within However, because we also issue function calls to third-party APIs, and they are not guaranteed to follow these conventions, the intended outcome could be different for every case. +## Pre-commit formatting +To help with the adherence of the coding guidelines, we have provided a clang-format file. When commiting, please run +the following command, post-staging but pre-commit. + + + ```Git + git-clang-format + ``` + +This will modify the staged changes, to adhere to the guidelines as described in the +.clang-format file in the root of the repo. Please note that the clang-format tool must be installed to run this +step and can be installed using the following command on Ubuntu: + + ``` + sudo apt install clang-format + ``` + + ## Language version For this project, code written in C++ uses a subset of the `C++14` feature set and software may be written using the |