@@ -148,6 +148,7 @@ class PlaygroundServer
148
148
languages . TypeDefinitionProvider ,
149
149
languages . DeclarationProvider ,
150
150
languages . DefinitionProvider ,
151
+ languages . ReferenceProvider ,
151
152
editor . ICodeEditorOpener ,
152
153
languages . HoverProvider ,
153
154
languages . InlayHintsProvider ,
@@ -160,6 +161,7 @@ class PlaygroundServer
160
161
private typeDefinitionProviderDisposable : IDisposable ;
161
162
private declarationProviderDisposable : IDisposable ;
162
163
private definitionProviderDisposable : IDisposable ;
164
+ private referenceProviderDisposable : IDisposable ;
163
165
private editorOpenerDisposable : IDisposable ;
164
166
private hoverDisposable : IDisposable ;
165
167
private inlayHintsDisposable : IDisposable ;
@@ -179,6 +181,8 @@ class PlaygroundServer
179
181
monaco . languages . registerDeclarationProvider ( "python" , this ) ;
180
182
this . definitionProviderDisposable =
181
183
monaco . languages . registerDefinitionProvider ( "python" , this ) ;
184
+ this . referenceProviderDisposable =
185
+ monaco . languages . registerReferenceProvider ( "python" , this ) ;
182
186
this . hoverDisposable = monaco . languages . registerHoverProvider (
183
187
"python" ,
184
188
this ,
@@ -582,6 +586,35 @@ class PlaygroundServer
582
586
return mapNavigationTargets ( links ) ;
583
587
}
584
588
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
+
585
618
openCodeEditor (
586
619
source : editor . ICodeEditor ,
587
620
resource : Uri ,
@@ -667,6 +700,7 @@ class PlaygroundServer
667
700
this . typeDefinitionProviderDisposable . dispose ( ) ;
668
701
this . declarationProviderDisposable . dispose ( ) ;
669
702
this . definitionProviderDisposable . dispose ( ) ;
703
+ this . referenceProviderDisposable . dispose ( ) ;
670
704
this . inlayHintsDisposable . dispose ( ) ;
671
705
this . formatDisposable . dispose ( ) ;
672
706
this . rangeSemanticTokensDisposable . dispose ( ) ;
0 commit comments