@@ -722,7 +722,7 @@ func (s *Server) handleDefinition(ctx context.Context, params *lsproto.Definitio
722
722
project := s .projectService .EnsureDefaultProjectForURI (params .TextDocument .Uri )
723
723
languageService , done := project .GetLanguageServiceForRequest (ctx )
724
724
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 ))
726
726
}
727
727
728
728
func (s * Server ) handleTypeDefinition (ctx context.Context , params * lsproto.TypeDefinitionParams ) (lsproto.TypeDefinitionResponse , error ) {
@@ -879,30 +879,28 @@ func getCompletionClientCapabilities(params *lsproto.InitializeParams) *lsproto.
879
879
return params .Capabilities .TextDocument .Completion
880
880
}
881
881
882
- func getDefinitionClientCapabilities (params * lsproto.InitializeParams ) * lsproto.DefinitionClientCapabilities {
882
+ func definitionCapabilities (params * lsproto.InitializeParams ) * lsproto.DefinitionClientCapabilities {
883
883
if params == nil || params .Capabilities == nil || params .Capabilities .TextDocument == nil {
884
884
// Return default capabilities with LinkSupport enabled
885
- linkSupport := true
886
885
return & lsproto.DefinitionClientCapabilities {
887
- LinkSupport : & linkSupport ,
886
+ LinkSupport : ptrTo ( true ) ,
888
887
}
889
888
}
890
889
891
890
capabilities := params .Capabilities .TextDocument .Definition
892
891
if capabilities == nil {
893
892
// Return default capabilities with LinkSupport enabled
894
- linkSupport := true
895
893
return & lsproto.DefinitionClientCapabilities {
896
- LinkSupport : & linkSupport ,
894
+ LinkSupport : ptrTo ( true ) ,
897
895
}
898
896
}
899
897
900
898
// If capabilities exist but LinkSupport is not specified, default to true
901
899
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
906
904
}
907
905
908
906
return capabilities
0 commit comments