Skip to content

Commit a8ba72c

Browse files
Address PR feedback: Rename function, use ptrTo(true), fix capabilities copying
Co-authored-by: DanielRosenwasser <[email protected]>
1 parent df65882 commit a8ba72c

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

internal/lsp/server.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ func (s *Server) handleDefinition(ctx context.Context, params *lsproto.Definitio
722722
project := s.projectService.EnsureDefaultProjectForURI(params.TextDocument.Uri)
723723
languageService, done := project.GetLanguageServiceForRequest(ctx)
724724
defer done()
725-
return languageService.ProvideDefinition(ctx, params.TextDocument.Uri, params.Position, getDefinitionClientCapabilities(s.initializeParams))
725+
return languageService.ProvideDefinition(ctx, params.TextDocument.Uri, params.Position, definitionCapabilities(s.initializeParams))
726726
}
727727

728728
func (s *Server) handleTypeDefinition(ctx context.Context, params *lsproto.TypeDefinitionParams) (lsproto.TypeDefinitionResponse, error) {
@@ -879,30 +879,28 @@ func getCompletionClientCapabilities(params *lsproto.InitializeParams) *lsproto.
879879
return params.Capabilities.TextDocument.Completion
880880
}
881881

882-
func getDefinitionClientCapabilities(params *lsproto.InitializeParams) *lsproto.DefinitionClientCapabilities {
882+
func definitionCapabilities(params *lsproto.InitializeParams) *lsproto.DefinitionClientCapabilities {
883883
if params == nil || params.Capabilities == nil || params.Capabilities.TextDocument == nil {
884884
// Return default capabilities with LinkSupport enabled
885-
linkSupport := true
886885
return &lsproto.DefinitionClientCapabilities{
887-
LinkSupport: &linkSupport,
886+
LinkSupport: ptrTo(true),
888887
}
889888
}
890889

891890
capabilities := params.Capabilities.TextDocument.Definition
892891
if capabilities == nil {
893892
// Return default capabilities with LinkSupport enabled
894-
linkSupport := true
895893
return &lsproto.DefinitionClientCapabilities{
896-
LinkSupport: &linkSupport,
894+
LinkSupport: ptrTo(true),
897895
}
898896
}
899897

900898
// If capabilities exist but LinkSupport is not specified, default to true
901899
if capabilities.LinkSupport == nil {
902-
linkSupport := true
903-
return &lsproto.DefinitionClientCapabilities{
904-
LinkSupport: &linkSupport,
905-
}
900+
// Copy existing capabilities and override LinkSupport
901+
result := *capabilities
902+
result.LinkSupport = ptrTo(true)
903+
return &result
906904
}
907905

908906
return capabilities

0 commit comments

Comments
 (0)