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

x/tools/gopls: support multiple local values in the local prefix setting #44027

Open
bravoecho opened this issue Jan 31, 2021 · 2 comments
Open
Labels
gopls/imports gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@bravoecho
Copy link

The goimports tool allows to specify the -local option multiple times. gopls imports has a local option to reproduce that, but it only seems to work for a single prefix (gopls docs)

Everything works as expected when only one prefix is specified.

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

$ go version
go version go1.15.7 darwin/amd64
$ gopls version
golang.org/x/tools/gopls v0.6.4
    golang.org/x/tools/gopls@v0.6.4 h1:PO8rURGmi+QEKZ3pk+ZXJh51EFTVTSXqxzoRzrGSTJM=

Does this issue reproduce with the latest release?

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/luca.belmondo/Library/Caches/go-build"
GOENV="/Users/luca.belmondo/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/luca.belmondo/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/luca.belmondo/go"
GOPRIVATE=""
GOPROXY="athens.glintpay.com"
GOROOT="/usr/local/Cellar/go/1.15.7_1/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.15.7_1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/luca.belmondo/projects/svc/adjust-events/go.mod"
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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7l/jq5b64g946n0lxq82d8x32tryf6wnc/T/go-build147895208=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

In Vim, using the vim-go plugin, and setting the following options:

let g:go_fmt_command = 'gopls'
let g:go_imports_mode = 'gopls'
let g:go_gopls_gofumpt = v:true
let g:go_imports_autosave = 1
let g:go_gopls_local = 'acme.com,foobar.org'

What did you expect to see?

After saving any .go file:

import (
  "net"

  "google.golang.org/grpc"

  "acme.com/lib1"
  "acme.com/lib2"
  "foobar.org/lib1"
  "foobar.org/lib2"
)

What did you see instead?

import (
  "net"

  "acme.com/lib1"
  "acme.com/lib2"
  "foobar.org/lib1"
  "foobar.org/lib2"
  "google.golang.org/grpc"
)
@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels Jan 31, 2021
@gopherbot gopherbot added this to the Unreleased milestone Jan 31, 2021
@stamblerre stamblerre changed the title x/tools/gopls: Multiple locals for imports x/tools/gopls: support multiple local values in the local prefix setting Feb 2, 2021
@stamblerre stamblerre modified the milestones: Unreleased, gopls/v1.0.0 Feb 2, 2021
@stamblerre stamblerre added the NeedsFix The path to resolution is known, but the work has not been done. label Feb 2, 2021
@heschi
Copy link
Contributor

heschi commented Feb 2, 2021

goimports may allow you to specify the -local flag, but as far as I know, later values override, not add to, earlier values. The value of the flag is a comma separated list in both goimports and gopls. The gopls documentation should be updated.

@stamblerre stamblerre modified the milestones: gopls/v1.0.0, gopls/v0.6.6 Feb 2, 2021
@stamblerre stamblerre modified the milestones: gopls/v0.6.6, gopls/v1.0.0 Feb 17, 2021
@stamblerre stamblerre added this to To Do in gopls on-deck Feb 28, 2021
@stamblerre stamblerre removed this from To Do in gopls on-deck Jun 28, 2021
@ArtAndreev
Copy link

It works with comma-separated module names, I checked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gopls/imports gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

6 participants