version: "2" linters: default: standard enable: - errorlint - gocritic - testifylint - revive - wrapcheck - nlreturn - wsl_v5 settings: wsl_v5: # go-code: Keep an operation with its immediate error check. enable: - err - after-block - after-decl - after-defer - after-expr - after-go # go-code: Keep a short declaration with its immediate use. allow-first-in-block: true allow-whole-block: true cuddle-max-statements: 2 disable: # go-code: Keep a short declaration with its immediate assignment use. - assign # go-code: Keep a short declaration, its operation, and its error check # together. - if # go-code: A short declaration can feed the next loop setup. - for # go-code: A short declaration can feed the next switch setup. - switch # go-code: Keep a declared cleanup with its immediate defer. - defer # go-code: Keep a short declaration with its immediate append use. - append # go-code: Keep a short declaration with its immediate worker setup. - go nlreturn: # go-code: Keep a short declaration with its immediate use. block-size: 2 wrapcheck: # go-code: Return ctx.Err() directly. extra-ignore-sigs: - "(context.Context).Err() error" exclusions: rules: # go-code: A function with one error path can return it directly. - linters: [wrapcheck] path: ^records\.go$ source: 'return r\.file\.Close\(\)' - linters: [wrapcheck] path: ^log_test\.go$ source: 'return os\.Truncate\(' - linters: [wrapcheck] path: ^sync_buffer_helper_test\.go$ source: 'return b\.buffer\.Write\(' - linters: [wrapcheck] path: ^probe\.go$ source: 'return s\.inner\.Summarize\(' - linters: [wrapcheck] path: ^view\.go$ source: 'return false, err' - linters: [wrapcheck] path: ^whatsapp\.go$ text: 'sqlstore\.Container\)\.Close\('