# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: CC0-1.0
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

exclude: (^po/|.desktop|Messages.sh)
repos:
 - repo: https://github.com/pre-commit/pre-commit-hooks
   rev: v6.0.0
   hooks:
    - id: check-added-large-files
    - id: check-case-conflict
    - id: check-xml
    - id: check-yaml
      args: [--allow-multiple-documents]
      exclude: ^(.clang-tidy)
    - id: check-json
    - id: check-symlinks
    - id: destroyed-symlinks
    - id: check-executables-have-shebangs
    - id: check-toml
 - repo: https://github.com/pre-commit/mirrors-clang-format
   rev: v22.1.5
   hooks:
    - id: clang-format
    # force using this project's configuration rather
    # than the one provided by CI
      args: ["--style=file:.clang-format-pre-commit"]
 - repo: https://github.com/astral-sh/ruff-pre-commit
  # Ruff version.
   rev: v0.15.12
   hooks:
    # Run the linter.
    - id: ruff
    # Run the formatter.
    - id: ruff-format
 - repo: https://github.com/codespell-project/codespell
   rev: v2.4.2
   hooks:
    - id: codespell
      exclude: (autotests/data/)
 - repo: https://github.com/BlankSpruce/gersemi
   rev: 0.26.1
   hooks:
    - id: gersemi
 - repo: https://github.com/DavidAnson/markdownlint-cli2
   rev: v0.22.1
   hooks:
    - id: markdownlint-cli2
      files: \.(md|mdown|markdown)$
 - repo: https://github.com/scop/pre-commit-shfmt
   rev: v3.13.1-1
   hooks:
    - id: shfmt
 - repo: https://github.com/shellcheck-py/shellcheck-py
   rev: v0.11.0.1
   hooks:
    - id: shellcheck
 - repo: https://github.com/efrecon/pre-commit-hook-lxml
   rev: v0.1.4
   hooks:
    - id: format-xml
      args: [--declaration=double-quotes,--self-closing=nospace,--indent=2,--write]
      files: \.(xml|kcfg)$
      types: []
      exclude: \.(svg)$
