@@ -39,13 +39,23 @@ for (const languageId of languagesIds) {
39
39
40
40
monaco . languages . setTokenizationSupportFactory ( languageId , {
41
41
createTokenizationSupport : async ( ) => {
42
- return getOrCreateTextMateTokensProvider ( languageId ) . catch ( async err => {
42
+ return getOrCreateTextMateTokensProvider ( languageId ) . catch ( async ( error : Error ) => {
43
43
const monarchLoader = monarchLanguageLoader [ languageId ]
44
44
if ( monarchLoader != null ) {
45
- console . warn ( `Failed to load TextMate grammar for language ${ languageId } , fallback to monarch` , err )
46
- monaco . languages . setMonarchTokensProvider ( languageId , ( await monarchLoader ( ) ) . language )
45
+ monaco . errorHandler . onUnexpectedError ( new Error ( `Failed to load TextMate grammar for language ${ languageId } , fallback to monarch` , {
46
+ cause : error
47
+ } ) )
48
+ try {
49
+ monaco . languages . setMonarchTokensProvider ( languageId , ( await monarchLoader ( ) ) . language )
50
+ } catch ( error ) {
51
+ monaco . errorHandler . onUnexpectedError ( new Error ( `Failed to load Monarch grammar for language ${ languageId } ` , {
52
+ cause : error as Error
53
+ } ) )
54
+ }
47
55
} else {
48
- console . warn ( `Failed to load TextMate grammar for language ${ languageId } and no fallback monarch` , err )
56
+ monaco . errorHandler . onUnexpectedError ( new Error ( `Failed to load TextMate grammar for language ${ languageId } and no fallback monarch` , {
57
+ cause : error
58
+ } ) )
49
59
}
50
60
return null
51
61
} )
@@ -87,7 +97,9 @@ languageService.onDidEncounterLanguage(async (languageId) => {
87
97
}
88
98
89
99
loadLanguageConfiguration ( languageId ) . catch ( error => {
90
- console . error ( 'Unable to load language configuration' , error )
100
+ monaco . errorHandler . onUnexpectedError ( new Error ( `Unable to load language configuration for language ${ languageId } ` , {
101
+ cause : error
102
+ } ) )
91
103
} )
92
104
} )
93
105
0 commit comments