Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revive config is not loaded in v1.50.0 #3301

Closed
4 tasks done
itaranto opened this issue Oct 15, 2022 · 2 comments
Closed
4 tasks done

revive config is not loaded in v1.50.0 #3301

itaranto opened this issue Oct 15, 2022 · 2 comments
Labels
duplicate This issue or pull request already exists

Comments

@itaranto
Copy link

itaranto commented Oct 15, 2022

Welcome

  • Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've included all information below (version, config, etc).
  • Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)

Description of the problem

The following config was working fine in v1.49.0, it stopped working in v1.50.0.

Version of golangci-lint

golangci-lint has version 1.50.0 built from 704109c6 on 2022-10-04T10:25:07Z

Configuration file

---
run:
  timeout: 5m
output:
  format: colored-line-number
linters:
  disable-all: true
  enable:
    - goimports
    - govet
    - revive
    - typecheck
linters-settings:
  goimports:
    local-prefixes: github.com/mattn/efm-langserver
  revive:
    ignore-generated-header: true
    severity: warning
    confidence: 0.8
    error-code: 0
    warning-code: 0
    rules:
      - name: add-constant
        arguments:
          - maxLitCount: "3"
            allowStrs: '""'
            allowInts: "0,1,2,3,4,5,0700,0660"
            allowFloats: "0.0,0.,1.0,1.,2.0,2."
      - name: blank-imports
      - name: context-as-argument
      - name: context-keys-type
      - name: dot-imports
      - name: empty-block
      - name: error-naming
      - name: error-return
      - name: error-strings
      - name: errorf
      - name: exported
      - name: if-return
      - name: increment-decrement
      - name: indent-error-flow
      - name: range
      - name: receiver-naming
      - name: redefines-builtin-id
      - name: superfluous-else
      - name: time-naming
      - name: unexported-return
      - name: unreachable-code
      - name: unused-parameter
      - name: var-declaration
      - name: var-naming
issues:
  exclude-rules:
    - linters:
        - goimports
      path: langserver/handler_go112.go
    - linters:
        - goimports
      path: langserver/handler_go113.go
    - linters:
        - revive
      path: '(.+)_test\.go'
      text: "add-constant:"
    - linters:
        - revive
      path: '(.+)_test\.go'
      text: "exported:"
    - linters:
        - revive
      path: langserver/diff.go
      text: "var-naming: don't use leading k in Go names"

Go environment

go version go1.19.2 linux/amd64
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ignacio/.cache/go-build"
GOENV="/home/ignacio/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ignacio/.local/share/go/pkg/mod"
GONOPROXY="gitlab.com/fproj"
GONOSUMDB="gitlab.com/fproj"
GOOS="linux"
GOPATH="/home/ignacio/.local/share/go"
GOPRIVATE="gitlab.com/fproj"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19.2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3663421183=/tmp/go-build -gno-record-gcc-switches"

Verbose output of running

INFO [config_reader] Config search paths: [./ /home/ignacio/devel/external/efm-langserver /home/ignacio/devel/external /home/ignacio/devel /home/ignacio /home /]
INFO [config_reader] Used config file .golangci.yaml
INFO [lintersdb] Active 4 linters: [goimports govet revive typecheck]
INFO [loader] Go packages loading at mode 575 (files|name|types_sizes|compiled_files|deps|exports_file|imports) took 82.286823ms
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 4.98022ms
INFO [linters_context/goanalysis] analyzers took 431.795032ms with top 10 stages: printf: 124.123936ms, ctrlflow: 116.904391ms, inspect: 67.835065ms, the_only_name: 66.282198ms, goimports: 46.268834ms, copylocks: 1.61549ms, lostcancel: 1.347518ms, bools: 741.641µs, composites: 648.817µs, shift: 610.124µs
INFO [runner/max_same_issues] 55/58 issues with text "add-constant: avoid magic numbers like '0', create a named constant for it" were hidden, use --max-same-issues
INFO [runner/max_same_issues] 47/50 issues with text "add-constant: avoid magic numbers like '1', create a named constant for it" were hidden, use --max-same-issues
INFO [runner/max_same_issues] 9/12 issues with text "add-constant: avoid magic numbers like '2', create a named constant for it" were hidden, use --max-same-issues
INFO [runner/max_same_issues] 6/9 issues with text "add-constant: string literal \"\" appears, at least, 3 times, create a named constant for it" were hidden, use --max-same-issues
INFO [runner/max_same_issues] 6/9 issues with text "add-constant: avoid magic numbers like '3', create a named constant for it" were hidden, use --max-same-issues
INFO [runner/max_same_issues] 3/6 issues with text "add-constant: avoid magic numbers like '4', create a named constant for it" were hidden, use --max-same-issues
INFO [runner] Issues before processing: 327, after processing: 26
INFO [runner] Processors filtering stat (out/in): path_shortener: 26/26, identifier_marker: 327/327, nolint: 177/177, diff: 152/152, skip_dirs: 327/327, exclude: 327/327, uniq_by_line: 152/177, severity-rules: 26/26, sort_results: 26/26, filename_unadjuster: 327/327, path_prettifier: 327/327, skip_files: 327/327, max_per_file_from_linter: 152/152, max_same_issues: 26/152, max_from_linter: 26/26, source_code: 26/26, path_prefixer: 26/26, cgo: 327/327, autogenerated_exclude: 327/327, exclude-rules: 177/327
INFO [runner] processing took 35.413188ms with stages: exclude-rules: 15.320874ms, identifier_marker: 12.459367ms, nolint: 6.177727ms, path_prettifier: 586.6µs, autogenerated_exclude: 302.448µs, source_code: 207.92µs, max_same_issues: 123.701µs, skip_dirs: 84.649µs, uniq_by_line: 50.805µs, cgo: 46.387µs, filename_unadjuster: 23.565µs, max_per_file_from_linter: 11.502µs, path_shortener: 11.04µs, max_from_linter: 4.778µs, diff: 382ns, exclude: 340ns, sort_results: 322ns, skip_files: 321ns, severity-rules: 290ns, path_prefixer: 170ns
INFO [runner] linters took 850.312524ms with stages: goanalysis_metalinter: 814.799792ms
main.go:36:37: add-constant: avoid magic numbers like '1', create a named constant for it (revive)
	flag.IntVar(&loglevel, "loglevel", 1, "loglevel")
	                                   ^
main.go:47:17: add-constant: string literal "" appears, at least, 3 times, create a named constant for it (revive)
	if yamlfile == "" {
	               ^
main.go:59:30: add-constant: avoid magic numbers like '0700', create a named constant for it (revive)
		if err := os.MkdirAll(dir, 0700); err != nil {
		                           ^
main.go:81:11: add-constant: avoid magic numbers like '0', create a named constant for it (revive)
		os.Exit(0)
		        ^
main.go:84:20: add-constant: avoid magic numbers like '0', create a named constant for it (revive)
	if flag.NArg() != 0 {
	                  ^
main.go:86:11: add-constant: avoid magic numbers like '1', create a named constant for it (revive)
		os.Exit(1)
		        ^
main.go:98:23: add-constant: avoid magic numbers like '0', create a named constant for it (revive)
	if config.LogLevel > 0 {
	                     ^
main.go:105:69: add-constant: avoid magic numbers like '0660', create a named constant for it (revive)
		f, err := os.OpenFile(logfile, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0660)
		                                                                  ^
main.go:111:18: add-constant: avoid magic numbers like '5', create a named constant for it (revive)
		if loglevel >= 5 {
		               ^
main.go:116:43: add-constant: avoid magic numbers like '5', create a named constant for it (revive)
	if quiet && (logfile == "" || loglevel < 5) {
	                                         ^
langserver/config.go:29:38: add-constant: avoid magic numbers like '2', create a named constant for it (revive)
	if err != nil || config1.Version == 2 {
	                                    ^
langserver/handle_text_document_did_change.go:20:35: add-constant: avoid magic numbers like '1', create a named constant for it (revive)
	if len(params.ContentChanges) == 1 {
	                                 ^
langserver/handle_text_document_completion.go:71:34: add-constant: string literal "" appears, at least, 3 times, create a named constant for it (revive)
		if config.CompletionCommand == "" {
		                               ^
langserver/handle_text_document_completion.go:101:20: add-constant: avoid magic numbers like '3', create a named constant for it (revive)
		if h.loglevel >= 3 {
		                 ^
langserver/handle_text_document_hover.go:102:29: add-constant: string literal "" appears, at least, 3 times, create a named constant for it (revive)
		if config.HoverCommand == "" {
		                          ^
langserver/handle_text_document_hover.go:127:20: add-constant: avoid magic numbers like '3', create a named constant for it (revive)
		if h.loglevel >= 3 {
		                 ^
langserver/handle_text_document_symbol.go:136:20: add-constant: avoid magic numbers like '3', create a named constant for it (revive)
		if h.loglevel >= 3 {
		                 ^
langserver/handle_text_document_symbol.go:161:24: add-constant: string literal "windows" appears, at least, 3 times, create a named constant for it (revive)
				if runtime.GOOS == "windows" {
				                   ^
langserver/handle_text_document_symbol.go:168:39: add-constant: avoid magic numbers like '2', create a named constant for it (revive)
				token := strings.SplitN(m.M, "!", 2)
				                                  ^
langserver/handle_text_document_symbol.go:170:22: add-constant: avoid magic numbers like '2', create a named constant for it (revive)
				if len(token) == 2 {
				                 ^
langserver/handle_text_document_definition.go:47:39: add-constant: avoid magic numbers like '4', create a named constant for it (revive)
		token := strings.SplitN(text, "\t", 4)
		                                    ^
langserver/handle_text_document_definition.go:48:19: add-constant: avoid magic numbers like '4', create a named constant for it (revive)
		if len(token) < 4 {
		                ^
langserver/handle_text_document_formatting.go:34:20: add-constant: avoid magic numbers like '4', create a named constant for it (revive)
		if h.loglevel >= 4 {
		                 ^
langserver/handle_text_document_formatting.go:144:29: add-constant: string literal ":" appears, at least, 3 times, create a named constant for it (revive)
			h.logger.Println(command+":", string(b))
			                         ^
langserver/handler.go:295:41: add-constant: string literal "/" appears, at least, 3 times, create a named constant for it (revive)
					marker = strings.TrimRight(marker, "/")
					                                   ^
langserver/handler.go:524:23: add-constant: string literal "windows" appears, at least, 3 times, create a named constant for it (revive)
			if runtime.GOOS == "windows" {
			                   ^
INFO File cache stats: 9 entries of total size 41.3KiB
INFO Memory: 11 samples, avg is 98.3MB, max is 137.5MB
INFO Execution took 944.721992ms

Code example or link to a public repository

https://github.com/itaranto/efm-langserver/tree/replace-golint-with-revive

@itaranto itaranto added the bug Something isn't working label Oct 15, 2022
@boring-cyborg
Copy link

boring-cyborg bot commented Oct 15, 2022

Hey, thank you for opening your first Issue ! 🙂 If you would like to contribute we have a guide for contributors.

@ldez
Copy link
Member

ldez commented Oct 15, 2022

duplicate of #3280, #3293

@ldez ldez closed this as completed Oct 15, 2022
@ldez ldez added duplicate This issue or pull request already exists and removed bug Something isn't working labels Oct 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants