@@ -202,6 +202,9 @@ class DecorationManagerForPURL {
202
202
// we don't need to watch for builtin or local packages
203
203
this . isBuiltin = isBuiltin ( name , eco )
204
204
this . isLocalPackage = isLocalPackage ( name , eco ) ;
205
+ if ( this . isBuiltin || this . isLocalPackage ) {
206
+ return
207
+ }
205
208
this . subscriptionCallback = ( ( data ) => {
206
209
this . packageData = data ;
207
210
this . #eagerDecoration( ) ;
@@ -380,7 +383,10 @@ class DecorationManagerForDocument {
380
383
this . currentDocUpdate . abort ( ) ;
381
384
this . currentDocUpdate = new AbortController ( ) ;
382
385
const thisDocUpdateSignal = this . currentDocUpdate . signal ;
383
- const externals = await parseExternals ( doc ) ;
386
+ let externals ;
387
+ try {
388
+ externals = await parseExternals ( doc ) ;
389
+ } catch { }
384
390
if ( ! externals ) return ;
385
391
logger . debug ( `Parsed externals for ${ docURI } :` , externals . size , 'externals found, aborted:' , thisDocUpdateSignal . aborted ) ;
386
392
logger . debug ( [ ...externals . keys ( ) ] . join ( ', ' ) ) ;
@@ -482,11 +488,11 @@ class DecorationManagerForDocument {
482
488
}
483
489
}
484
490
const getPURLParts = ( purl : SimPURL ) => {
485
- const groups = / ^ p k g : (?< eco > [ ^ \/ ] + ) \/ (?< name > .+ ) $ / v. exec ( purl ) ?. groups
486
- return groups as {
491
+ const groups = / ^ p k g : (?< eco > [ ^ \/ ] + ) \/ (?< name > .* ) $ / v. exec ( purl ) ?. groups
492
+ return ( groups as {
487
493
eco : string ;
488
494
name : string ;
489
- }
495
+ } ) ?? { eco : 'unknown' , name : 'unknown' }
490
496
}
491
497
/**
492
498
* VSCode makes strong guarantee about 1<->1 text document URI to TextDocument mapping.
0 commit comments