...

Text file src/go.uber.org/zap/.golangci.yml

Documentation: go.uber.org/zap

     1output:
     2  # Make output more digestible with quickfix in vim/emacs/etc.
     3  sort-results: true
     4  print-issued-lines: false
     5
     6linters:
     7  # We'll track the golangci-lint default linters manually
     8  # instead of letting them change without our control.
     9  disable-all: true
    10  enable:
    11    # golangci-lint defaults:
    12    - errcheck
    13    - gosimple
    14    - govet
    15    - ineffassign
    16    - staticcheck
    17    - unused
    18
    19    # Our own extras:
    20    - gofumpt
    21    - nolintlint # lints nolint directives
    22    - revive
    23
    24linters-settings:
    25  govet:
    26    # These govet checks are disabled by default, but they're useful.
    27    enable:
    28      - niliness
    29      - reflectvaluecompare
    30      - sortslice
    31      - unusedwrite
    32
    33  errcheck:
    34    exclude-functions:
    35      # These methods can not fail.
    36      # They operate on an in-memory buffer.
    37      - (*go.uber.org/zap/buffer.Buffer).Write
    38      - (*go.uber.org/zap/buffer.Buffer).WriteByte
    39      - (*go.uber.org/zap/buffer.Buffer).WriteString
    40
    41      - (*go.uber.org/zap/zapio.Writer).Close
    42      - (*go.uber.org/zap/zapio.Writer).Sync
    43      - (*go.uber.org/zap/zapio.Writer).Write
    44      # Write to zapio.Writer cannot fail,
    45      # so io.WriteString on it cannot fail.
    46      - io.WriteString(*go.uber.org/zap/zapio.Writer)
    47
    48      # Writing a plain string to a fmt.State cannot fail.
    49      - io.WriteString(fmt.State)
    50
    51issues:
    52  # Print all issues reported by all linters.
    53  max-issues-per-linter: 0
    54  max-same-issues: 0
    55
    56  # Don't ignore some of the issues that golangci-lint considers okay.
    57  # This includes documenting all exported entities.
    58  exclude-use-default: false
    59
    60  exclude-rules:
    61    # Don't warn on unused parameters.
    62    # Parameter names are useful; replacing them with '_' is undesirable.
    63    - linters: [revive]
    64      text: 'unused-parameter: parameter \S+ seems to be unused, consider removing or renaming it as _'
    65
    66    # staticcheck already has smarter checks for empty blocks.
    67    # revive's empty-block linter has false positives.
    68    # For example, as of writing this, the following is not allowed.
    69    #   for foo() { }
    70    - linters: [revive]
    71      text: 'empty-block: this block is empty, you can remove it'
    72
    73    # Ignore logger.Sync() errcheck failures in example_test.go
    74    # since those are intended to be uncomplicated examples.
    75    - linters: [errcheck]
    76      path: example_test.go
    77      text: 'Error return value of `logger.Sync` is not checked'

View as plain text