Adopt latest monaco-editor-core

This commit is contained in:
Alex Dima 2021-12-29 01:08:27 +01:00
parent 6e73daa1d2
commit 3a58c2a6ba
No known key found for this signature in database
GPG key ID: 39563C1504FDD0C9
6 changed files with 184 additions and 117 deletions

View file

@ -97,25 +97,25 @@ declare namespace monaco {
export class Uri implements UriComponents {
static isUri(thing: any): thing is Uri;
/**
* scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
* scheme is the 'http' part of 'http://www.example.com/some/path?query#fragment'.
* The part before the first colon.
*/
readonly scheme: string;
/**
* authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
* authority is the 'www.example.com' part of 'http://www.example.com/some/path?query#fragment'.
* The part between the first double slashes and the next slash.
*/
readonly authority: string;
/**
* path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
* path is the '/some/path' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly path: string;
/**
* query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
* query is the 'query' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly query: string;
/**
* fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
* fragment is the 'fragment' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly fragment: string;
/**
@ -151,7 +151,7 @@ declare namespace monaco {
fragment?: string | null;
}): Uri;
/**
* Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
* Creates a new Uri from a string, e.g. `http://www.example.com/some/path`,
* `file:///usr/home`, or `scheme:with/path`.
*
* @param value A string which represents an Uri (see `Uri#toString`).
@ -2041,32 +2041,32 @@ declare namespace monaco.editor {
* An event emitted when decorations of the model have changed.
* @event
*/
onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
readonly onDidChangeDecorations: IEvent<IModelDecorationsChangedEvent>;
/**
* An event emitted when the model options have changed.
* @event
*/
onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
readonly onDidChangeOptions: IEvent<IModelOptionsChangedEvent>;
/**
* An event emitted when the language associated with the model has changed.
* @event
*/
onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
readonly onDidChangeLanguage: IEvent<IModelLanguageChangedEvent>;
/**
* An event emitted when the language configuration associated with the model has changed.
* @event
*/
onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
readonly onDidChangeLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
/**
* An event emitted when the model has been attached to the first editor or detached from the last editor.
* @event
*/
onDidChangeAttached(listener: () => void): IDisposable;
readonly onDidChangeAttached: IEvent<void>;
/**
* An event emitted right before disposing the model.
* @event
*/
onWillDispose(listener: () => void): IDisposable;
readonly onWillDispose: IEvent<void>;
/**
* Destroy this model.
*/
@ -3888,10 +3888,12 @@ declare namespace monaco.editor {
invisibleCharacters?: boolean;
ambiguousCharacters?: boolean;
includeComments?: boolean | InUntrustedWorkspace;
includeStrings?: boolean | InUntrustedWorkspace;
/**
* A map of allowed characters (true: allowed).
*/
allowedCharacters?: Record<string, true>;
allowedLocales?: Record<string | '_os' | '_vscode', true>;
}
export interface IInlineSuggestOptions {
@ -4772,140 +4774,140 @@ declare namespace monaco.editor {
* An event emitted when the content of the current model has changed.
* @event
*/
onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
readonly onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
/**
* An event emitted when the language of the current model has changed.
* @event
*/
onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
readonly onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
/**
* An event emitted when the language configuration of the current model has changed.
* @event
*/
onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
readonly onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
/**
* An event emitted when the options of the current model has changed.
* @event
*/
onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
readonly onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
/**
* An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
* @event
*/
onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
readonly onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
/**
* An event emitted when the cursor position has changed.
* @event
*/
onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
readonly onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
/**
* An event emitted when the cursor selection has changed.
* @event
*/
onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
readonly onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
/**
* An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
* @event
*/
onDidChangeModel: IEvent<IModelChangedEvent>;
readonly onDidChangeModel: IEvent<IModelChangedEvent>;
/**
* An event emitted when the decorations of the current model have changed.
* @event
*/
onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
readonly onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
/**
* An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
* @event
*/
onDidFocusEditorText(listener: () => void): IDisposable;
readonly onDidFocusEditorText: IEvent<void>;
/**
* An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
* @event
*/
onDidBlurEditorText(listener: () => void): IDisposable;
readonly onDidBlurEditorText: IEvent<void>;
/**
* An event emitted when the text inside this editor or an editor widget gained focus.
* @event
*/
onDidFocusEditorWidget(listener: () => void): IDisposable;
readonly onDidFocusEditorWidget: IEvent<void>;
/**
* An event emitted when the text inside this editor or an editor widget lost focus.
* @event
*/
onDidBlurEditorWidget(listener: () => void): IDisposable;
readonly onDidBlurEditorWidget: IEvent<void>;
/**
* An event emitted after composition has started.
*/
onDidCompositionStart(listener: () => void): IDisposable;
readonly onDidCompositionStart: IEvent<void>;
/**
* An event emitted after composition has ended.
*/
onDidCompositionEnd(listener: () => void): IDisposable;
readonly onDidCompositionEnd: IEvent<void>;
/**
* An event emitted when editing failed because the editor is read-only.
* @event
*/
onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
readonly onDidAttemptReadOnlyEdit: IEvent<void>;
/**
* An event emitted when users paste text in the editor.
* @event
*/
onDidPaste: IEvent<IPasteEvent>;
readonly onDidPaste: IEvent<IPasteEvent>;
/**
* An event emitted on a "mouseup".
* @event
*/
onMouseUp: IEvent<IEditorMouseEvent>;
readonly onMouseUp: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mousedown".
* @event
*/
onMouseDown: IEvent<IEditorMouseEvent>;
readonly onMouseDown: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "contextmenu".
* @event
*/
onContextMenu: IEvent<IEditorMouseEvent>;
readonly onContextMenu: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mousemove".
* @event
*/
onMouseMove: IEvent<IEditorMouseEvent>;
readonly onMouseMove: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mouseleave".
* @event
*/
onMouseLeave: IEvent<IPartialEditorMouseEvent>;
readonly onMouseLeave: IEvent<IPartialEditorMouseEvent>;
/**
* An event emitted on a "keyup".
* @event
*/
onKeyUp: IEvent<IKeyboardEvent>;
readonly onKeyUp: IEvent<IKeyboardEvent>;
/**
* An event emitted on a "keydown".
* @event
*/
onKeyDown: IEvent<IKeyboardEvent>;
readonly onKeyDown: IEvent<IKeyboardEvent>;
/**
* An event emitted when the layout of the editor has changed.
* @event
*/
onDidLayoutChange: IEvent<EditorLayoutInfo>;
readonly onDidLayoutChange: IEvent<EditorLayoutInfo>;
/**
* An event emitted when the content width or content height in the editor has changed.
* @event
*/
onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
readonly onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
/**
* An event emitted when the scroll in the editor has changed.
* @event
*/
onDidScrollChange: IEvent<IScrollEvent>;
readonly onDidScrollChange: IEvent<IScrollEvent>;
/**
* An event emitted when hidden areas change in the editor (e.g. due to folding).
* @event
*/
onDidChangeHiddenAreas: IEvent<void>;
readonly onDidChangeHiddenAreas: IEvent<void>;
/**
* Saves current view state of the editor in a serializable object.
*/
@ -4923,7 +4925,7 @@ declare namespace monaco.editor {
* @id Unique identifier of the contribution.
* @return The contribution or null if contribution not found.
*/
getContribution<T extends IEditorContribution>(id: string): T;
getContribution<T extends IEditorContribution>(id: string): T | null;
/**
* Type the getModel() of IEditor.
*/
@ -5154,7 +5156,7 @@ declare namespace monaco.editor {
* An event emitted when the diff information computed by this diff editor has been updated.
* @event
*/
onDidUpdateDiff(listener: () => void): IDisposable;
readonly onDidUpdateDiff: IEvent<void>;
/**
* Saves current view state of the editor in a serializable object.
*/
@ -5297,11 +5299,11 @@ declare namespace monaco.languages {
* 3322 2222 2222 1111 1111 1100 0000 0000
* 1098 7654 3210 9876 5432 1098 7654 3210
* - -------------------------------------------
* bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
* bbbb bbbb bfff ffff ffFF FFTT LLLL LLLL
* - -------------------------------------------
* - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
* - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
* - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
* - T = StandardTokenType (2 bits): Other = 0, Comment = 1, String = 2, RegEx = 3.
* - F = FontStyle (4 bits): None = 0, Italic = 1, Bold = 2, Underline = 4, Strikethrough = 8.
* - f = foreground ColorId (9 bits)
* - b = background ColorId (9 bits)
* - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
@ -5316,6 +5318,13 @@ declare namespace monaco.languages {
endState: IState;
}
/**
* A factory for token providers.
*/
export interface TokensProviderFactory {
create(): ProviderResult<TokensProvider | EncodedTokensProvider | IMonarchLanguage>;
}
/**
* A "manual" provider of tokens.
*/
@ -5355,12 +5364,25 @@ declare namespace monaco.languages {
export function setColorMap(colorMap: string[] | null): void;
/**
* Set the tokens provider for a language (manual implementation).
* Register a tokens provider factory for a language. This tokenizer will be exclusive with a tokenizer
* set using `setTokensProvider` or one created using `setMonarchTokensProvider`, but will work together
* with a tokens provider set using `registerDocumentSemanticTokensProvider` or `registerDocumentRangeSemanticTokensProvider`.
*/
export function registerTokensProviderFactory(languageId: string, factory: TokensProviderFactory): IDisposable;
/**
* Set the tokens provider for a language (manual implementation). This tokenizer will be exclusive
* with a tokenizer created using `setMonarchTokensProvider`, or with `registerTokensProviderFactory`,
* but will work together with a tokens provider set using `registerDocumentSemanticTokensProvider`
* or `registerDocumentRangeSemanticTokensProvider`.
*/
export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
/**
* Set the tokens provider for a language (monarch implementation).
* Set the tokens provider for a language (monarch implementation). This tokenizer will be exclusive
* with a tokenizer set using `setTokensProvider`, or with `registerTokensProviderFactory`, but will
* work together with a tokens provider set using `registerDocumentSemanticTokensProvider` or
* `registerDocumentRangeSemanticTokensProvider`.
*/
export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
@ -5470,12 +5492,20 @@ declare namespace monaco.languages {
export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
/**
* Register a document semantic tokens provider
* Register a document semantic tokens provider. A semantic tokens provider will complement and enhance a
* simple top-down tokenizer. Simple top-down tokenizers can be set either via `setMonarchTokensProvider`
* or `setTokensProvider`.
*
* For the best user experience, register both a semantic tokens provider and a top-down tokenizer.
*/
export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
/**
* Register a document range semantic tokens provider
* Register a document range semantic tokens provider. A semantic tokens provider will complement and enhance a
* simple top-down tokenizer. Simple top-down tokenizers can be set either via `setMonarchTokensProvider`
* or `setTokensProvider`.
*
* For the best user experience, register both a semantic tokens provider and a top-down tokenizer.
*/
export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;

View file

@ -97,25 +97,25 @@ declare namespace monaco {
export class Uri implements UriComponents {
static isUri(thing: any): thing is Uri;
/**
* scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
* scheme is the 'http' part of 'http://www.example.com/some/path?query#fragment'.
* The part before the first colon.
*/
readonly scheme: string;
/**
* authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
* authority is the 'www.example.com' part of 'http://www.example.com/some/path?query#fragment'.
* The part between the first double slashes and the next slash.
*/
readonly authority: string;
/**
* path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
* path is the '/some/path' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly path: string;
/**
* query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
* query is the 'query' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly query: string;
/**
* fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
* fragment is the 'fragment' part of 'http://www.example.com/some/path?query#fragment'.
*/
readonly fragment: string;
/**
@ -151,7 +151,7 @@ declare namespace monaco {
fragment?: string | null;
}): Uri;
/**
* Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
* Creates a new Uri from a string, e.g. `http://www.example.com/some/path`,
* `file:///usr/home`, or `scheme:with/path`.
*
* @param value A string which represents an Uri (see `Uri#toString`).
@ -2041,32 +2041,32 @@ declare namespace monaco.editor {
* An event emitted when decorations of the model have changed.
* @event
*/
onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
readonly onDidChangeDecorations: IEvent<IModelDecorationsChangedEvent>;
/**
* An event emitted when the model options have changed.
* @event
*/
onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
readonly onDidChangeOptions: IEvent<IModelOptionsChangedEvent>;
/**
* An event emitted when the language associated with the model has changed.
* @event
*/
onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
readonly onDidChangeLanguage: IEvent<IModelLanguageChangedEvent>;
/**
* An event emitted when the language configuration associated with the model has changed.
* @event
*/
onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
readonly onDidChangeLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
/**
* An event emitted when the model has been attached to the first editor or detached from the last editor.
* @event
*/
onDidChangeAttached(listener: () => void): IDisposable;
readonly onDidChangeAttached: IEvent<void>;
/**
* An event emitted right before disposing the model.
* @event
*/
onWillDispose(listener: () => void): IDisposable;
readonly onWillDispose: IEvent<void>;
/**
* Destroy this model.
*/
@ -3888,10 +3888,12 @@ declare namespace monaco.editor {
invisibleCharacters?: boolean;
ambiguousCharacters?: boolean;
includeComments?: boolean | InUntrustedWorkspace;
includeStrings?: boolean | InUntrustedWorkspace;
/**
* A map of allowed characters (true: allowed).
*/
allowedCharacters?: Record<string, true>;
allowedLocales?: Record<string | '_os' | '_vscode', true>;
}
export interface IInlineSuggestOptions {
@ -4772,140 +4774,140 @@ declare namespace monaco.editor {
* An event emitted when the content of the current model has changed.
* @event
*/
onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
readonly onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
/**
* An event emitted when the language of the current model has changed.
* @event
*/
onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
readonly onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
/**
* An event emitted when the language configuration of the current model has changed.
* @event
*/
onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
readonly onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
/**
* An event emitted when the options of the current model has changed.
* @event
*/
onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
readonly onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
/**
* An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
* @event
*/
onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
readonly onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
/**
* An event emitted when the cursor position has changed.
* @event
*/
onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
readonly onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
/**
* An event emitted when the cursor selection has changed.
* @event
*/
onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
readonly onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
/**
* An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
* @event
*/
onDidChangeModel: IEvent<IModelChangedEvent>;
readonly onDidChangeModel: IEvent<IModelChangedEvent>;
/**
* An event emitted when the decorations of the current model have changed.
* @event
*/
onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
readonly onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
/**
* An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
* @event
*/
onDidFocusEditorText(listener: () => void): IDisposable;
readonly onDidFocusEditorText: IEvent<void>;
/**
* An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
* @event
*/
onDidBlurEditorText(listener: () => void): IDisposable;
readonly onDidBlurEditorText: IEvent<void>;
/**
* An event emitted when the text inside this editor or an editor widget gained focus.
* @event
*/
onDidFocusEditorWidget(listener: () => void): IDisposable;
readonly onDidFocusEditorWidget: IEvent<void>;
/**
* An event emitted when the text inside this editor or an editor widget lost focus.
* @event
*/
onDidBlurEditorWidget(listener: () => void): IDisposable;
readonly onDidBlurEditorWidget: IEvent<void>;
/**
* An event emitted after composition has started.
*/
onDidCompositionStart(listener: () => void): IDisposable;
readonly onDidCompositionStart: IEvent<void>;
/**
* An event emitted after composition has ended.
*/
onDidCompositionEnd(listener: () => void): IDisposable;
readonly onDidCompositionEnd: IEvent<void>;
/**
* An event emitted when editing failed because the editor is read-only.
* @event
*/
onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
readonly onDidAttemptReadOnlyEdit: IEvent<void>;
/**
* An event emitted when users paste text in the editor.
* @event
*/
onDidPaste: IEvent<IPasteEvent>;
readonly onDidPaste: IEvent<IPasteEvent>;
/**
* An event emitted on a "mouseup".
* @event
*/
onMouseUp: IEvent<IEditorMouseEvent>;
readonly onMouseUp: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mousedown".
* @event
*/
onMouseDown: IEvent<IEditorMouseEvent>;
readonly onMouseDown: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "contextmenu".
* @event
*/
onContextMenu: IEvent<IEditorMouseEvent>;
readonly onContextMenu: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mousemove".
* @event
*/
onMouseMove: IEvent<IEditorMouseEvent>;
readonly onMouseMove: IEvent<IEditorMouseEvent>;
/**
* An event emitted on a "mouseleave".
* @event
*/
onMouseLeave: IEvent<IPartialEditorMouseEvent>;
readonly onMouseLeave: IEvent<IPartialEditorMouseEvent>;
/**
* An event emitted on a "keyup".
* @event
*/
onKeyUp: IEvent<IKeyboardEvent>;
readonly onKeyUp: IEvent<IKeyboardEvent>;
/**
* An event emitted on a "keydown".
* @event
*/
onKeyDown: IEvent<IKeyboardEvent>;
readonly onKeyDown: IEvent<IKeyboardEvent>;
/**
* An event emitted when the layout of the editor has changed.
* @event
*/
onDidLayoutChange: IEvent<EditorLayoutInfo>;
readonly onDidLayoutChange: IEvent<EditorLayoutInfo>;
/**
* An event emitted when the content width or content height in the editor has changed.
* @event
*/
onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
readonly onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
/**
* An event emitted when the scroll in the editor has changed.
* @event
*/
onDidScrollChange: IEvent<IScrollEvent>;
readonly onDidScrollChange: IEvent<IScrollEvent>;
/**
* An event emitted when hidden areas change in the editor (e.g. due to folding).
* @event
*/
onDidChangeHiddenAreas: IEvent<void>;
readonly onDidChangeHiddenAreas: IEvent<void>;
/**
* Saves current view state of the editor in a serializable object.
*/
@ -4923,7 +4925,7 @@ declare namespace monaco.editor {
* @id Unique identifier of the contribution.
* @return The contribution or null if contribution not found.
*/
getContribution<T extends IEditorContribution>(id: string): T;
getContribution<T extends IEditorContribution>(id: string): T | null;
/**
* Type the getModel() of IEditor.
*/
@ -5154,7 +5156,7 @@ declare namespace monaco.editor {
* An event emitted when the diff information computed by this diff editor has been updated.
* @event
*/
onDidUpdateDiff(listener: () => void): IDisposable;
readonly onDidUpdateDiff: IEvent<void>;
/**
* Saves current view state of the editor in a serializable object.
*/
@ -5297,11 +5299,11 @@ declare namespace monaco.languages {
* 3322 2222 2222 1111 1111 1100 0000 0000
* 1098 7654 3210 9876 5432 1098 7654 3210
* - -------------------------------------------
* bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
* bbbb bbbb bfff ffff ffFF FFTT LLLL LLLL
* - -------------------------------------------
* - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
* - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
* - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
* - T = StandardTokenType (2 bits): Other = 0, Comment = 1, String = 2, RegEx = 3.
* - F = FontStyle (4 bits): None = 0, Italic = 1, Bold = 2, Underline = 4, Strikethrough = 8.
* - f = foreground ColorId (9 bits)
* - b = background ColorId (9 bits)
* - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
@ -5316,6 +5318,13 @@ declare namespace monaco.languages {
endState: IState;
}
/**
* A factory for token providers.
*/
export interface TokensProviderFactory {
create(): ProviderResult<TokensProvider | EncodedTokensProvider | IMonarchLanguage>;
}
/**
* A "manual" provider of tokens.
*/
@ -5355,12 +5364,25 @@ declare namespace monaco.languages {
export function setColorMap(colorMap: string[] | null): void;
/**
* Set the tokens provider for a language (manual implementation).
* Register a tokens provider factory for a language. This tokenizer will be exclusive with a tokenizer
* set using `setTokensProvider` or one created using `setMonarchTokensProvider`, but will work together
* with a tokens provider set using `registerDocumentSemanticTokensProvider` or `registerDocumentRangeSemanticTokensProvider`.
*/
export function registerTokensProviderFactory(languageId: string, factory: TokensProviderFactory): IDisposable;
/**
* Set the tokens provider for a language (manual implementation). This tokenizer will be exclusive
* with a tokenizer created using `setMonarchTokensProvider`, or with `registerTokensProviderFactory`,
* but will work together with a tokens provider set using `registerDocumentSemanticTokensProvider`
* or `registerDocumentRangeSemanticTokensProvider`.
*/
export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
/**
* Set the tokens provider for a language (monarch implementation).
* Set the tokens provider for a language (monarch implementation). This tokenizer will be exclusive
* with a tokenizer set using `setTokensProvider`, or with `registerTokensProviderFactory`, but will
* work together with a tokens provider set using `registerDocumentSemanticTokensProvider` or
* `registerDocumentRangeSemanticTokensProvider`.
*/
export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
@ -5470,12 +5492,20 @@ declare namespace monaco.languages {
export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
/**
* Register a document semantic tokens provider
* Register a document semantic tokens provider. A semantic tokens provider will complement and enhance a
* simple top-down tokenizer. Simple top-down tokenizers can be set either via `setMonarchTokensProvider`
* or `setTokensProvider`.
*
* For the best user experience, register both a semantic tokens provider and a top-down tokenizer.
*/
export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
/**
* Register a document range semantic tokens provider
* Register a document range semantic tokens provider. A semantic tokens provider will complement and enhance a
* simple top-down tokenizer. Simple top-down tokenizers can be set either via `setMonarchTokensProvider`
* or `setTokensProvider`.
*
* For the best user experience, register both a semantic tokens provider and a top-down tokenizer.
*/
export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;