@@ -63,11 +63,10 @@ async function loadLanguage(langName: string, sourceDirectory?: string) {
6363 console . log ( `Successfully loaded ${ langName } from npm package` )
6464 return language
6565 } catch ( error ) {
66- console . warn (
67- `Warning: ${ langName } language parser has version incompatibility. ${ error instanceof Error ? error . message : error } ` ,
68- )
69- // Don't throw here, we'll handle this gracefully
70- console . warn ( `Skipping ${ langName } parser due to version incompatibility` )
66+ const errorMessage = error instanceof Error ? error . message : String ( error )
67+ console . error ( `Error: Failed to load ${ langName } parser from npm package. ${ errorMessage } ` )
68+ // Return null to indicate parser is not available
69+ // The calling code will handle this gracefully
7170 return null
7271 }
7372 }
@@ -256,20 +255,34 @@ export async function loadRequiredLanguageParsers(filesToParse: string[], source
256255 case "w" :
257256 case "cls" :
258257 parserKey = "abl" // Use same key for all ABL extensions
259- language = await loadLanguage ( "abl" , sourceDirectory )
260- if ( ! language ) {
261- console . warn ( `Skipping ABL parser for .${ ext } files due to compatibility issues` )
258+ try {
259+ language = await loadLanguage ( "abl" , sourceDirectory )
260+ if ( ! language ) {
261+ console . warn ( `ABL parser not available for .${ ext } files - skipping` )
262+ continue // Skip this extension
263+ }
264+ query = new Query ( language , ablQuery )
265+ } catch ( error ) {
266+ console . warn (
267+ `Failed to load ABL parser for .${ ext } files: ${ error instanceof Error ? error . message : error } ` ,
268+ )
262269 continue // Skip this extension
263270 }
264- query = new Query ( language , ablQuery )
265271 break
266272 case "df" :
267- language = await loadLanguage ( "df" , sourceDirectory )
268- if ( ! language ) {
269- console . warn ( `Skipping DF parser for .${ ext } files due to compatibility issues` )
273+ try {
274+ language = await loadLanguage ( "df" , sourceDirectory )
275+ if ( ! language ) {
276+ console . warn ( `DF parser not available for .${ ext } files - skipping` )
277+ continue // Skip this extension
278+ }
279+ query = new Query ( language , dfQuery )
280+ } catch ( error ) {
281+ console . warn (
282+ `Failed to load DF parser for .${ ext } files: ${ error instanceof Error ? error . message : error } ` ,
283+ )
270284 continue // Skip this extension
271285 }
272- query = new Query ( language , dfQuery )
273286 break
274287 default :
275288 throw new Error ( `Unsupported language: ${ ext } ` )
0 commit comments