@@ -10,6 +10,7 @@ import { isEqualOrParent } from 'vs/base/common/resources';
1010import { score } from 'vs/editor/common/languageSelector' ;
1111import { Emitter } from 'vs/base/common/event' ;
1212import { withNullAsUndefined } from 'vs/base/common/types' ;
13+ import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity' ;
1314
1415function createProviderComparer ( uri : URI ) : ( a : QuickDiffProvider , b : QuickDiffProvider ) => number {
1516 return ( a , b ) => {
@@ -43,6 +44,10 @@ export class QuickDiffService extends Disposable implements IQuickDiffService {
4344 private readonly _onDidChangeQuickDiffProviders = this . _register ( new Emitter < void > ( ) ) ;
4445 readonly onDidChangeQuickDiffProviders = this . _onDidChangeQuickDiffProviders . event ;
4546
47+ constructor ( @IUriIdentityService private readonly uriIdentityService : IUriIdentityService ) {
48+ super ( ) ;
49+ }
50+
4651 addQuickDiffProvider ( quickDiff : QuickDiffProvider ) : IDisposable {
4752 this . quickDiffProviders . add ( quickDiff ) ;
4853 this . _onDidChangeQuickDiffProviders . fire ( ) ;
@@ -60,7 +65,7 @@ export class QuickDiffService extends Disposable implements IQuickDiffService {
6065
6166 async getQuickDiffs ( uri : URI , language : string = '' , isSynchronized : boolean = false ) : Promise < QuickDiff [ ] > {
6267 const providers = Array . from ( this . quickDiffProviders )
63- . filter ( provider => ! provider . rootUri || isEqualOrParent ( uri , provider . rootUri ) )
68+ . filter ( provider => ! provider . rootUri || this . uriIdentityService . extUri . isEqualOrParent ( uri , provider . rootUri ) )
6469 . sort ( createProviderComparer ( uri ) ) ;
6570
6671 const diffs = await Promise . all ( providers . map ( async provider => {
0 commit comments