run:
    timeout: 4m

linters-settings:
    depguard:
        list-type: blacklist
        include-go-root: true
        packages:
            - io/ioutil
        packages-with-error-message:
            - io/ioutil: "The 'io/ioutil' package is deprecated. Use corresponding 'os' or 'io' functions instead."
    gci:
        local-prefixes: github.com/luminosita/parser-bee
    goimports:
        local-prefixes: github.com/luminosita/parser-bee


linters:
    disable-all: true
    enable:
        - bodyclose
        - deadcode
        - depguard
        - dogsled
        - exhaustive
        - exportloopref
        - gci
        - gochecknoinits
        - gocritic
        - gofmt
        - gofumpt
        - goimports
        - goprintffuncname
        - gosimple
        - govet
        - ineffassign
        - misspell
        - nakedret
        - nolintlint
        - prealloc
        - revive
        - rowserrcheck
        - sqlclosecheck
        - staticcheck
        - structcheck
        - stylecheck
        - tparallel
        - unconvert
        - unparam
        - unused
        - varcheck
        - whitespace

        # Disable temporarily until everything works with Go 1.18
        # - typecheck

        # TODO: fix linter errors before enabling
        # - exhaustivestruct
        # - gochecknoglobals
        # - errorlint
        # - gocognit
        # - godot
        # - nlreturn
        # - noctx
        # - wrapcheck

        # TODO: fix linter errors before enabling (from original config)
        # - dupl
        # - errcheck
        # - goconst
        # - gocyclo
        # - gosec
        # - lll
        # - scopelint

        # unused
        # - goheader
        # - gomodguard

        # don't enable:
        # - asciicheck
        # - funlen
        # - godox
        # - goerr113
        # - gomnd
        # - interfacer
        # - maligned
        # - nestif
        # - testpackage
        # - wsl
