@@ -148,6 +148,7 @@ class PlaygroundServer
148148    languages . TypeDefinitionProvider , 
149149    languages . DeclarationProvider , 
150150    languages . DefinitionProvider , 
151+     languages . ReferenceProvider , 
151152    editor . ICodeEditorOpener , 
152153    languages . HoverProvider , 
153154    languages . InlayHintsProvider , 
@@ -160,6 +161,7 @@ class PlaygroundServer
160161  private  typeDefinitionProviderDisposable : IDisposable ; 
161162  private  declarationProviderDisposable : IDisposable ; 
162163  private  definitionProviderDisposable : IDisposable ; 
164+   private  referenceProviderDisposable : IDisposable ; 
163165  private  editorOpenerDisposable : IDisposable ; 
164166  private  hoverDisposable : IDisposable ; 
165167  private  inlayHintsDisposable : IDisposable ; 
@@ -179,6 +181,8 @@ class PlaygroundServer
179181      monaco . languages . registerDeclarationProvider ( "python" ,  this ) ; 
180182    this . definitionProviderDisposable  = 
181183      monaco . languages . registerDefinitionProvider ( "python" ,  this ) ; 
184+     this . referenceProviderDisposable  = 
185+       monaco . languages . registerReferenceProvider ( "python" ,  this ) ; 
182186    this . hoverDisposable  =  monaco . languages . registerHoverProvider ( 
183187      "python" , 
184188      this , 
@@ -582,6 +586,35 @@ class PlaygroundServer
582586    return  mapNavigationTargets ( links ) ; 
583587  } 
584588
589+   provideReferences ( 
590+     model : editor . ITextModel , 
591+     position : Position , 
592+     // eslint-disable-next-line @typescript-eslint/no-unused-vars 
593+     context : languages . ReferenceContext , 
594+     // eslint-disable-next-line @typescript-eslint/no-unused-vars 
595+     _ : CancellationToken , 
596+   ) : languages . ProviderResult < languages . Location [ ] >  { 
597+     const  workspace  =  this . props . workspace ; 
598+ 
599+     const  selectedFile  =  this . props . files . selected ; 
600+     if  ( selectedFile  ==  null )  { 
601+       return ; 
602+     } 
603+ 
604+     const  selectedHandle  =  this . props . files . handles [ selectedFile ] ; 
605+ 
606+     if  ( selectedHandle  ==  null )  { 
607+       return ; 
608+     } 
609+ 
610+     const  links  =  workspace . gotoReferences ( 
611+       selectedHandle , 
612+       new  TyPosition ( position . lineNumber ,  position . column ) , 
613+     ) ; 
614+ 
615+     return  mapNavigationTargets ( links ) ; 
616+   } 
617+ 
585618  openCodeEditor ( 
586619    source : editor . ICodeEditor , 
587620    resource : Uri , 
@@ -667,6 +700,7 @@ class PlaygroundServer
667700    this . typeDefinitionProviderDisposable . dispose ( ) ; 
668701    this . declarationProviderDisposable . dispose ( ) ; 
669702    this . definitionProviderDisposable . dispose ( ) ; 
703+     this . referenceProviderDisposable . dispose ( ) ; 
670704    this . inlayHintsDisposable . dispose ( ) ; 
671705    this . formatDisposable . dispose ( ) ; 
672706    this . rangeSemanticTokensDisposable . dispose ( ) ; 
0 commit comments