See astyle python distribution and binding.
.pre-commit-config.yaml:
repos:
- repo: https://github.com/Freed-Wu/astyle-wheel
rev: 3.6.13
hooks:
- id: astyle- CLinters: it requires you install linters and formatters in your machine and it calls them. So it cannot ensure the versions of linters and formatters are same as others, which means it cannot ensure reproducibility.
- astyle_precommit_hook: it uses git hook, not pre-commit, which make it cannot use many hooks at the same time. It cannot ensure reproducibility, too.
- astyle_py: it uses wasm, not native binary programs like this project.