@@ -404,6 +404,7 @@ func (ls *INOLanguageServer) TextDocumentHoverReqFromIDE(ctx context.Context, lo
404
404
405
405
clangParams := & lsp.HoverParams {
406
406
TextDocumentPositionParams : clangTextDocPosition ,
407
+ WorkDoneProgressParams : ideParams .WorkDoneProgressParams ,
407
408
}
408
409
clangResp , clangErr , err := ls .Clangd .conn .TextDocumentHover (ctx , clangParams )
409
410
if err != nil {
@@ -417,22 +418,26 @@ func (ls *INOLanguageServer) TextDocumentHoverReqFromIDE(ctx context.Context, lo
417
418
}
418
419
419
420
if clangResp == nil {
420
- logger .Logf ("response: nil " )
421
+ logger .Logf ("null response " )
421
422
return nil , nil
422
423
}
423
424
424
- _ , r , inPreprocessed , err := ls .clang2IdeRangeAndDocumentURI (logger , clangParams .TextDocument .URI , * clangResp .Range )
425
- if err != nil {
426
- logger .Logf ("error during range conversion: %v" , err )
427
- ls .Close ()
428
- return nil , & jsonrpc.ResponseError {Code : jsonrpc .ErrorCodesInternalError , Message : err .Error ()}
429
- }
430
- if inPreprocessed {
431
- return nil , nil
425
+ var ideRange * lsp.Range
426
+ if clangResp .Range != nil {
427
+ _ , r , inPreprocessed , err := ls .clang2IdeRangeAndDocumentURI (logger , clangParams .TextDocument .URI , * clangResp .Range )
428
+ if err != nil {
429
+ logger .Logf ("error during range conversion: %v" , err )
430
+ ls .Close ()
431
+ return nil , & jsonrpc.ResponseError {Code : jsonrpc .ErrorCodesInternalError , Message : err .Error ()}
432
+ }
433
+ if inPreprocessed {
434
+ return nil , nil
435
+ }
436
+ ideRange = & r
432
437
}
433
438
ideResp := lsp.Hover {
434
439
Contents : clangResp .Contents ,
435
- Range : & r ,
440
+ Range : ideRange ,
436
441
}
437
442
logger .Logf ("Hover content: %s" , strconv .Quote (ideResp .Contents .Value ))
438
443
return & ideResp , nil
0 commit comments