99using Microsoft . CodeAnalysis . Debugging ;
1010using Microsoft . CodeAnalysis . Host . Mef ;
1111using Microsoft . CodeAnalysis . Shared . Extensions ;
12+ using Microsoft . CodeAnalysis . Text ;
1213using Roslyn . LanguageServer . Protocol ;
1314
1415namespace Microsoft . CodeAnalysis . LanguageServer . Handler ;
@@ -26,14 +27,14 @@ internal sealed class DataTipRangeHandler()
2627 public TextDocumentIdentifier GetTextDocumentIdentifier ( TextDocumentPositionParams request )
2728 => request . TextDocument ;
2829
29- public async Task < VSInternalDataTip ? > HandleRequestAsync ( TextDocumentPositionParams request , RequestContext context , CancellationToken cancellationToken )
30- {
31- var document = context . GetRequiredDocument ( ) ;
30+ public Task < VSInternalDataTip ? > HandleRequestAsync ( TextDocumentPositionParams request , RequestContext context , CancellationToken cancellationToken )
31+ => GetDataTipRangeAsync ( context . GetRequiredDocument ( ) , ProtocolConversions . PositionToLinePosition ( request . Position ) , cancellationToken ) ;
3232
33+ public static async Task < VSInternalDataTip ? > GetDataTipRangeAsync ( Document document , LinePosition linePosition , CancellationToken cancellationToken )
34+ {
3335 var service = document . GetRequiredLanguageService < ILanguageDebugInfoService > ( ) ;
3436
3537 var text = await document . GetValueTextAsync ( cancellationToken ) . ConfigureAwait ( false ) ;
36- var linePosition = ProtocolConversions . PositionToLinePosition ( request . Position ) ;
3738 var position = text . Lines . GetPosition ( linePosition ) ;
3839 var info = await service . GetDataTipInfoAsync ( document , position , includeKind : true , cancellationToken ) . ConfigureAwait ( false ) ;
3940 if ( info . IsDefault )
0 commit comments