Generate scopes only once when matching against token types

This commit is contained in:
Alex Dima 2021-10-28 17:36:22 +02:00
Родитель 0a879dd759
Коммит f6ed7121f4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 39563C1504FDD0C9
4 изменённых файлов: 8 добавлений и 6 удалений

1
release/main.d.ts поставляемый
Просмотреть файл

@ -84,7 +84,6 @@ export declare class Registry {
loadGrammar(initialScopeName: string): Promise<IGrammar | null>;
private _doLoadSingleGrammar;
private _loadSingleGrammar;
private _collectDependenciesForDep;
private _loadGrammar;
/**
* Adds a rawGrammar.

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1636,9 +1636,12 @@ class LineTokens {
if (this._emitBinaryTokens) {
let metadata = scopesList.metadata;
for (const tokenType of this._tokenTypeOverrides) {
if (tokenType.matcher(scopesList.generateScopes())) {
metadata = StackElementMetadata.set(metadata, 0, toTemporaryType(tokenType.type), FontStyle.NotSet, 0, 0);
if (this._tokenTypeOverrides.length > 0) {
const scopes = scopesList.generateScopes();
for (const tokenType of this._tokenTypeOverrides) {
if (tokenType.matcher(scopes)) {
metadata = StackElementMetadata.set(metadata, 0, toTemporaryType(tokenType.type), FontStyle.NotSet, 0, 0);
}
}
}