Fix issue where we fail to consider legacy Tree-sitter grammars…

…if the user has opted into them via _only_ a scope-specific setting.
This commit is contained in:
Andrew Dupont 2024-03-02 17:31:32 -08:00
parent ab6f08101d
commit fd37c4dcbf

View File

@ -770,18 +770,16 @@ module.exports = class GrammarRegistry {
let result = this.textmateRegistry.getGrammars(); let result = this.textmateRegistry.getGrammars();
if (!(params && params.includeTreeSitter)) return result; if (!(params && params.includeTreeSitter)) return result;
let includeLegacyTreeSitterGrammars =
atom.config.get('core.useLegacyTreeSitter') === true;
let modernTsGrammars = Object.values(this.wasmTreeSitterGrammarsById) let modernTsGrammars = Object.values(this.wasmTreeSitterGrammarsById)
.filter(g => g.scopeName); .filter(g => g.scopeName);
result = result.concat(modernTsGrammars); result = result.concat(modernTsGrammars);
if (includeLegacyTreeSitterGrammars) { // We must include all legacy Tree-sitter grammars here just in case the
const legacyTsGrammars = Object.values(this.treeSitterGrammarsById) // user has opted into `useTreeSitterGrammars` via a scope-specific
.filter(g => g.scopeName); // setting.
result = result.concat(legacyTsGrammars); const legacyTsGrammars = Object.values(this.treeSitterGrammarsById)
} .filter(g => g.scopeName);
result = result.concat(legacyTsGrammars);
return result; return result;
} }