version: "2"
linters:
  default: standard
  enable:
    - canonicalheader
    - copyloopvar
    - dupword
    - err113
    - errorlint
    - exptostd
    - gocritic
    - godot
    - goheader
    - iface
    - importas
    - intrange
    - mirror
    - misspell
    - nakedret
    - nlreturn
    - nolintlint
    - perfsprint
    - protogetter
    - revive
    - sloglint
    - tagalign
    - testifylint
    - usestdlibvars
    - usetesting
    - whitespace
    - wsl_v5
  exclusions:
    paths:
      # Wails scaffold, not ours.  `build/android/` is generated by
      # `wails3 generate build-assets` and carried verbatim (plan 015),
      # and it contains one Go file -- scripts/deps/install_deps.go, the
      # interactive SDK installer behind `task android:install:deps`.
      # It trips 24 of the strict linters above, and reformatting
      # upstream's file to our house style would be undone by the next
      # refresh and would make the diff against upstream unreadable.
      # `make android-setup` is what this repo uses instead.
      - build/android/
formatters:
  enable:
    - gci
    - gofmt
    - gofumpt
    - goimports
    - golines
  settings:
    gci:
      sections:
        - standard
        - default
        - prefix(yellowjacket)
    gofumpt:
      module-path: yellowjacket
