@@ -202,6 +202,9 @@ class DecorationManagerForPURL {
202202 // we don't need to watch for builtin or local packages
203203 this . isBuiltin = isBuiltin ( name , eco )
204204 this . isLocalPackage = isLocalPackage ( name , eco ) ;
205+ if ( this . isBuiltin || this . isLocalPackage ) {
206+ return
207+ }
205208 this . subscriptionCallback = ( ( data ) => {
206209 this . packageData = data ;
207210 this . #eagerDecoration( ) ;
@@ -380,7 +383,10 @@ class DecorationManagerForDocument {
380383 this . currentDocUpdate . abort ( ) ;
381384 this . currentDocUpdate = new AbortController ( ) ;
382385 const thisDocUpdateSignal = this . currentDocUpdate . signal ;
383- const externals = await parseExternals ( doc ) ;
386+ let externals ;
387+ try {
388+ externals = await parseExternals ( doc ) ;
389+ } catch { }
384390 if ( ! externals ) return ;
385391 logger . debug ( `Parsed externals for ${ docURI } :` , externals . size , 'externals found, aborted:' , thisDocUpdateSignal . aborted ) ;
386392 logger . debug ( [ ...externals . keys ( ) ] . join ( ', ' ) ) ;
@@ -482,11 +488,11 @@ class DecorationManagerForDocument {
482488 }
483489}
484490const 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 {
487493 eco : string ;
488494 name : string ;
489- }
495+ } ) ?? { eco : 'unknown' , name : 'unknown' }
490496}
491497/**
492498 * VSCode makes strong guarantee about 1<->1 text document URI to TextDocument mapping.
0 commit comments