ソースを参照

Add .clang-format-glsl check

Adam Scott 1 年間 前
コミット
25b28aa887
2 ファイル変更54 行追加1 行削除
  1. 12 1
      .pre-commit-config.yaml
  2. 42 0
      misc/utility/.clang-format-glsl

+ 12 - 1
.pre-commit-config.yaml

@@ -12,7 +12,17 @@ repos:
     rev: v19.1.0
     hooks:
       - id: clang-format
-        files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java|glsl)$
+        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)^(
@@ -20,6 +30,7 @@ repos:
             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

+ 42 - 0
misc/utility/.clang-format-glsl

@@ -0,0 +1,42 @@
+# GLSL-specific rules.
+# The rules should be the same as .clang-format, except those explicitly mentioned.
+BasedOnStyle: LLVM
+AccessModifierOffset: -4
+AlignAfterOpenBracket: DontAlign
+AlignOperands: DontAlign
+AlignTrailingComments:
+  Kind: Never
+  OverEmptyLines: 0
+AllowAllParametersOfDeclarationOnNextLine: false
+BreakConstructorInitializers: AfterColon
+ColumnLimit: 0
+ConstructorInitializerIndentWidth: 8
+ContinuationIndentWidth: 8
+Cpp11BracedListStyle: false
+IncludeCategories:
+  - Regex: ^".*"$
+    Priority: 1
+  - Regex: ^<.*\.h>$
+    Priority: 2
+  - Regex: ^<.*>$
+    Priority: 3
+IndentCaseLabels: true
+IndentWidth: 4
+JavaImportGroups:
+  - org.godotengine
+  - android
+  - androidx
+  - com.android
+  - com.google
+  - java
+  - javax
+KeepEmptyLinesAtTheStartOfBlocks: false
+ObjCBlockIndentWidth: 4
+PackConstructorInitializers: NextLine
+RemoveSemicolon: false # Differs from base .clang-format
+SpacesInLineCommentPrefix:
+  Minimum: 0
+  Maximum: -1
+Standard: c++20
+TabWidth: 4
+UseTab: Always