-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-config.yaml
34 lines (34 loc) · 1.58 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.0
hooks:
- id: ruff
args: [ --fix ]
- id: ruff-format
- repo: https://github.com/Scony/godot-gdscript-toolkit
rev: 4.2.2
hooks:
- id: gdlint
additional_dependencies: [setuptools]
- id: gdformat
additional_dependencies: [setuptools]
- repo: local
hooks:
- id: ruff-scons
name: ruff-scons
description: This hook runs ruff to check and format Scons python code.
entry: bash -c 'ruff check SConstruct --fix && ruff format SConstruct' # I couldn't find any other way to get ruff to check the SConstruct file :(
language: system
pass_filenames: false
- id: clang-format-run
name: clang-format
description: This hook runs clang-format to format code in the 'src' directory.
entry: bash -c 'find ./src/ \( -iname "*.hpp" -o -iname "*.cpp" \) -exec clang-format -i {} + && exit 0'
language: system
pass_filenames: false
- id: gdextension-tests
name: gdextension-tests
description: This hook runs all of your project's SFT test code using a disgusting bash one liner.
entry: bash -c 'touch output.txt && /usr/bin/godot --headless --quit &> output.txt && output_file_path="output.txt"; grep "Failed" "$output_file_path" > failed_tests.txt; rm $output_file_path; if [[ -s failed_tests.txt ]]; then echo "Failed tests:"; cat failed_tests.txt; rm failed_tests.txt; exit 1; else rm failed_tests.txt; exit 0; fi;'
language: system
pass_filenames: false