f806c5829b
* pre-commit: Update and enable clang-format check There is newer version from clang-format so use that. We do not yet want 18 as that is little bit too new. * Format some thing by hand which clang-format "breaks" Clang-format will format some things little bit off in some cases. Format some things by hand so we get cleaner end result. * Run clang-format with ``` pre-commit run --all-files clang-format ``` We have already in previously checked places where clang-format does not make good format and ignored those (hopefully most of the things). --------- Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
# Pre-commit is tool which we use to format and check this repository. This is
|
|
# also used in CI. You will still get nicer commits if you install it also
|
|
# locally.
|
|
#
|
|
# To install pre-commit run in repository root:
|
|
# pip install pre-commit
|
|
# pre-commit install
|
|
#
|
|
# To ignore pre-commit checks run:
|
|
# git commit --no-verify
|
|
# or
|
|
# pre-commit uninstall
|
|
|
|
# Just in case exclude build and .git folders. Others are for external files.
|
|
exclude: build|\.git|external/|BACnet\-Server\.X/|tools/(avstack|check\-stack\-usage|memap)|test/ztest/
|
|
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: 2c9f875913ee60ca25ce70243dc24d5b6415598c # v4.6.0
|
|
hooks:
|
|
- id: check-merge-conflict
|
|
args: [--assume-in-merge]
|
|
# Editorconfig-checker does not care if file contains multiple newlines.
|
|
- id: end-of-file-fixer
|
|
exclude: '.*\.(cproj|vcxproj.*|props)$'
|
|
- id: check-yaml
|
|
args: [
|
|
# for .clang-format
|
|
--allow-multiple-documents,
|
|
]
|
|
- id: check-case-conflict
|
|
- id: check-shebang-scripts-are-executable
|
|
- id: fix-byte-order-marker
|
|
# Seems that VS files are using BOMs.
|
|
exclude: '.*\.(cproj|vcxproj.*|sln|atsln|props)$'
|
|
- id: trailing-whitespace
|
|
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
|
rev: a30f0d816e5062a67d87c8de753cfe499672b959 # v1.5.5
|
|
hooks:
|
|
- id: remove-tabs
|
|
name: Remove tabs (4 spaces)
|
|
args: ["--whitespaces-count", "4"]
|
|
exclude: \.(yaml|yml|html|htm|sln|atsln|layout)$|Makefile|\.(mgw|mak|MAK)$|Dockerfile$
|
|
- id: remove-tabs
|
|
name: Remove tabs (2 spaces)
|
|
args: ["--whitespaces-count", "2"]
|
|
files: '.*\.(yaml|yml|html|htm)|Dockerfile$'
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: 05241dc3def184dba136e62d54ff57f1c8a497a9 # v17.0.6
|
|
hooks:
|
|
- id: clang-format
|
|
|
|
# We might enable this in future.
|
|
# - repo: https://github.com/pre-commit/mirrors-prettier
|
|
# rev: ffb6a759a979008c0e6dff86e39f4745a2d9eac4 # v3.1.0
|
|
# hooks:
|
|
# - id: prettier
|
|
|
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
rev: 3a6eb0fadf60b3cccfd80bad9dbb6fae7e47b316 # v1.10.0
|
|
hooks:
|
|
- id: text-unicode-replacement-char
|
|
|
|
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
|
|
rev: 1c48f639855b49be07ace8b824757152b6747baa #2.6.2
|
|
hooks:
|
|
- id: editorconfig-checker
|
|
alias: ec
|
|
args: [
|
|
# Saddly we have to disable this, but it just won't work. Maybe some day.
|
|
-disable-indent-size,
|
|
]
|