Skip to content

x/tools/gopls: too verbose message in diagnostic for go.mod #41462

@leitzler

Description

@leitzler

What version of Go are you using (go version)?

$ go version
go version devel +93810ac Thu Sep 3 22:08:58 2020 +0000 darwin/amd64

golang.org/x/tools v0.0.0-20200916122506-6ec2cde9631b
golang.org/x/tools/gopls v0.0.0-20200916122506-6ec2cde9631b

What did you do?

With tempmod enabled I opened up a go file in github.com/govim/govim and added a new import, github.com/moby/moby/api (to intentionally introduce an error).

What did you expect to see?

A less noisy diagnostic message.

As per Slack conversation with Heschi it looks like the error is parsed but the relevant text isn't extracted.

What did you see instead?

A super long and verbose message:

PublishDiagnostics callback: &protocol.PublishDiagnosticsParams{
    URI:         "file:///Users/leitzler/proj/govim/go.mod",
    Version:     8,
    Diagnostics: {
        {
            Range: protocol.Range{
                Start: protocol.Position{},
                End:   protocol.Position{Line:0, Character:29},
            },
            Severity:           1,
            Code:               nil,
            Source:             "",
            Message:            "go [-e -json -compiled=true -test=true -export=false -deps=true -find=false -mod=mod -modfile=/var/folders/j4/l2j99h6d5qd6knjlllql0bb80000gn/T/go.0535739845085bcd81322001a4009bf7933c87445ac818639dc283b06ce34f90.635768216.mod -- github.com/moby/moby/api]: exit status 1: go: finding module for package github.com/moby/moby/api\ngo: found github.com/moby/moby/api in github.com/moby/moby v1.13.1\ngo: finding module for package github.com/docker/docker/api/types\ngo: finding module for package github.com/docker/docker/pkg/ioutils\ngo: finding module for package github.com/Sirupsen/logrus\ngo: finding module for package github.com/docker/docker/pkg/system\ngo: finding module for package github.com/docker/libtrust\ngo: found github.com/Sirupsen/logrus in github.com/Sirupsen/logrus v1.6.0\ngo: found github.com/docker/docker/api/types in github.com/docker/docker v1.13.1\ngo: found github.com/docker/docker/pkg/ioutils in github.com/docker/docker v1.13.1\ngo: found github.com/docker/docker/pkg/system in github.com/docker/docker v1.13.1\ngo: found github.com/docker/libtrust in github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7\ngo: github.com/moby/moby/api imports\n\tgithub.com/Sirupsen/logrus: github.com/Sirupsen/[email protected]: parsing go.mod:\n\tmodule declares its path as: github.com/sirupsen/logrus\n\t        but was required as: github.com/Sirupsen/logrus\n: packages.Load error",
            Tags:               nil,
            RelatedInformation: nil,
        },
    },
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeToolsThis label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions