@@ -70,15 +70,18 @@ export async function activate(context: vscode.ExtensionContext) {
70
70
const trees : { [ uri : string ] : treeSitter . Tree } = { } ;
71
71
72
72
/**
73
- * FIXME: On newer vscode versions the latex Tree sitter parser throws memory errors
73
+ * FIXME: On newer vscode versions some Tree sitter parser throws memory errors
74
74
* https://github.com/cursorless-dev/cursorless/issues/2879
75
+ * https://github.com/cursorless-dev/vscode-parse-tree/issues/110
75
76
*/
76
- const disableLatex = semver . gte ( vscode . version , "1.98.0" ) ;
77
+ const disabledLanguages = semver . gte ( vscode . version , "1.98.0" )
78
+ ? new Set ( [ "latex" , "swift" ] )
79
+ : null ;
77
80
78
- const validateGetLatex = ( languageId : string ) => {
79
- if ( languageId === "latex" && disableLatex ) {
81
+ const validateGetLanguage = ( languageId : string ) => {
82
+ if ( disabledLanguages ?. has ( languageId ) ) {
80
83
throw new Error (
81
- "Latex is disabled on vscode versions >= 1.98.0. See https://github.com/cursorless-dev/cursorless/issues/2879"
84
+ ` ${ languageId } is disabled on vscode versions >= 1.98.0. See https://github.com/cursorless-dev/cursorless/issues/2879`
82
85
) ;
83
86
}
84
87
} ;
@@ -97,7 +100,7 @@ export async function activate(context: vscode.ExtensionContext) {
97
100
return true ;
98
101
}
99
102
100
- if ( languageId === "latex" && disableLatex ) {
103
+ if ( disabledLanguages ?. has ( languageId ) ) {
101
104
return false ;
102
105
}
103
106
@@ -263,7 +266,7 @@ export async function activate(context: vscode.ExtensionContext) {
263
266
const languageId = document . languageId ;
264
267
265
268
if ( languageId in languages ) {
266
- validateGetLatex ( document . languageId ) ;
269
+ validateGetLanguage ( document . languageId ) ;
267
270
throw new LanguageStillLoadingError ( languageId ) ;
268
271
} else {
269
272
throw new UnsupportedLanguageError ( languageId ) ;
@@ -283,7 +286,7 @@ export async function activate(context: vscode.ExtensionContext) {
283
286
console . warn (
284
287
"vscode-parse-tree: getLanguage is deprecated, use createQuery(languageId, source) instead."
285
288
) ;
286
- validateGetLatex ( languageId ) ;
289
+ validateGetLanguage ( languageId ) ;
287
290
return languages [ languageId ] ?. parser ?. language ?? undefined ;
288
291
} ,
289
292
@@ -293,7 +296,7 @@ export async function activate(context: vscode.ExtensionContext) {
293
296
) : treeSitter . Query | undefined {
294
297
const language = languages [ languageId ] ?. parser ?. language ;
295
298
if ( language == null ) {
296
- validateGetLatex ( languageId ) ;
299
+ validateGetLanguage ( languageId ) ;
297
300
return undefined ;
298
301
}
299
302
return new treeSitter . Query ( language , source ) ;
0 commit comments