Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 1.49 KB

README.md

File metadata and controls

57 lines (43 loc) · 1.49 KB

ziglint

loc license

A linting suite for Zig.

Usage

$ ./ziglint

This will search the current directory for .zig files and lint them against the various tests in the suite. See the bad/ folder for examples of the caught lints.

Installation

This requires having Zig and Zigmod installed.

$ zigmod aq install 1/nektro/ziglint

Built With

Available Rules

  • dupe_import: warn against duplicate @import calls with the same value
  • todo: list all // TODO comments
  • file_as_struct: checks for file name capitalization in the presence of top level fields
  • unused_decl: checks for unused container level const/vars

Want to propose more? Open an issue here on Github.

Using in Github Actions

jobs:
  lint:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Setup Zig
        uses: goto-bus-stop/setup-zig@v1
        with:
          version: "0.11.0"

      - uses: nektro/actions-setup-zigmod@v1
      - run: zigmod aq install 1/nektro/ziglint
      - run: ~/.zigmod/bin/ziglint -skip todo

License

MIT