golang/go

x/tools/gopls: support LocationLink for relevant requests

Open

#40,195 opened on Jul 13, 2020

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Go (19,008 forks)batch import
FeatureRequestToolsgoplshelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

When requesting textDocument/definition gopls returns a Location.

This FR is about supporting returning a LocationLink instead for clients that support it (a client capability).

Rationale: some editors/plugins can use this to support previewing the entire function on hover. See https://github.com/neovim/neovim/issues/12218 and https://github.com/neovim/neovim/pull/12368 for an in-depth description.

In terms of other language servers that do this, it looks like rust-analyzer does it as well.

All (current) LSP actions that can return LocationLink's:

  • textDocument/declaration
  • textDocument/definition
  • textDocument/typeDefinition

Contributor guide