# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v3.2.0
  hooks:
  - id: trailing-whitespace
  - id: end-of-file-fixer
  - id: check-merge-conflict

  # Quick syntax checkers
  - id: check-xml
  - id: check-yaml
  - id: check-toml
  - id: check-json
    exclude: "tsconfig\\.json$"

- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
  rev: 2.3.5
  hooks:
  - id: editorconfig-checker
    args: ['-disable-indentation']
    exclude: "^(.*\\.(bat)|LICENSE)$"

- repo: local
  hooks:
  - id: checkstyle
    name: Check Java codestyle
    files: ".*\\.java$"
    language: system
    entry: ./gradlew checkstyleMain checkstyleTest
    pass_filenames: false
    require_serial: true
  - id: license
    name: Check Java license headers
    files: ".*\\.java$"
    language: system
    entry: ./gradlew licenseFormat
    pass_filenames: false
    require_serial: true

exclude: |
  (?x)^(
    src/generated|
    src/test/resources/test-rom/data/json-parsing/|
    src/test/server-files/|
    config/idea/|
    .vscode/
  )
