You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 12:00:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			210 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
default_language_version:
 | 
						|
  python: python3
 | 
						|
 | 
						|
exclude: |
 | 
						|
  (?x)^(
 | 
						|
    .*thirdparty/.*|
 | 
						|
    .*-so_wrap\.(h|c)$
 | 
						|
  )
 | 
						|
 | 
						|
repos:
 | 
						|
  - repo: https://github.com/pre-commit/mirrors-clang-format
 | 
						|
    rev: v19.1.0
 | 
						|
    hooks:
 | 
						|
      - id: clang-format
 | 
						|
        files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java)$
 | 
						|
        types_or: [text]
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            tests/python_build/.*|
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/.*
 | 
						|
          )
 | 
						|
      - id: clang-format
 | 
						|
        name: clang-format-glsl
 | 
						|
        files: \.(glsl)$
 | 
						|
        types_or: [text]
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            tests/python_build/.*|
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/.*
 | 
						|
          )
 | 
						|
        args: ["-style=file:misc/utility/.clang-format-glsl"]
 | 
						|
 | 
						|
  - repo: https://github.com/pocc/pre-commit-hooks
 | 
						|
    rev: v1.3.5
 | 
						|
    hooks:
 | 
						|
      - id: clang-tidy
 | 
						|
        files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java|glsl)$
 | 
						|
        args: [--fix, --quiet, --use-color]
 | 
						|
        types_or: [text]
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            tests/python_build/.*|
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/.*
 | 
						|
          )
 | 
						|
        additional_dependencies: [clang-tidy==18.1.1]
 | 
						|
        require_serial: true
 | 
						|
        stages: [manual] # Not automatically triggered, invoked via `pre-commit run --hook-stage manual clang-tidy`
 | 
						|
 | 
						|
  - repo: https://github.com/astral-sh/ruff-pre-commit
 | 
						|
    rev: v0.6.6
 | 
						|
    hooks:
 | 
						|
      - id: ruff
 | 
						|
        args: [--fix]
 | 
						|
      - id: ruff-format
 | 
						|
 | 
						|
  - repo: https://github.com/pre-commit/mirrors-mypy
 | 
						|
    rev: v1.11.2
 | 
						|
    hooks:
 | 
						|
      - id: mypy
 | 
						|
        files: \.py$
 | 
						|
        types_or: [text]
 | 
						|
 | 
						|
  - repo: https://github.com/codespell-project/codespell
 | 
						|
    rev: v2.3.0
 | 
						|
    hooks:
 | 
						|
      - id: codespell
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/.*
 | 
						|
          )
 | 
						|
        additional_dependencies: [tomli]
 | 
						|
 | 
						|
  ### Requires Docker; look into alternative implementation.
 | 
						|
  # - repo: https://github.com/comkieffer/pre-commit-xmllint.git
 | 
						|
  #   rev: 1.0.0
 | 
						|
  #   hooks:
 | 
						|
  #     - id: xmllint
 | 
						|
  #       language: docker
 | 
						|
  #       types_or: [text]
 | 
						|
  #       files: ^(doc/classes|.*/doc_classes)/.*\.xml$
 | 
						|
  #       args: [--schema, doc/class.xsd]
 | 
						|
 | 
						|
  - repo: local
 | 
						|
    hooks:
 | 
						|
      - id: make-rst
 | 
						|
        name: make-rst
 | 
						|
        language: python
 | 
						|
        entry: python doc/tools/make_rst.py
 | 
						|
        args: [doc/classes, modules, platform, --dry-run, --color]
 | 
						|
        pass_filenames: false
 | 
						|
        files: ^(doc/classes|.*/doc_classes)/.*\.xml$
 | 
						|
 | 
						|
      - id: doc-status
 | 
						|
        name: doc-status
 | 
						|
        language: python
 | 
						|
        entry: python doc/tools/doc_status.py
 | 
						|
        args: [doc/classes, modules/*/doc_classes, platform/*/doc_classes]
 | 
						|
        pass_filenames: false
 | 
						|
        files: ^(doc/classes|.*/doc_classes)/.*\.xml$
 | 
						|
 | 
						|
      - id: eslint
 | 
						|
        name: eslint
 | 
						|
        language: node
 | 
						|
        entry: eslint
 | 
						|
        files: ^(platform/web/js/|modules/|misc/dist/html/).*\.(js|html)$
 | 
						|
        args:
 | 
						|
          - --fix
 | 
						|
          - --no-warn-ignored
 | 
						|
          - --no-config-lookup
 | 
						|
          - --config
 | 
						|
          - platform/web/eslint.config.cjs
 | 
						|
        additional_dependencies:
 | 
						|
          - '@eslint/js@^9.3.0'
 | 
						|
          - '@html-eslint/eslint-plugin@^0.24.1'
 | 
						|
          - '@html-eslint/parser@^0.24.1'
 | 
						|
          - '@stylistic/eslint-plugin@^2.1.0'
 | 
						|
          - eslint@^9.3.0
 | 
						|
          - eslint-plugin-html@^8.1.1
 | 
						|
          - globals@^15.3.0
 | 
						|
          - espree@^10.0.1
 | 
						|
 | 
						|
      - id: jsdoc
 | 
						|
        name: jsdoc
 | 
						|
        language: node
 | 
						|
        entry: jsdoc
 | 
						|
        files: ^platform/web/js/engine/(engine|config|features)\.js$
 | 
						|
        args:
 | 
						|
          - --template
 | 
						|
          - platform/web/js/jsdoc2rst/
 | 
						|
          - platform/web/js/engine/engine.js
 | 
						|
          - platform/web/js/engine/config.js
 | 
						|
          - platform/web/js/engine/features.js
 | 
						|
          - --destination
 | 
						|
          - ''
 | 
						|
          - -d
 | 
						|
          - dry-run
 | 
						|
        pass_filenames: false
 | 
						|
        additional_dependencies: [jsdoc@^4.0.3]
 | 
						|
 | 
						|
      - id: svgo
 | 
						|
        name: svgo
 | 
						|
        language: node
 | 
						|
        entry: svgo
 | 
						|
        files: \.svg$
 | 
						|
        args: [--quiet, --config, misc/utility/svgo.config.mjs]
 | 
						|
        additional_dependencies: [svgo@3.3.2]
 | 
						|
 | 
						|
      - id: copyright-headers
 | 
						|
        name: copyright-headers
 | 
						|
        language: python
 | 
						|
        entry: python misc/scripts/copyright_headers.py
 | 
						|
        files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java)$
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            core/math/bvh_.*\.inc$|
 | 
						|
            platform/(?!android|ios|linuxbsd|macos|web|windows)\w+/.*|
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/.*|
 | 
						|
            platform/android/java/lib/src/org/godotengine/godot/gl/GLSurfaceView\.java$|
 | 
						|
            platform/android/java/lib/src/org/godotengine/godot/gl/EGLLogWrapper\.java$|
 | 
						|
            platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix\.java$
 | 
						|
          )
 | 
						|
 | 
						|
      - id: header-guards
 | 
						|
        name: header-guards
 | 
						|
        language: python
 | 
						|
        entry: python misc/scripts/header_guards.py
 | 
						|
        files: \.(h|hpp|hh|hxx)$
 | 
						|
        exclude: ^.*/(thread|platform_config|platform_gl)\.h$
 | 
						|
 | 
						|
      - id: file-format
 | 
						|
        name: file-format
 | 
						|
        language: python
 | 
						|
        entry: python misc/scripts/file_format.py
 | 
						|
        types_or: [text]
 | 
						|
        exclude: |
 | 
						|
          (?x)^(
 | 
						|
            .*\.test\.txt$|
 | 
						|
            .*\.svg$|
 | 
						|
            .*\.patch$|
 | 
						|
            .*\.out$|
 | 
						|
            modules/gdscript/tests/scripts/parser/features/mixed_indentation_on_blank_lines\.gd$|
 | 
						|
            modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment\.notest\.gd$|
 | 
						|
            modules/gdscript/tests/scripts/parser/warnings/empty_file_newline\.notest\.gd$|
 | 
						|
            platform/android/java/editor/src/main/java/com/android/.*|
 | 
						|
            platform/android/java/lib/src/com/google/.*
 | 
						|
          )
 | 
						|
 | 
						|
      - id: dotnet-format
 | 
						|
        name: dotnet-format
 | 
						|
        language: python
 | 
						|
        entry: python misc/scripts/dotnet_format.py
 | 
						|
        types_or: [c#]
 | 
						|
#
 | 
						|
# End of upstream Godot pre-commit hooks.
 | 
						|
#
 | 
						|
# Keep this separation to let downstream forks add their own hooks to this file,
 | 
						|
# without running into merge conflicts when rebasing on latest upstream.
 | 
						|
#
 | 
						|
# Start of downstream pre-commit hooks.
 | 
						|
#
 | 
						|
# This is still the "repo: local" scope, so new local hooks can be defined directly at this indentation:
 | 
						|
#     - id: new-local-hook
 | 
						|
# To add external repo hooks, bring the indentation back to:
 | 
						|
# - repo: my-remote-hook
 |