import { Event } from "../../../../base/common/event.js"; import { IPosition } from "../../core/position.js"; import { Range } from "../../core/range.js"; import { IWordAtPosition } from "../../core/wordHelper.js"; import { StandardTokenType } from "../../encodedTokenAttributes.js"; import { ILanguageService } from "../../languages/language.service.js"; import { LanguageConfigurationServiceChangeEvent } from "../../languages/languageConfigurationRegistry.js"; import { ILanguageConfigurationService } from "../../languages/languageConfigurationRegistry.service.js"; import { BracketPairsTextModelPart } from "../bracketPairsTextModelPart/bracketPairsImpl.js"; import { TextModel } from "../textModel.js"; import { TextModelPart } from "../textModelPart.js"; import { AbstractSyntaxTokenBackend, AttachedViews } from "./abstractSyntaxTokenBackend.js"; import { IModelContentChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelTokensChangedEvent, IModelFontTokensChangedEvent } from "../../textModelEvents.js"; import { ITokenizationTextModelPart } from "../../tokenizationTextModelPart.js"; import { LineTokens } from "../../tokens/lineTokens.js"; import { SparseMultilineTokens } from "../../tokens/sparseMultilineTokens.js"; import { IInstantiationService } from "../../../../platform/instantiation/common/instantiation.js"; import { ITreeSitterLibraryService } from "../../services/treeSitter/treeSitterLibraryService.service.js"; import { IObservable } from "../../../../base/common/observable.js"; export declare class TokenizationTextModelPart extends TextModelPart implements ITokenizationTextModelPart { private readonly _textModel; private readonly _bracketPairsTextModelPart; private _languageId; private readonly _attachedViews; private readonly _languageService; private readonly _languageConfigurationService; private readonly _instantiationService; private readonly _treeSitterLibraryService; private readonly _semanticTokens; private readonly _onDidChangeLanguage; readonly onDidChangeLanguage: Event; private readonly _onDidChangeLanguageConfiguration; readonly onDidChangeLanguageConfiguration: Event; private readonly _onDidChangeTokens; readonly onDidChangeTokens: Event; private readonly _onDidChangeFontTokens; readonly onDidChangeFontTokens: Event; readonly tokens: IObservable; private readonly _useTreeSitter; private readonly _languageIdObs; constructor(_textModel: TextModel, _bracketPairsTextModelPart: BracketPairsTextModelPart, _languageId: string, _attachedViews: AttachedViews, _languageService: ILanguageService, _languageConfigurationService: ILanguageConfigurationService, _instantiationService: IInstantiationService, _treeSitterLibraryService: ITreeSitterLibraryService); _hasListeners(): boolean; handleLanguageConfigurationServiceChange(e: LanguageConfigurationServiceChangeEvent): void; handleDidChangeContent(e: IModelContentChangedEvent): void; handleDidChangeAttached(): void; /** * Includes grammar and semantic tokens. */ getLineTokens(lineNumber: number): LineTokens; private _emitModelTokensChangedEvent; private validateLineNumber; get hasTokens(): boolean; resetTokenization(): void; get backgroundTokenizationState(): import("../../tokenizationTextModelPart.js").BackgroundTokenizationState; forceTokenization(lineNumber: number): void; hasAccurateTokensForLine(lineNumber: number): boolean; isCheapToTokenize(lineNumber: number): boolean; tokenizeIfCheap(lineNumber: number): void; getTokenTypeIfInsertingCharacter(lineNumber: number, column: number, character: string): StandardTokenType; tokenizeLinesAt(lineNumber: number, lines: string[]): LineTokens[] | null; setSemanticTokens(tokens: SparseMultilineTokens[] | null, isComplete: boolean): void; hasCompleteSemanticTokens(): boolean; hasSomeSemanticTokens(): boolean; setPartialSemanticTokens(range: Range, tokens: SparseMultilineTokens[]): void; getWordAtPosition(_position: IPosition): IWordAtPosition | null; private getLanguageConfiguration; private static _findLanguageBoundaries; getWordUntilPosition(position: IPosition): IWordAtPosition; getLanguageId(): string; getLanguageIdAtPosition(lineNumber: number, column: number): string; setLanguageId(languageId: string, source?: string): void; }