linters:
  disable:
    - errcheck
    - gosimple
  enable:
    - bodyclose
    - unconvert
    - misspell
    - whitespace
    - unparam
    - exportloopref
    - gocritic
    - golint
    - stylecheck
    - gofmt
    - goimports
    - nakedret
    - prealloc
    - goprintffuncname
    - godot
    - testpackage
    - exportloopref
    - nolintlint
    - asciicheck
    - godox
  fast: false

linters-settings:
  govet:
    enable-all: true
    disable:
      - composites
      - shadow
      - fieldalignment

  gocritic:
    disabled-checks:
      - ifElseChain
      - singleCaseSwitch

  misspell:
    locale: UK
    ignore-words:
      - color
      - colors
      - coloring
      - center
      - centered

  godox: 
    keywords:
      - FIXME

  errcheck:
    check-blank: false

issues:
  # Maximum issues count per one linter. Set to 0 to disable. Default is 50.
  max-issues-per-linter: 0

  # Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
  max-same-issues: 0

  exclude-rules:
    - path: .*/deprecated/.*
      linters:
        - errcheck

    - linters:
      - errcheck
      text: "defer"

    - linters:
      - errcheck
      text: "Error return value of `.*.Write.*` is not checked"

    - linters:
      - golint
      text: "stutters"

run:
  skip-dirs:
    # the new embed directive doesn't play well with the current set of linters
    - gui/sdlimgui/fonts
    - gui/sdlimgui/shaders
