MCPcopy Create free account
hub / github.com/docker/docker-language-server / highlightReferences

Function highlightReferences

internal/compose/documentHighlight.go:375–409  ·  view source on GitHub ↗
(dependencyType string, refs, decls []*token.Token, line, character int)

Source from the content-addressed store, hash-verified

373}
374
375func highlightReferences(dependencyType string, refs, decls []*token.Token, line, character int) (string, dependencyReference) {
376 var highlightedName *string
377 for _, reference := range refs {
378 if inToken(reference, line, character) {
379 highlightedName = &reference.Value
380 break
381 }
382 }
383
384 if highlightedName == nil {
385 for _, declaration := range decls {
386 if inToken(declaration, line, character) {
387 highlightedName = &declaration.Value
388 break
389 }
390 }
391 }
392
393 if highlightedName != nil {
394 highlights := []protocol.DocumentHighlight{}
395 for _, reference := range refs {
396 if reference.Value == *highlightedName {
397 highlights = append(highlights, documentHighlightFromToken(reference, protocol.DocumentHighlightKindRead))
398 }
399 }
400
401 for _, declaration := range decls {
402 if declaration.Value == *highlightedName {
403 highlights = append(highlights, documentHighlightFromToken(declaration, protocol.DocumentHighlightKindWrite))
404 }
405 }
406 return *highlightedName, dependencyReference{dependencyType: dependencyType, documentHighlights: highlights}
407 }
408 return "", dependencyReference{documentHighlights: nil}
409}
410
411func documentHighlightFromToken(t *token.Token, kind protocol.DocumentHighlightKind) protocol.DocumentHighlight {
412 return protocol.DocumentHighlight{

Callers 1

DocumentHighlightsFunction · 0.85

Calls 2

inTokenFunction · 0.85

Tested by

no test coverage detected