diff --git a/src/vs/editor/common/model.ts b/src/vs/editor/common/model.ts index 8c7edd2e6f8925901777593ae15a609f3b2a30a8..b150ede69bb6f3a48650f6a4173bd2a893709be6 100644 --- a/src/vs/editor/common/model.ts +++ b/src/vs/editor/common/model.ts @@ -290,6 +290,7 @@ export const enum EndOfLineSequence { /** * An identifier for a single edit operation. + * @internal */ export interface ISingleEditOperationIdentifier { /** diff --git a/src/vs/editor/common/model/textModelEvents.ts b/src/vs/editor/common/model/textModelEvents.ts index fc84cb84f9345678f7e532a736766bda9325112f..11fc0e4165f6b386c5d212fe6d16aea8e0c56dc2 100644 --- a/src/vs/editor/common/model/textModelEvents.ts +++ b/src/vs/editor/common/model/textModelEvents.ts @@ -80,6 +80,7 @@ export interface IModelDecorationsChangedEvent { /** * An event describing that some ranges of lines have been tokenized (their tokens have changed). + * @internal */ export interface IModelTokensChangedEvent { readonly tokenizationSupportChanged: boolean; diff --git a/src/vs/editor/standalone/browser/standaloneLanguages.ts b/src/vs/editor/standalone/browser/standaloneLanguages.ts index 38ff152bdbba6a30e3d3add09fcd78f4734c6912..56a723a309ec37168c8d12ad5524f58277d8953f 100644 --- a/src/vs/editor/standalone/browser/standaloneLanguages.ts +++ b/src/vs/editor/standalone/browser/standaloneLanguages.ts @@ -496,6 +496,20 @@ export function registerSelectionRangeProvider(languageId: string, provider: mod return modes.SelectionRangeRegistry.register(languageId, provider); } +/** + * Register a document semantic tokens provider + */ +export function registerDocumentSemanticTokensProvider(languageId: string, provider: modes.DocumentSemanticTokensProvider): IDisposable { + return modes.DocumentSemanticTokensProviderRegistry.register(languageId, provider); +} + +/** + * Register a document range semantic tokens provider + */ +export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: modes.DocumentRangeSemanticTokensProvider): IDisposable { + return modes.DocumentRangeSemanticTokensProviderRegistry.register(languageId, provider); +} + /** * Contains additional diagnostic information about the context in which * a [code action](#CodeActionProvider.provideCodeActions) is run. @@ -558,6 +572,8 @@ export function createMonacoLanguagesAPI(): typeof monaco.languages { registerFoldingRangeProvider: registerFoldingRangeProvider, registerDeclarationProvider: registerDeclarationProvider, registerSelectionRangeProvider: registerSelectionRangeProvider, + registerDocumentSemanticTokensProvider: registerDocumentSemanticTokensProvider, + registerDocumentRangeSemanticTokensProvider: registerDocumentRangeSemanticTokensProvider, // enums DocumentHighlightKind: standaloneEnums.DocumentHighlightKind, diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 2290b759eb883b812d507d421866f965652a5ea6..c4aa3e031468ec72ddddf2e1ce15d5f504c7d146 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -1467,20 +1467,6 @@ declare namespace monaco.editor { CRLF = 1 } - /** - * An identifier for a single edit operation. - */ - export interface ISingleEditOperationIdentifier { - /** - * Identifier major - */ - major: number; - /** - * Identifier minor - */ - minor: number; - } - /** * A single edit operation, that acts as a simple replace. * i.e. Replace text at `range` with `text` in model. @@ -2379,23 +2365,6 @@ declare namespace monaco.editor { export interface IModelDecorationsChangedEvent { } - /** - * An event describing that some ranges of lines have been tokenized (their tokens have changed). - */ - export interface IModelTokensChangedEvent { - readonly tokenizationSupportChanged: boolean; - readonly ranges: { - /** - * The start of the range (inclusive) - */ - readonly fromLineNumber: number; - /** - * The end of the range (inclusive) - */ - readonly toLineNumber: number; - }[]; - } - export interface IModelOptionsChangedEvent { readonly tabSize: boolean; readonly indentSize: boolean; @@ -4907,6 +4876,16 @@ declare namespace monaco.languages { */ export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable; + /** + * Register a document semantic tokens provider + */ + export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable; + + /** + * Register a document range semantic tokens provider + */ + export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable; + /** * Contains additional diagnostic information about the context in which * a [code action](#CodeActionProvider.provideCodeActions) is run.