-
Notifications
You must be signed in to change notification settings - Fork 675
Open
Labels
Domain: EditorRelated to the LSP server, editor experienceRelated to the LSP server, editor experience
Description
Goto Definition Request (:leftwards_arrow_with_hook:)
The go to definition request is sent from the client to the server to resolve the definition location of a symbol at a given text document position.The result type
LocationLink
[]
got introduced with version 3.14.0 and depends on the corresponding client capabilitytextDocument.definition.linkSupport
where LocationLink
looks like
interface LocationLink {
/**
* Span of the origin of this link.
*
* Used as the underlined span for mouse interaction. Defaults to the word
* range at the mouse position.
*/
originSelectionRange?: Range;
/**
* The target resource identifier of this link.
*/
targetUri: DocumentUri;
/**
* The full target range of this link. If the target for example is a symbol
* then target range is the range enclosing this symbol not including
* leading/trailing whitespace but everything else like comments. This
* information is typically used to highlight the range in the editor.
*/
targetRange: Range;
/**
* The range that should be selected and revealed when this link is being
* followed, e.g the name of a function. Must be contained by the
* `targetRange`. See also `DocumentSymbol#range`
*/
targetSelectionRange: Range;
}
In Strada, we had the concept of a "definition with bound span". In Corsa we only provide Location | Location[]
for go-to-definition. We probably should model the concept of a bound span via the targetSelection
.
Copilot
Metadata
Metadata
Assignees
Labels
Domain: EditorRelated to the LSP server, editor experienceRelated to the LSP server, editor experience