linters: disable-all: true enable: # Re-enable the default linters - errcheck - gosimple - govet - ineffassign - staticcheck - typecheck - unused # Enable the "always useful" linters as of 1.53.3 - asasalint - asciicheck - bidichk - decorder - dogsled - dupl - dupword - errchkjson - errname - errorlint - exhaustive - exportloopref - forbidigo - forcetypeassert - gci - gocheckcompilerdirectives - gochecknoinits - goconst - gocritic - godot - godox - gofumpt - gomoddirectives - goprintffuncname - gosec - gosmopolitan - importas - interfacebloat - makezero - mirror - misspell - musttag - nakedret - nestif - nilerr - nilnil - nolintlint - nonamedreturns - prealloc - predeclared - reassign - revive - tagalign - tenv - testableexamples - unconvert - unparam - usestdlibvars - wastedassign - whitespace # Disabled: Run periodically, but too many places to annotate # - gomnd # Disabled: Not how I do things # - exhaustruct # Zero value is fine. # - funlen # I'm not breaking up my math. # - gochecknoglobals # How else am I supposed to declare constants. # - lll # The 70s called and wants their ttys back. # - paralleltest # - varnamelen # The papers use short variable names. # - tagliatelle # I want my tags to match the files. # - thelper # - tparallel # - testpackage # - wsl # Nice idea, not how I like to write code. # - goerr113 # Nice idea, this package has too much legacy bs. # - ireturn # By virtue of the PT API we are interface heavy. # Disabled: Annoying/Useless # - cyclop # - gocognit # - gocyclo # - maintidx # - wrapcheck # Disabled: Irrelevant/redundant # - bodyclose # - containedctx # - contextcheck # - depguard # - durationcheck # - execinquery # - ginkgolinter # - gofmt # - goheader # - goimports # - gomodguard # - grouper # - loggercheck # - nlreturn # - noctx # - nosprintfhostport # - promlinter # - rowserrcheck # - sqlclosecheck # - stylecheck # - zerologlint linters-settings: gci: sections: - standard - default - prefix(gitlab.com/yawning/obfs4.git) skip-generated: true custom-order: true