46 lines
1.7 KiB
YAML
46 lines
1.7 KiB
YAML
# 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: v6.0.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-added-large-files
|
|
- repo: https://github.com/batmac/pre-commit-zig
|
|
rev: v0.3.0
|
|
hooks:
|
|
- id: zig-fmt
|
|
- repo: local
|
|
hooks:
|
|
- id: zlint
|
|
name: Run zlint
|
|
# zlint accepts file paths only via stdin (-S); positional
|
|
# args are interpreted as directory names and silently
|
|
# produce no output. Pipe pre-commit's file list through
|
|
# bash to get the paths to zlint as stdin lines.
|
|
entry: bash -c 'printf "%s\n" "$@" | zlint --deny-warnings --fix -S' --
|
|
language: system
|
|
types: [zig]
|
|
# zlint 0.7.9 misparses Zig 0.16's `async`/`await` method
|
|
# names (Group.async, Future.await) as the legacy keywords,
|
|
# firing false-positive "syntax error" diagnostics. Until
|
|
# zlint catches up, exclude files that legitimately use the
|
|
# std.Io.Group async/await methods. `zig fmt` rewrites the
|
|
# `@"async"`/`@"await"` workaround back to the bare form,
|
|
# so we can't dodge it locally either.
|
|
exclude: ^src/(tui|PortfolioData)\.zig$
|
|
- repo: https://github.com/batmac/pre-commit-zig
|
|
rev: v0.3.0
|
|
hooks:
|
|
- id: zig-build
|
|
- repo: local
|
|
hooks:
|
|
- id: test
|
|
name: Run zig build test
|
|
entry: zig
|
|
args: ["build", "coverage", "-Dcoverage-threshold=75"]
|
|
language: system
|
|
types: [file]
|
|
pass_filenames: false
|