Split tokensStore into multiple files

This commit is contained in:
Alex Dima
2021-12-30 18:27:49 +01:00
parent 0934918daf
commit 1bc85eb39b
41 changed files with 1656 additions and 1531 deletions

View File

@@ -19,7 +19,7 @@ import { TextMateWorker } from 'vs/workbench/services/textMate/browser/textMateW
import { ITextModel } from 'vs/editor/common/model';
import { Disposable } from 'vs/base/common/lifecycle';
import { UriComponents, URI } from 'vs/base/common/uri';
import { MultilineTokensBuilder } from 'vs/editor/common/model/tokensStore';
import { ContiguousMultilineTokensBuilder } from 'vs/editor/common/model/tokens/contiguousMultilineTokensBuilder';
import { TMGrammarFactory } from 'vs/workbench/services/textMate/common/TMGrammarFactory';
import { IModelContentChangedEvent } from 'vs/editor/common/model/textModelEvents';
import { IExtensionResourceLoaderService } from 'vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader';
@@ -109,7 +109,7 @@ class ModelWorkerTextMateTokenizer extends Disposable {
public setTokens(versionId: number, rawTokens: ArrayBuffer): void {
this._confirm(versionId);
const tokens = MultilineTokensBuilder.deserialize(new Uint8Array(rawTokens));
const tokens = ContiguousMultilineTokensBuilder.deserialize(new Uint8Array(rawTokens));
for (let i = 0; i < this._pendingChanges.length; i++) {
const change = this._pendingChanges[i];

View File

@@ -5,7 +5,7 @@
import { Event } from 'vs/base/common/event';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { IGrammar } from 'vscode-textmate';
import type { IGrammar } from 'vscode-textmate';
export const ITextMateService = createDecorator<ITextMateService>('textMateService');

View File

@@ -12,8 +12,9 @@ import { IModelChangedEvent, MirrorTextModel } from 'vs/editor/common/model/mirr
import { TextMateWorkerHost } from 'vs/workbench/services/textMate/browser/nativeTextMateService';
import { TokenizationStateStore } from 'vs/editor/common/model/textModelTokens';
import type { IGrammar, StackElement, IRawTheme, IOnigLib } from 'vscode-textmate';
import { MultilineTokensBuilder, countEOL } from 'vs/editor/common/model/tokensStore';
import { LineTokens } from 'vs/editor/common/core/lineTokens';
import { ContiguousMultilineTokensBuilder } from 'vs/editor/common/model/tokens/contiguousMultilineTokensBuilder';
import { countEOL } from 'vs/editor/common/model/pieceTreeTextBuffer/eolCounter';
import { LineTokens } from 'vs/editor/common/model/tokens/lineTokens';
import { FileAccess } from 'vs/base/common/network';
export interface IValidGrammarDefinitionDTO {
@@ -100,7 +101,7 @@ class TextMateWorkerModel extends MirrorTextModel {
if (!this._grammar) {
return;
}
const builder = new MultilineTokensBuilder();
const builder = new ContiguousMultilineTokensBuilder();
const lineCount = this._lines.length;
// Validate all states up to and including endLineIndex