linters: enable-all: true disable: - cyclop - depguard - dupl - err113 - execinquery - exhaustive - exhaustruct - exportloopref - fatcontext - funlen - gochecknoglobals - gocognit - goconst - gocyclo - godot - gomnd - paralleltest - lll - maintidx - mnd - testpackage - varnamelen - wrapcheck run: timeout: 5m linters-settings: gosec: excludes: - G101 # Potential hardcoded credentials - G115 # integer overflow conversion gci: sections: - prefix(github.com/prometheus-community/windows_exporter/internal/initiate) - standard # Standard section: captures all standard packages. - default # Default section: contains all imports that could not be matched to another section type. custom-order: true tagliatelle: case: use-field-name: true rules: # Any struct tag type can be used. # Support string case: `camel`, `pascal`, `kebab`, `snake`, `upperSnake`, `goCamel`, `goPascal`, `goKebab`, `goSnake`, `upper`, `lower`, `header` json: camel yaml: snake forbidigo: forbid: - "^(fmt\\.Print(|f|ln)|print|println)$" - p: "^syscall\\.(.{1,7}|.{7}[^N]|.{9,})$" msg: use golang.org/x/sys/windows instead of syscall - p: "^windows\\.NewLazyDLL$" msg: use NewLazySystemDLL instead NewLazyDLL sloglint: no-mixed-args: true kv-only: false attr-only: true no-global: "all" context: "scope" static-msg: false no-raw-keys: false key-naming-case: snake forbidden-keys: - time - level - msg - source args-on-sep-lines: true stylecheck: checks: ["all", "-ST1003"] issues: exclude: - don't use underscores in Go names - don't use an underscore in package name - exported type .+ should have comment or be unexported exclude-rules: - # Golint has many capitalisation complaints on WMI class names text: "`?\\w+`? should be `?\\w+`?" linters: - revive - text: "don't use ALL_CAPS in Go names; use CamelCase" linters: - revive - path: internal/perfdata/v1/ linters: - godox - stylecheck