@@ -31,8 +31,9 @@ export interface ReferenceInfo {
3131}
3232
3333export interface ReferencesResult {
34- text : string ;
3534 referenceInfos : ReferenceInfo [ ] ;
35+ text : string ;
36+ isFinished : boolean ;
3637}
3738
3839export interface ReferencesResultMessage {
@@ -43,8 +44,7 @@ enum ReferencesProgress {
4344 Started ,
4445 StartedRename ,
4546 ProcessingSource ,
46- ProcessingTargets ,
47- Finished
47+ ProcessingTargets
4848}
4949
5050enum TargetReferencesProgress {
@@ -114,7 +114,7 @@ function getReferenceCanceledString(upperCase?: boolean): string {
114114}
115115
116116export function getReferenceTagString ( referenceType : ReferenceType , referenceCanceled : boolean , upperCase ?: boolean ) : string {
117- return referenceCanceled ? getReferenceCanceledString ( upperCase ) : convertReferenceTypeToString ( referenceType , upperCase ) ;
117+ return referenceCanceled && referenceType === ReferenceType . ConfirmationInProgress ? getReferenceCanceledString ( upperCase ) : convertReferenceTypeToString ( referenceType , upperCase ) ;
118118}
119119
120120export class ReferencesManager {
@@ -148,10 +148,9 @@ export class ReferencesManager {
148148 private visibleRangesDecreasedTicks : number = 0 ;
149149 private readonly ticksForDetectingPeek : number = 1000 ; // TODO: Might need tweeking?
150150
151- private resultsCallback : ( final : boolean , results : ReferencesResult ) => void ;
151+ private resultsCallback : ( results : ReferencesResult ) => void ;
152152 private currentUpdateProgressTimer : NodeJS . Timeout ;
153153 private currentUpdateProgressResolve : ( ) => void ;
154- private lastResult : ReferencesResult ;
155154
156155 constructor ( client : DefaultClient ) {
157156 this . client = client ;
@@ -295,7 +294,7 @@ export class ReferencesManager {
295294 this . client . cancelReferences ( ) ;
296295 this . referencesCanceled = true ;
297296 }
298- if ( this . referencesCurrentProgress . referencesProgress === ReferencesProgress . Finished || this . referencesCurrentProgressUICounter !== referencePreviousProgressUICounter ) {
297+ if ( this . referencesCurrentProgressUICounter !== referencePreviousProgressUICounter ) {
299298 clearInterval ( this . currentUpdateProgressTimer ) ;
300299 this . currentUpdateProgressTimer = null ;
301300 if ( this . referencesCurrentProgressUICounter !== referencePreviousProgressUICounter ) {
@@ -325,22 +324,6 @@ export class ReferencesManager {
325324 }
326325 this . handleProgressStarted ( notificationBody . referencesProgress ) ;
327326 break ;
328- case ReferencesProgress . Finished :
329- this . referencesCurrentProgress = notificationBody ;
330- clearInterval ( this . referencesDelayProgress ) ;
331- if ( this . currentUpdateProgressTimer ) {
332- clearInterval ( this . currentUpdateProgressTimer ) ;
333- this . currentUpdateProgressResolve ( ) ;
334- this . currentUpdateProgressResolve = null ;
335- }
336- if ( this . client . ReferencesCommandMode !== ReferencesCommandMode . Rename ) {
337- let callback : ( final : boolean , result : ReferencesResult ) => void = this . resultsCallback ;
338- this . resultsCallback = null ;
339- callback ( true , this . lastResult ) ;
340- this . lastResult = null ;
341- }
342- this . client . setReferencesCommandMode ( ReferencesCommandMode . None ) ;
343- break ;
344327 default :
345328 this . referencesCurrentProgress = notificationBody ;
346329 break ;
@@ -365,7 +348,7 @@ export class ReferencesManager {
365348 // If there are only Confirmed results, complete the rename immediately.
366349 let foundUnconfirmed : ReferenceInfo = referencesResult . referenceInfos . find ( e => e . type !== ReferenceType . Confirmed ) ;
367350 if ( ! foundUnconfirmed ) {
368- this . resultsCallback ( true , referencesResult ) ;
351+ this . resultsCallback ( referencesResult ) ;
369352 } else {
370353 this . renameView . show ( true ) ;
371354 this . renameView . setData ( referencesResult , this . resultsCallback ) ;
@@ -386,12 +369,24 @@ export class ReferencesManager {
386369 } else if ( this . client . ReferencesCommandMode === ReferencesCommandMode . Find ) {
387370 this . findAllRefsView . show ( true ) ;
388371 }
389- this . lastResult = referencesResult ;
390- this . resultsCallback ( false , referencesResult ) ;
372+ }
373+
374+ if ( referencesResult . isFinished ) {
375+ clearInterval ( this . referencesDelayProgress ) ;
376+ if ( this . currentUpdateProgressTimer ) {
377+ clearInterval ( this . currentUpdateProgressTimer ) ;
378+ this . currentUpdateProgressResolve ( ) ;
379+ this . currentUpdateProgressResolve = null ;
380+ this . currentUpdateProgressTimer = null ;
381+ }
382+ if ( this . client . ReferencesCommandMode !== ReferencesCommandMode . Rename ) {
383+ this . resultsCallback ( referencesResult ) ;
384+ }
385+ this . client . setReferencesCommandMode ( ReferencesCommandMode . None ) ;
391386 }
392387 }
393388
394- public setResultsCallback ( callback : ( final : boolean , results : ReferencesResult ) => void ) : void {
389+ public setResultsCallback ( callback : ( results : ReferencesResult ) => void ) : void {
395390 this . resultsCallback = callback ;
396391 }
397392
0 commit comments