@@ -1275,18 +1275,26 @@ export class FolderMatch extends Disposable {
1275
1275
1276
1276
export class FolderMatchWithResource extends FolderMatch {
1277
1277
1278
+ protected _normalizedResource : Lazy < URI > ;
1279
+
1278
1280
constructor ( _resource : URI , _id : string , _index : number , _query : ITextQuery , _parent : SearchResult | FolderMatch , _searchModel : SearchModel , _closestRoot : FolderMatchWorkspaceRoot | null ,
1279
1281
@IReplaceService replaceService : IReplaceService ,
1280
1282
@IInstantiationService instantiationService : IInstantiationService ,
1281
1283
@ILabelService labelService : ILabelService ,
1282
1284
@IUriIdentityService uriIdentityService : IUriIdentityService
1283
1285
) {
1284
1286
super ( _resource , _id , _index , _query , _parent , _searchModel , _closestRoot , replaceService , instantiationService , labelService , uriIdentityService ) ;
1287
+ this . _normalizedResource = new Lazy ( ( ) => this . uriIdentityService . extUri . removeTrailingPathSeparator ( this . uriIdentityService . extUri . normalizePath (
1288
+ this . resource ) ) ) ;
1285
1289
}
1286
1290
1287
1291
override get resource ( ) : URI {
1288
1292
return this . _resource ! ;
1289
1293
}
1294
+
1295
+ get normalizedResource ( ) : URI {
1296
+ return this . _normalizedResource . value ;
1297
+ }
1290
1298
}
1291
1299
1292
1300
/**
@@ -1334,15 +1342,14 @@ export class FolderMatchWorkspaceRoot extends FolderMatchWithResource {
1334
1342
}
1335
1343
1336
1344
const fileMatchParentParts : URI [ ] = [ ] ;
1337
- const normalizedResource = this . uriIdentityService . extUri . normalizePath ( this . resource ) ;
1338
1345
let uri = this . normalizedUriParent ( rawFileMatch . resource ) ;
1339
1346
1340
- while ( ! this . uriEquals ( normalizedResource , uri ) ) {
1347
+ while ( ! this . uriEquals ( this . normalizedResource , uri ) ) {
1341
1348
fileMatchParentParts . unshift ( uri ) ;
1342
1349
const prevUri = uri ;
1343
- uri = this . normalizedUriParent ( uri ) ;
1350
+ uri = this . uriIdentityService . extUri . removeTrailingPathSeparator ( this . normalizedUriParent ( uri ) ) ;
1344
1351
if ( this . uriEquals ( prevUri , uri ) ) {
1345
- throw Error ( `${ rawFileMatch . resource } is not correctly configured as a child of ${ normalizedResource } ` ) ;
1352
+ throw Error ( `${ rawFileMatch . resource } is not correctly configured as a child of ${ this . normalizedResource } ` ) ;
1346
1353
}
1347
1354
}
1348
1355
0 commit comments