issues:
    exclude-files:
        - main_test.go
        - libpeg.go
        - libcoq.go

linters:
    enable:
        - govet
        - errcheck
        - staticcheck
        - unused
        - gosimple
        - gofmt
        - unused
        - ineffassign
        - typecheck
        - dogsled
        - dupl
        - funlen
        - gochecknoinits
        - godox
        - gocritic
        - gocyclo
        - gosec
        - lll
        - misspell
        - nakedret
        - prealloc
        - copyloopvar
        - unconvert
        - unparam
        - whitespace

linters-settings:
    gocritic:
        enabled-checks:
            - evalOrder
            - nilValReturn
            - octalLiteral
            - regexpPattern
            - sloppyReassign
            - truncateCmp
            - weakCond
            - boolExprSimplify
            - builtinShadow
            - dupImport
            - methodExprCall
            - initClause
            - nestingReduce
            - stringXbytes
            - unlabelStmt
            - typeUnparen
            - unnecessaryBlock
            - yodaStyleExpr
        disabled-checks:
            - assignOp
            - singleCaseSwitch
    goconst:
        min-len: 12
    funlen:
        statements: 64
        lines: 128
    gocyclo:
        min-complexity: 18
    govet:
        enable-all: true
        disable:
            - fieldalignment
    lll:
        line-length: 120
