@@ -10,6 +10,7 @@ import { isEqualOrParent } from 'vs/base/common/resources';
10
10
import { score } from 'vs/editor/common/languageSelector' ;
11
11
import { Emitter } from 'vs/base/common/event' ;
12
12
import { withNullAsUndefined } from 'vs/base/common/types' ;
13
+ import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity' ;
13
14
14
15
function createProviderComparer ( uri : URI ) : ( a : QuickDiffProvider , b : QuickDiffProvider ) => number {
15
16
return ( a , b ) => {
@@ -43,6 +44,10 @@ export class QuickDiffService extends Disposable implements IQuickDiffService {
43
44
private readonly _onDidChangeQuickDiffProviders = this . _register ( new Emitter < void > ( ) ) ;
44
45
readonly onDidChangeQuickDiffProviders = this . _onDidChangeQuickDiffProviders . event ;
45
46
47
+ constructor ( @IUriIdentityService private readonly uriIdentityService : IUriIdentityService ) {
48
+ super ( ) ;
49
+ }
50
+
46
51
addQuickDiffProvider ( quickDiff : QuickDiffProvider ) : IDisposable {
47
52
this . quickDiffProviders . add ( quickDiff ) ;
48
53
this . _onDidChangeQuickDiffProviders . fire ( ) ;
@@ -60,7 +65,7 @@ export class QuickDiffService extends Disposable implements IQuickDiffService {
60
65
61
66
async getQuickDiffs ( uri : URI , language : string = '' , isSynchronized : boolean = false ) : Promise < QuickDiff [ ] > {
62
67
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 ) )
64
69
. sort ( createProviderComparer ( uri ) ) ;
65
70
66
71
const diffs = await Promise . all ( providers . map ( async provider => {
0 commit comments