setup revive: cannot configure rule: "argument-limit": invalid value passed as argument number to the "argument-limit" rule #5683
-
As per the title I'm seeing the following error when running golangci-lint...
Here is my full golangci-lint config (v2): Here's the relevant section related to the error: {
"arguments": [
6
],
"name": "argument-limit",
"severity": "warning"
} Now I'm not sure if it's relevant but I do have some I have a The home directory file just contains: enableAllRules = true
[rule.comment-spacings]
arguments = ["lint:"] I've provided the full "project" directory version of [rule.argument-limit]
severity = "warning"
arguments = [6] All of this looks valid to me based on the revive documentation and also the golangci-lint documentation: Here's the full version: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hello, This is a side effect of JSON parsing, I recommend using YAML or TOML. YAMLformatters:
enable:
- goimports
- gofumpt
- golines
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$
issues:
max-issues-per-linter: 0
max-same-issues: 0
linters:
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
- canonicalheader
- containedctx
- contextcheck
- copyloopvar
- decorder
- dogsled
- dupl
- dupword
- durationcheck
- errchkjson
- errname
- errorlint
- exhaustive
- exhaustruct
- exptostd
- fatcontext
- forcetypeassert
- gocheckcompilerdirectives
- goconst
- gocritic
- gosec
- iface
- importas
- inamedparam
- interfacebloat
- intrange
- makezero
- mirror
- misspell
- mnd
- musttag
- nilerr
- noctx
- nolintlint
- nonamedreturns
- nosprintfhostport
- perfsprint
- prealloc
- predeclared
- reassign
- recvcheck
- revive
- sloglint
- spancheck
- staticcheck
- thelper
- tparallel
- unconvert
- unparam
- usestdlibvars
- usetesting
- varnamelen
- wastedassign
- wrapcheck
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
settings:
errcheck:
exclude-functions:
- encoding/json.Marshal
- encoding/json.MarshalIndent
errchkjson:
check-error-free-encoding: true
goconst:
min-occurrences: 4
misspell:
ignore-rules:
- Nominet
revive:
enable-all-rules: true
rules:
- arguments:
- allowInts: '0,1,2,3,4,5,6,7,8,9,10,16,20,22,32,64,80,128,255,443,8080'
allowStrs: '""'
maxLitCount: '10'
disabled: true
name: add-constant
severity: warning
- arguments:
- 6
name: argument-limit
severity: warning
- name: atomic
severity: warning
- name: bare-return
severity: warning
- name: bool-literal-in-expr
severity: warning
- arguments:
- 40
disabled: true
name: cognitive-complexity
- arguments:
- 'nolint:'
- 'lint:ignore"'
- 'exhaustive:ignore'
- 'codespell:ignore'
disabled: false
name: comment-spacings
- name: confusing-naming
severity: warning
- name: confusing-results
severity: warning
- name: constant-logical-expr
severity: error
- name: context-as-argument
severity: error
- name: context-keys-type
severity: error
- arguments:
- 50
disabled: true
name: cyclomatic
- name: deep-exit
severity: warning
- name: defer
severity: warning
- name: early-return
severity: warning
- name: empty-block
severity: error
- name: empty-lines
severity: warning
- name: error-naming
severity: error
- name: error-return
severity: error
- name: error-strings
severity: error
- name: errorf
severity: warning
- name: exported
severity: error
- name: flag-parameter
severity: warning
- arguments:
- 4
name: function-result-limit
severity: warning
- arguments:
- 50
- 0
name: function-length
severity: warning
- name: get-return
severity: error
- name: identical-branches
severity: error
- name: if-return
severity: warning
- name: increment-decrement
severity: error
- name: indent-error-flow
severity: warning
- name: import-shadowing
severity: warning
- disabled: true
name: line-length-limit
- arguments:
- 10
disabled: true
name: max-public-structs
- name: modifies-parameter
severity: warning
- name: modifies-value-receiver
severity: warning
- name: nested-structs
severity: warning
- name: optimize-operands-order
severity: warning
- name: package-comments
severity: warning
- name: range
severity: warning
- name: range-val-in-closure
severity: warning
- name: range-val-address
severity: warning
- name: receiver-naming
severity: warning
- name: redefines-builtin-id
severity: error
- name: string-of-int
severity: warning
- name: struct-tag
severity: warning
- name: superfluous-else
severity: warning
- name: time-equal
severity: warning
- name: time-naming
severity: warning
- name: var-declaration
severity: warning
- name: var-naming
severity: warning
- name: unconditional-recursion
severity: error
- name: unexported-naming
severity: warning
- name: unexported-return
severity: error
- arguments:
- fmt.Print
- fmt.Printf
- fmt.Println
- fmt.Fprint
- fmt.Fprintf
- fmt.Fprintln
name: unhandled-error
severity: warning
- name: unnecessary-stmt
severity: warning
- name: unreachable-code
severity: warning
- name: unused-parameter
severity: warning
- disabled: true
name: unused-receiver
severity: warning
- name: use-any
severity: warning
- name: useless-break
severity: warning
- name: waitgroup-by-value
severity: warning
run:
allow-parallel-runners: true
version: '2'
TOMLversion = "2"
[formatters]
enable = [
"goimports",
"gofumpt",
"golines"
]
[formatters.exclusions]
generated = "lax"
paths = [
"third_party$",
"builtin$",
"examples$"
]
[issues]
max-issues-per-linter = 0
max-same-issues = 0
[linters]
enable = [
"asasalint",
"asciicheck",
"bidichk",
"bodyclose",
"canonicalheader",
"containedctx",
"contextcheck",
"copyloopvar",
"decorder",
"dogsled",
"dupl",
"dupword",
"durationcheck",
"errchkjson",
"errname",
"errorlint",
"exhaustive",
"exhaustruct",
"exptostd",
"fatcontext",
"forcetypeassert",
"gocheckcompilerdirectives",
"goconst",
"gocritic",
"gosec",
"iface",
"importas",
"inamedparam",
"interfacebloat",
"intrange",
"makezero",
"mirror",
"misspell",
"mnd",
"musttag",
"nilerr",
"noctx",
"nolintlint",
"nonamedreturns",
"nosprintfhostport",
"perfsprint",
"prealloc",
"predeclared",
"reassign",
"recvcheck",
"revive",
"sloglint",
"spancheck",
"staticcheck",
"thelper",
"tparallel",
"unconvert",
"unparam",
"usestdlibvars",
"usetesting",
"varnamelen",
"wastedassign",
"wrapcheck"
]
[linters.exclusions]
generated = "lax"
paths = [
"third_party$",
"builtin$",
"examples$"
]
presets = [
"comments",
"common-false-positives",
"legacy",
"std-error-handling"
]
[linters.settings]
[linters.settings.errcheck]
exclude-functions = [
"encoding/json.Marshal",
"encoding/json.MarshalIndent"
]
[linters.settings.errchkjson]
check-error-free-encoding = true
[linters.settings.goconst]
min-occurrences = 4
[linters.settings.misspell]
ignore-rules = [
"Nominet"
]
[linters.settings.revive]
enable-all-rules = true
[[linters.settings.revive.rules]]
disabled = true
name = "add-constant"
severity = "warning"
[[linters.settings.revive.rules.arguments]]
allowInts = "0,1,2,3,4,5,6,7,8,9,10,16,20,22,32,64,80,128,255,443,8080"
allowStrs = "\"\""
maxLitCount = "10"
[[linters.settings.revive.rules]]
arguments = [
6
]
name = "argument-limit"
severity = "warning"
[[linters.settings.revive.rules]]
name = "atomic"
severity = "warning"
[[linters.settings.revive.rules]]
name = "bare-return"
severity = "warning"
[[linters.settings.revive.rules]]
name = "bool-literal-in-expr"
severity = "warning"
[[linters.settings.revive.rules]]
arguments = [
40
]
disabled = true
name = "cognitive-complexity"
[[linters.settings.revive.rules]]
arguments = [
"nolint:",
"lint:ignore\"",
"exhaustive:ignore",
"codespell:ignore"
]
disabled = false
name = "comment-spacings"
[[linters.settings.revive.rules]]
name = "confusing-naming"
severity = "warning"
[[linters.settings.revive.rules]]
name = "confusing-results"
severity = "warning"
[[linters.settings.revive.rules]]
name = "constant-logical-expr"
severity = "error"
[[linters.settings.revive.rules]]
name = "context-as-argument"
severity = "error"
[[linters.settings.revive.rules]]
name = "context-keys-type"
severity = "error"
[[linters.settings.revive.rules]]
arguments = [
50
]
disabled = true
name = "cyclomatic"
[[linters.settings.revive.rules]]
name = "deep-exit"
severity = "warning"
[[linters.settings.revive.rules]]
name = "defer"
severity = "warning"
[[linters.settings.revive.rules]]
name = "early-return"
severity = "warning"
[[linters.settings.revive.rules]]
name = "empty-block"
severity = "error"
[[linters.settings.revive.rules]]
name = "empty-lines"
severity = "warning"
[[linters.settings.revive.rules]]
name = "error-naming"
severity = "error"
[[linters.settings.revive.rules]]
name = "error-return"
severity = "error"
[[linters.settings.revive.rules]]
name = "error-strings"
severity = "error"
[[linters.settings.revive.rules]]
name = "errorf"
severity = "warning"
[[linters.settings.revive.rules]]
name = "exported"
severity = "error"
[[linters.settings.revive.rules]]
name = "flag-parameter"
severity = "warning"
[[linters.settings.revive.rules]]
arguments = [
4
]
name = "function-result-limit"
severity = "warning"
[[linters.settings.revive.rules]]
arguments = [
50,
0
]
name = "function-length"
severity = "warning"
[[linters.settings.revive.rules]]
name = "get-return"
severity = "error"
[[linters.settings.revive.rules]]
name = "identical-branches"
severity = "error"
[[linters.settings.revive.rules]]
name = "if-return"
severity = "warning"
[[linters.settings.revive.rules]]
name = "increment-decrement"
severity = "error"
[[linters.settings.revive.rules]]
name = "indent-error-flow"
severity = "warning"
[[linters.settings.revive.rules]]
name = "import-shadowing"
severity = "warning"
[[linters.settings.revive.rules]]
disabled = true
name = "line-length-limit"
[[linters.settings.revive.rules]]
arguments = [
10
]
disabled = true
name = "max-public-structs"
[[linters.settings.revive.rules]]
name = "modifies-parameter"
severity = "warning"
[[linters.settings.revive.rules]]
name = "modifies-value-receiver"
severity = "warning"
[[linters.settings.revive.rules]]
name = "nested-structs"
severity = "warning"
[[linters.settings.revive.rules]]
name = "optimize-operands-order"
severity = "warning"
[[linters.settings.revive.rules]]
name = "package-comments"
severity = "warning"
[[linters.settings.revive.rules]]
name = "range"
severity = "warning"
[[linters.settings.revive.rules]]
name = "range-val-in-closure"
severity = "warning"
[[linters.settings.revive.rules]]
name = "range-val-address"
severity = "warning"
[[linters.settings.revive.rules]]
name = "receiver-naming"
severity = "warning"
[[linters.settings.revive.rules]]
name = "redefines-builtin-id"
severity = "error"
[[linters.settings.revive.rules]]
name = "string-of-int"
severity = "warning"
[[linters.settings.revive.rules]]
name = "struct-tag"
severity = "warning"
[[linters.settings.revive.rules]]
name = "superfluous-else"
severity = "warning"
[[linters.settings.revive.rules]]
name = "time-equal"
severity = "warning"
[[linters.settings.revive.rules]]
name = "time-naming"
severity = "warning"
[[linters.settings.revive.rules]]
name = "var-declaration"
severity = "warning"
[[linters.settings.revive.rules]]
name = "var-naming"
severity = "warning"
[[linters.settings.revive.rules]]
name = "unconditional-recursion"
severity = "error"
[[linters.settings.revive.rules]]
name = "unexported-naming"
severity = "warning"
[[linters.settings.revive.rules]]
name = "unexported-return"
severity = "error"
[[linters.settings.revive.rules]]
arguments = [
"fmt.Print",
"fmt.Printf",
"fmt.Println",
"fmt.Fprint",
"fmt.Fprintf",
"fmt.Fprintln"
]
name = "unhandled-error"
severity = "warning"
[[linters.settings.revive.rules]]
name = "unnecessary-stmt"
severity = "warning"
[[linters.settings.revive.rules]]
name = "unreachable-code"
severity = "warning"
[[linters.settings.revive.rules]]
name = "unused-parameter"
severity = "warning"
[[linters.settings.revive.rules]]
disabled = true
name = "unused-receiver"
severity = "warning"
[[linters.settings.revive.rules]]
name = "use-any"
severity = "warning"
[[linters.settings.revive.rules]]
name = "useless-break"
severity = "warning"
[[linters.settings.revive.rules]]
name = "waitgroup-by-value"
severity = "warning"
[run]
allow-parallel-runners = true And if you really want to use the JSON format, change the extension from |
Beta Was this translation helpful? Give feedback.
Hello,
This is a side effect of JSON parsing, I recommend using YAML or TOML.
YAML