| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- # Read the docs here: https://pre-commit.com
- # List of some available hooks: https://pre-commit.com/hooks.html
- #
- # Install `pre-commit`:
- #
- # $ pip install pre-commit
- #
- # Install hooks to your clone:
- # $ pre-commit install
- #
- default_stages: [pre-commit]
- default_install_hook_types: [commit-msg, pre-commit]
- fail_fast: false
- # NOTE Exclude third-party sources and some files globally.
- # See `Utilities/Scripts/update-*.bash` scripts and
- # https://pre-commit.com/#regular-expressions
- exclude: >-
- (?x)Auxiliary/vim
- | Licenses/.*\.txt$
- | Source/(CursesDialog/form|kwsys)
- | Utilities/(cm.*|GitSetup|KWIML)
- | .*\.patch$
- repos:
- - repo: meta
- hooks:
- - id: check-hooks-apply
- - id: check-useless-excludes
- - repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v6.0.0
- hooks:
- - id: check-case-conflict
- - id: check-json
- # NOTE Some tests have intentionally broken JSONs.
- exclude: >-
- (?x)Tests/(
- CMakeLib/testCTestResourceSpec_data/spec13
- | RunCMake/CTestResourceAllocation/invalid
- )\.json
- - id: check-toml
- - id: check-yaml
- - id: end-of-file-fixer
- # NOTE Exclude tests directory: some test files have no
- # the trailing EOL in the file intentionally but some
- # just missed it.
- # TODO Add the missed trailing EOL in the following files
- # if possible.
- exclude: >-
- (?x)Tests/(
- DelphiCoverage/src/UTCovTest\.pas
- | FortranModules/in_interface/module\.f90
- | JavascriptCoverage/output\.json\.in
- | Module/ExternalData/Alt/(
- MyAlgoMap1-md5/dded55e43cd6529ee35d24113dfc87a3
- | SHA1/85158f0c1996837976e858c42a9a7634bfe91b93
- )
- | RunCMake/(
- CMP0055/CMP0055-(NEW|OLD)-Reject-Arguments\.cmake
- | CommandLine/E_cat_good_binary_cat-stdout\.txt
- | define_property/define_property-INITIALIZE_FROM_VARIABLE-invalid_[12]-result\.txt
- | FindMatlab/MatlabTest2-stderr\.txt
- | string/UTF-(16|32)LE\.txt
- | Syntax/BOM-UTF-(16|32)-LE.cmake
- | Syntax/CommandEOF\.cmake
- | VS10Project/shader2?\.hlsl
- )
- | SourceGroups/README\.txt
- | StringFileTest/test\.utf8
- | VSWindowsFormsResx/WindowsFormsResx/MyForm\.resx
- | VSXaml/Package\.appxmanifest
- )
- - id: mixed-line-ending
- - id: trailing-whitespace
- - repo: https://github.com/jumanjihouse/pre-commit-hooks
- rev: 3.0.0
- hooks:
- - id: git-check
- pass_filenames: false
- - repo: https://github.com/sphinx-contrib/sphinx-lint
- rev: v1.0.0
- hooks:
- - id: sphinx-lint
- # NOTE Looks like `bad-dedent` gives too many false-positives.
- args: ['--disable', 'bad-dedent']
- - repo: https://github.com/pre-commit/pygrep-hooks
- rev: v1.10.0
- hooks:
- - id: rst-backticks
- # NOTE The `productionlist` directive can give false-positives
- exclude: >-
- (?x)Help/(
- dev/maint\.rst
- | manual/cmake-(developer|language)\.7\.rst
- | variable/CMAKE_MESSAGE_CONTEXT\.rst
- )
- | Tests/CMakeLib/testRST\.rst
- - id: rst-directive-colons
- - id: rst-inline-touching-normal
- - repo: https://github.com/codespell-project/codespell
- rev: v2.4.1
- hooks:
- - id: codespell
- stages: [commit-msg, pre-commit]
- # NOTE See BUG https://github.com/crate-ci/typos/issues/390
- - repo: https://github.com/adhtruong/mirrors-typos
- rev: v1.36.1
- hooks:
- - id: typos
- # NOTE Override hook's default args to prevent automatic
- # fixing of found typos. Let the dev decide what to fix!
- args: ['--force-exclude']
- stages: [commit-msg, pre-commit]
- - repo: https://github.com/pre-commit/mirrors-clang-format
- # ATTENTION CMake's `clang-format` is version 18.
- # DO NOT UPDATE THIS VERSION unless officially supported
- # `clang-format` get bumped.
- rev: v18.1.8
- hooks:
- - id: clang-format
- types_or: [c, c++, cuda]
- exclude_types: [objective-c++]
- # The following exclude list based on the output of:
- # $ git ls-files | git check-attr --stdin format.clang-format | grep ...
- # and
- # $ find -name .gitattributes -exec grep -Hn clang-format {} +
- exclude: >-
- (?x)(
- Source/LexerParser
- | Tests/(
- CSharpLinkFromCxx/UsefulManagedCppClass.*
- | CompileFeatures/cxx_right_angle_brackets\.cpp
- | PositionIndependentTargets/pic_test\.h
- | RunCMake/(
- CommandLine/cmake_depends/test_UTF-16LE\.h
- | CXXModules/examples/circular/circular-[ab]\.cppm
- | GenerateExportHeader/reference
- )
- | VSWinStorePhone/Direct3DApp1/Direct3DApp1\.cpp
- )
- )
|