Commit c6716461d1323315b1d26cd4b4d35f2829c78375

Pierre Le Marre 2023-09-28T09:39:52

Add support for pre-commit See https://pre-commit.com for further info. Current checks: - Whitespaces - Yaml - Large files - Python linting/formatting TODO: investigate options for C linter and formatter

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..e58a098
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,28 @@
+# 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: v4.4.0
+  hooks:
+  - id: trailing-whitespace
+  - id: end-of-file-fixer
+  - id: check-yaml
+  - id: check-added-large-files
+- repo: https://github.com/psf/black
+  rev: 23.9.1
+  hooks:
+  - id: black
+    args: ['--check', '--diff', '.']
+- repo: https://github.com/charliermarsh/ruff-pre-commit
+  rev: v0.0.291
+  hooks:
+  - id: ruff
+    # ambiguous-variable-name (E741), line-too-long (E501)
+    args: ['--ignore=E741,E501', '.']
+# [TODO] C linter/formatter
+# Note: There is an old config file for uncrustify (https://uncrustify.sourceforge.net)
+# in the repo, but we may want to migrate to other modern style.
+# - repo: https://github.com/pre-commit/mirrors-clang-format
+#   rev: v16.0.6
+#   hooks:
+#   - id: clang-format