# 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, ]