monaco-editor-core 0.55.0-dev-20251024 → 0.55.0-dev-20251025

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm/nls.messages.cs.js +1 -1
  2. package/esm/nls.messages.de.js +1 -1
  3. package/esm/nls.messages.es.js +1 -1
  4. package/esm/nls.messages.fr.js +1 -1
  5. package/esm/nls.messages.it.js +1 -1
  6. package/esm/nls.messages.ja.js +1 -1
  7. package/esm/nls.messages.ko.js +1 -1
  8. package/esm/nls.messages.pl.js +1 -1
  9. package/esm/nls.messages.pt-br.js +1 -1
  10. package/esm/nls.messages.ru.js +1 -1
  11. package/esm/nls.messages.tr.js +1 -1
  12. package/esm/nls.messages.zh-cn.js +1 -1
  13. package/esm/nls.messages.zh-tw.js +1 -1
  14. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  15. package/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +6 -7
  16. package/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js.map +1 -1
  17. package/esm/vs/base/browser/ui/iconLabel/iconLabel.js +11 -6
  18. package/esm/vs/base/browser/ui/iconLabel/iconLabel.js.map +1 -1
  19. package/esm/vs/base/browser/ui/iconLabel/iconlabel.css +5 -2
  20. package/esm/vs/base/common/codiconsLibrary.js +3 -0
  21. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  22. package/esm/vs/editor/common/languages.js.map +1 -1
  23. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +13 -9
  24. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  25. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +4 -2
  26. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  27. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +13 -5
  28. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  29. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +2 -1
  30. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js.map +1 -1
  31. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +2 -2
  32. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  33. package/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +28 -1
  34. package/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js.map +1 -1
  35. package/esm/vs/editor/editor.api.d.ts +1 -0
  36. package/monaco.d.ts +1 -0
  37. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.ts","vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.ts"],"names":[],"mappings":"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","file":"viewportSemanticTokens.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancelablePromise, createCancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { getDocumentRangeSemanticTokens, hasDocumentRangeSemanticTokensProvider } from '../common/getSemanticTokens.js';\nimport { isSemanticColoringEnabled, SEMANTIC_HIGHLIGHTING_SETTING_ID } from '../common/semanticTokensConfig.js';\nimport { toMultilineTokens2 } from '../../../common/services/semanticTokensProviderStyling.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IThemeService } from '../../../../platform/theme/common/themeService.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { DocumentRangeSemanticTokensProvider } from '../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ISemanticTokensStylingService } from '../../../common/services/semanticTokensStyling.js';\n\nexport class ViewportSemanticTokensContribution extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.viewportSemanticTokens';\n\n\tprivate readonly _editor: ICodeEditor;\n\tprivate readonly _provider: LanguageFeatureRegistry<DocumentRangeSemanticTokensProvider>;\n\tprivate readonly _debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly _tokenizeViewport: RunOnceScheduler;\n\tprivate _outstandingRequests: CancelablePromise<any>[];\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ISemanticTokensStylingService private readonly _semanticTokensStylingService: ISemanticTokensStylingService,\n\t\t@IThemeService private readonly _themeService: IThemeService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._provider = languageFeaturesService.documentRangeSemanticTokensProvider;\n\t\tthis._debounceInformation = languageFeatureDebounceService.for(this._provider, 'DocumentRangeSemanticTokens', { min: 100, max: 500 });\n\t\tthis._tokenizeViewport = this._register(new RunOnceScheduler(() => this._tokenizeViewportNow(), 100));\n\t\tthis._outstandingRequests = [];\n\t\tconst scheduleTokenizeViewport = () => {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tthis._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()));\n\t\t\t}\n\t\t};\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._provider.onDidChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)) {\n\t\t\t\tthis._cancelAll();\n\t\t\t\tscheduleTokenizeViewport();\n\t\t\t}\n\t\t}));\n\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tscheduleTokenizeViewport();\n\t}\n\n\tprivate _cancelAll(): void {\n\t\tfor (const request of this._outstandingRequests) {\n\t\t\trequest.cancel();\n\t\t}\n\t\tthis._outstandingRequests = [];\n\t}\n\n\tprivate _removeOutstandingRequest(req: CancelablePromise<any>): void {\n\t\tfor (let i = 0, len = this._outstandingRequests.length; i < len; i++) {\n\t\t\tif (this._outstandingRequests[i] === req) {\n\t\t\t\tthis._outstandingRequests.splice(i, 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _tokenizeViewportNow(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (model.tokenization.hasCompleteSemanticTokens()) {\n\t\t\treturn;\n\t\t}\n\t\tif (!isSemanticColoringEnabled(model, this._themeService, this._configurationService)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!hasDocumentRangeSemanticTokensProvider(this._provider, model)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();\n\n\t\tthis._outstandingRequests = this._outstandingRequests.concat(visibleRanges.map(range => this._requestRange(model, range)));\n\t}\n\n\tprivate _requestRange(model: ITextModel, range: Range): CancelablePromise<any> {\n\t\tconst requestVersionId = model.getVersionId();\n\t\tconst request = createCancelablePromise(token => Promise.resolve(getDocumentRangeSemanticTokens(this._provider, model, range, token)));\n\t\tconst sw = new StopWatch(false);\n\t\trequest.then((r) => {\n\t\t\tthis._debounceInformation.update(model, sw.elapsed());\n\t\t\tif (!r || !r.tokens || model.isDisposed() || model.getVersionId() !== requestVersionId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { provider, tokens: result } = r;\n\t\t\tconst styling = this._semanticTokensStylingService.getStyling(provider);\n\t\t\tmodel.tokenization.setPartialSemanticTokens(range, toMultilineTokens2(result, styling, model.getLanguageId()));\n\t\t}).then(() => this._removeOutstandingRequest(request), () => this._removeOutstandingRequest(request));\n\t\treturn request;\n\t}\n}\n\nregisterEditorContribution(ViewportSemanticTokensContribution.ID, ViewportSemanticTokensContribution, EditorContributionInstantiation.AfterFirstRender);\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancelablePromise, createCancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { getDocumentRangeSemanticTokens, hasDocumentRangeSemanticTokensProvider } from '../common/getSemanticTokens.js';\nimport { isSemanticColoringEnabled, SEMANTIC_HIGHLIGHTING_SETTING_ID } from '../common/semanticTokensConfig.js';\nimport { toMultilineTokens2 } from '../../../common/services/semanticTokensProviderStyling.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IThemeService } from '../../../../platform/theme/common/themeService.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { DocumentRangeSemanticTokensProvider } from '../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ISemanticTokensStylingService } from '../../../common/services/semanticTokensStyling.js';\n\nexport class ViewportSemanticTokensContribution extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.viewportSemanticTokens';\n\n\tprivate readonly _editor: ICodeEditor;\n\tprivate readonly _provider: LanguageFeatureRegistry<DocumentRangeSemanticTokensProvider>;\n\tprivate readonly _debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly _tokenizeViewport: RunOnceScheduler;\n\tprivate _outstandingRequests: CancelablePromise<any>[];\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ISemanticTokensStylingService private readonly _semanticTokensStylingService: ISemanticTokensStylingService,\n\t\t@IThemeService private readonly _themeService: IThemeService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._provider = languageFeaturesService.documentRangeSemanticTokensProvider;\n\t\tthis._debounceInformation = languageFeatureDebounceService.for(this._provider, 'DocumentRangeSemanticTokens', { min: 100, max: 500 });\n\t\tthis._tokenizeViewport = this._register(new RunOnceScheduler(() => this._tokenizeViewportNow(), 100));\n\t\tthis._outstandingRequests = [];\n\t\tconst scheduleTokenizeViewport = () => {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tthis._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()));\n\t\t\t}\n\t\t};\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._provider.onDidChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)) {\n\t\t\t\tthis._cancelAll();\n\t\t\t\tscheduleTokenizeViewport();\n\t\t\t}\n\t\t}));\n\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tscheduleTokenizeViewport();\n\t}\n\n\tprivate _cancelAll(): void {\n\t\tfor (const request of this._outstandingRequests) {\n\t\t\trequest.cancel();\n\t\t}\n\t\tthis._outstandingRequests = [];\n\t}\n\n\tprivate _removeOutstandingRequest(req: CancelablePromise<any>): void {\n\t\tfor (let i = 0, len = this._outstandingRequests.length; i < len; i++) {\n\t\t\tif (this._outstandingRequests[i] === req) {\n\t\t\t\tthis._outstandingRequests.splice(i, 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _tokenizeViewportNow(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (model.tokenization.hasCompleteSemanticTokens()) {\n\t\t\treturn;\n\t\t}\n\t\tif (!isSemanticColoringEnabled(model, this._themeService, this._configurationService)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!hasDocumentRangeSemanticTokensProvider(this._provider, model)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();\n\n\t\tthis._outstandingRequests = this._outstandingRequests.concat(visibleRanges.map(range => this._requestRange(model, range)));\n\t}\n\n\tprivate _requestRange(model: ITextModel, range: Range): CancelablePromise<any> {\n\t\tconst requestVersionId = model.getVersionId();\n\t\tconst request = createCancelablePromise(token => Promise.resolve(getDocumentRangeSemanticTokens(this._provider, model, range, token)));\n\t\tconst sw = new StopWatch(false);\n\t\trequest.then((r) => {\n\t\t\tthis._debounceInformation.update(model, sw.elapsed());\n\t\t\tif (!r || !r.tokens || model.isDisposed() || model.getVersionId() !== requestVersionId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { provider, tokens: result } = r;\n\t\t\tconst styling = this._semanticTokensStylingService.getStyling(provider);\n\t\t\tmodel.tokenization.setPartialSemanticTokens(range, toMultilineTokens2(result, styling, model.getLanguageId()));\n\t\t}).then(() => this._removeOutstandingRequest(request), () => this._removeOutstandingRequest(request));\n\t\treturn request;\n\t}\n}\n\nregisterEditorContribution(ViewportSemanticTokensContribution.ID, ViewportSemanticTokensContribution, EditorContributionInstantiation.AfterFirstRender);\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.ts","vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAEhG,OAAO,EAAqB,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAe,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAmC,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAInH,OAAO,EAAE,8BAA8B,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAA+B,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACnI,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAE3F,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,UAAU;aAE1C,OAAE,GAAG,uCAAH,AAA0C,CAAC;IASpE,YACC,MAAmB,EAC6B,6BAA4D,EAC5E,aAA4B,EACpB,qBAA4C,EACnD,8BAA+D,EACtE,uBAAiD;QAE3E,KAAK,EAAE,CAAC;QANwC,kCAA6B,GAA7B,6BAA6B,CAA+B;QAC5E,kBAAa,GAAb,aAAa,CAAe;QACpB,0BAAqB,GAArB,qBAAqB,CAAuB;QAKpF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,mCAAmC,CAAC;QAC7E,IAAI,CAAC,oBAAoB,GAAG,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACtI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC;QACzC,MAAM,wBAAwB,GAAG,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;QACF,CAAC,CAAC;QACF,MAAM,iCAAiC,GAAG,GAAG,EAAE;YAC9C,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE;wBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,wBAAwB,EAAE,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBACH,IAAI,UAAU,EAAE,CAAC;wBAChB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACtD,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAClD,wBAAwB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACjD,iCAAiC,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC;QAEJ,iCAAiC,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE;YAC9C,iCAAiC,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;YACtE,IAAI,CAAC,CAAC,oBAAoB,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,wBAAwB,EAAE,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,EAAE;YAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC;QACJ,wBAAwB,EAAE,CAAC;IAC5B,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,yBAAyB;QAChC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC7C,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC;IAC1C,CAAC;IAEO,UAAU;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACjD,OAAO,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEO,yBAAyB,CAAC,GAA2B;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAEO,oBAAoB;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,YAAY,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACpD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvF,IAAI,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACpE,IAAI,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACR,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;QAE5E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5H,CAAC;IAEO,aAAa,CAAC,KAAiB,EAAE,KAAY;QACpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvI,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,gBAAgB,EAAE,CAAC;gBACxF,OAAO;YACR,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxE,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtG,OAAO,OAAO,CAAC;IAChB,CAAC;;AAhJW,kCAAkC;IAa5C,WAAA,6BAA6B,CAAA;IAC7B,WAAA,aAAa,CAAA;IACb,WAAA,qBAAqB,CAAA;IACrB,WAAA,+BAA+B,CAAA;IAC/B,WAAA,wBAAwB,CAAA;GAjBd,kCAAkC,CAiJ9C;;AAED,0BAA0B,CAAC,kCAAkC,CAAC,EAAE,EAAE,kCAAkC,2DAAmD,CAAC","file":"viewportSemanticTokens.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancelablePromise, createCancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { Disposable, dispose, IDisposable } from '../../../../base/common/lifecycle.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { getDocumentRangeSemanticTokens, hasDocumentRangeSemanticTokensProvider } from '../common/getSemanticTokens.js';\nimport { isSemanticColoringEnabled, SEMANTIC_HIGHLIGHTING_SETTING_ID } from '../common/semanticTokensConfig.js';\nimport { toMultilineTokens2 } from '../../../common/services/semanticTokensProviderStyling.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IThemeService } from '../../../../platform/theme/common/themeService.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { DocumentRangeSemanticTokensProvider } from '../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ISemanticTokensStylingService } from '../../../common/services/semanticTokensStyling.js';\n\nexport class ViewportSemanticTokensContribution extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.viewportSemanticTokens';\n\n\tprivate readonly _editor: ICodeEditor;\n\tprivate readonly _provider: LanguageFeatureRegistry<DocumentRangeSemanticTokensProvider>;\n\tprivate readonly _debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly _tokenizeViewport: RunOnceScheduler;\n\tprivate _outstandingRequests: CancelablePromise<any>[];\n\tprivate _rangeProvidersChangeListeners: IDisposable[];\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ISemanticTokensStylingService private readonly _semanticTokensStylingService: ISemanticTokensStylingService,\n\t\t@IThemeService private readonly _themeService: IThemeService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._provider = languageFeaturesService.documentRangeSemanticTokensProvider;\n\t\tthis._debounceInformation = languageFeatureDebounceService.for(this._provider, 'DocumentRangeSemanticTokens', { min: 100, max: 500 });\n\t\tthis._tokenizeViewport = this._register(new RunOnceScheduler(() => this._tokenizeViewportNow(), 100));\n\t\tthis._outstandingRequests = [];\n\t\tthis._rangeProvidersChangeListeners = [];\n\t\tconst scheduleTokenizeViewport = () => {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tthis._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()));\n\t\t\t}\n\t\t};\n\t\tconst bindRangeProvidersChangeListeners = () => {\n\t\t\tthis._cleanupProviderListeners();\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tconst model = this._editor.getModel();\n\t\t\t\tfor (const provider of this._provider.all(model)) {\n\t\t\t\t\tconst disposable = provider.onDidChange?.(() => {\n\t\t\t\t\t\tthis._cancelAll();\n\t\t\t\t\t\tscheduleTokenizeViewport();\n\t\t\t\t\t});\n\t\t\t\t\tif (disposable) {\n\t\t\t\t\t\tthis._rangeProvidersChangeListeners.push(disposable);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tbindRangeProvidersChangeListeners();\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\n\t\tbindRangeProvidersChangeListeners();\n\t\tthis._register(this._provider.onDidChange(() => {\n\t\t\tbindRangeProvidersChangeListeners();\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)) {\n\t\t\t\tthis._cancelAll();\n\t\t\t\tscheduleTokenizeViewport();\n\t\t\t}\n\t\t}));\n\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tscheduleTokenizeViewport();\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis._cleanupProviderListeners();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _cleanupProviderListeners(): void {\n\t\tdispose(this._rangeProvidersChangeListeners);\n\t\tthis._rangeProvidersChangeListeners = [];\n\t}\n\n\tprivate _cancelAll(): void {\n\t\tfor (const request of this._outstandingRequests) {\n\t\t\trequest.cancel();\n\t\t}\n\t\tthis._outstandingRequests = [];\n\t}\n\n\tprivate _removeOutstandingRequest(req: CancelablePromise<any>): void {\n\t\tfor (let i = 0, len = this._outstandingRequests.length; i < len; i++) {\n\t\t\tif (this._outstandingRequests[i] === req) {\n\t\t\t\tthis._outstandingRequests.splice(i, 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _tokenizeViewportNow(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (model.tokenization.hasCompleteSemanticTokens()) {\n\t\t\treturn;\n\t\t}\n\t\tif (!isSemanticColoringEnabled(model, this._themeService, this._configurationService)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!hasDocumentRangeSemanticTokensProvider(this._provider, model)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();\n\n\t\tthis._outstandingRequests = this._outstandingRequests.concat(visibleRanges.map(range => this._requestRange(model, range)));\n\t}\n\n\tprivate _requestRange(model: ITextModel, range: Range): CancelablePromise<any> {\n\t\tconst requestVersionId = model.getVersionId();\n\t\tconst request = createCancelablePromise(token => Promise.resolve(getDocumentRangeSemanticTokens(this._provider, model, range, token)));\n\t\tconst sw = new StopWatch(false);\n\t\trequest.then((r) => {\n\t\t\tthis._debounceInformation.update(model, sw.elapsed());\n\t\t\tif (!r || !r.tokens || model.isDisposed() || model.getVersionId() !== requestVersionId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { provider, tokens: result } = r;\n\t\t\tconst styling = this._semanticTokensStylingService.getStyling(provider);\n\t\t\tmodel.tokenization.setPartialSemanticTokens(range, toMultilineTokens2(result, styling, model.getLanguageId()));\n\t\t}).then(() => this._removeOutstandingRequest(request), () => this._removeOutstandingRequest(request));\n\t\treturn request;\n\t}\n}\n\nregisterEditorContribution(ViewportSemanticTokensContribution.ID, ViewportSemanticTokensContribution, EditorContributionInstantiation.AfterFirstRender);\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancelablePromise, createCancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { Disposable, dispose, IDisposable } from '../../../../base/common/lifecycle.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { getDocumentRangeSemanticTokens, hasDocumentRangeSemanticTokensProvider } from '../common/getSemanticTokens.js';\nimport { isSemanticColoringEnabled, SEMANTIC_HIGHLIGHTING_SETTING_ID } from '../common/semanticTokensConfig.js';\nimport { toMultilineTokens2 } from '../../../common/services/semanticTokensProviderStyling.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IThemeService } from '../../../../platform/theme/common/themeService.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { DocumentRangeSemanticTokensProvider } from '../../../common/languages.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ISemanticTokensStylingService } from '../../../common/services/semanticTokensStyling.js';\n\nexport class ViewportSemanticTokensContribution extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.viewportSemanticTokens';\n\n\tprivate readonly _editor: ICodeEditor;\n\tprivate readonly _provider: LanguageFeatureRegistry<DocumentRangeSemanticTokensProvider>;\n\tprivate readonly _debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly _tokenizeViewport: RunOnceScheduler;\n\tprivate _outstandingRequests: CancelablePromise<any>[];\n\tprivate _rangeProvidersChangeListeners: IDisposable[];\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ISemanticTokensStylingService private readonly _semanticTokensStylingService: ISemanticTokensStylingService,\n\t\t@IThemeService private readonly _themeService: IThemeService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t\t@ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._provider = languageFeaturesService.documentRangeSemanticTokensProvider;\n\t\tthis._debounceInformation = languageFeatureDebounceService.for(this._provider, 'DocumentRangeSemanticTokens', { min: 100, max: 500 });\n\t\tthis._tokenizeViewport = this._register(new RunOnceScheduler(() => this._tokenizeViewportNow(), 100));\n\t\tthis._outstandingRequests = [];\n\t\tthis._rangeProvidersChangeListeners = [];\n\t\tconst scheduleTokenizeViewport = () => {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tthis._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()));\n\t\t\t}\n\t\t};\n\t\tconst bindRangeProvidersChangeListeners = () => {\n\t\t\tthis._cleanupProviderListeners();\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tconst model = this._editor.getModel();\n\t\t\t\tfor (const provider of this._provider.all(model)) {\n\t\t\t\t\tconst disposable = provider.onDidChange?.(() => {\n\t\t\t\t\t\tthis._cancelAll();\n\t\t\t\t\t\tscheduleTokenizeViewport();\n\t\t\t\t\t});\n\t\t\t\t\tif (disposable) {\n\t\t\t\t\t\tthis._rangeProvidersChangeListeners.push(disposable);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tbindRangeProvidersChangeListeners();\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\n\t\tbindRangeProvidersChangeListeners();\n\t\tthis._register(this._provider.onDidChange(() => {\n\t\t\tbindRangeProvidersChangeListeners();\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tthis._register(this._configurationService.onDidChangeConfiguration(e => {\n\t\t\tif (e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)) {\n\t\t\t\tthis._cancelAll();\n\t\t\t\tscheduleTokenizeViewport();\n\t\t\t}\n\t\t}));\n\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\tthis._cancelAll();\n\t\t\tscheduleTokenizeViewport();\n\t\t}));\n\t\tscheduleTokenizeViewport();\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis._cleanupProviderListeners();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _cleanupProviderListeners(): void {\n\t\tdispose(this._rangeProvidersChangeListeners);\n\t\tthis._rangeProvidersChangeListeners = [];\n\t}\n\n\tprivate _cancelAll(): void {\n\t\tfor (const request of this._outstandingRequests) {\n\t\t\trequest.cancel();\n\t\t}\n\t\tthis._outstandingRequests = [];\n\t}\n\n\tprivate _removeOutstandingRequest(req: CancelablePromise<any>): void {\n\t\tfor (let i = 0, len = this._outstandingRequests.length; i < len; i++) {\n\t\t\tif (this._outstandingRequests[i] === req) {\n\t\t\t\tthis._outstandingRequests.splice(i, 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _tokenizeViewportNow(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (model.tokenization.hasCompleteSemanticTokens()) {\n\t\t\treturn;\n\t\t}\n\t\tif (!isSemanticColoringEnabled(model, this._themeService, this._configurationService)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!hasDocumentRangeSemanticTokensProvider(this._provider, model)) {\n\t\t\tif (model.tokenization.hasSomeSemanticTokens()) {\n\t\t\t\tmodel.tokenization.setSemanticTokens(null, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();\n\n\t\tthis._outstandingRequests = this._outstandingRequests.concat(visibleRanges.map(range => this._requestRange(model, range)));\n\t}\n\n\tprivate _requestRange(model: ITextModel, range: Range): CancelablePromise<any> {\n\t\tconst requestVersionId = model.getVersionId();\n\t\tconst request = createCancelablePromise(token => Promise.resolve(getDocumentRangeSemanticTokens(this._provider, model, range, token)));\n\t\tconst sw = new StopWatch(false);\n\t\trequest.then((r) => {\n\t\t\tthis._debounceInformation.update(model, sw.elapsed());\n\t\t\tif (!r || !r.tokens || model.isDisposed() || model.getVersionId() !== requestVersionId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { provider, tokens: result } = r;\n\t\t\tconst styling = this._semanticTokensStylingService.getStyling(provider);\n\t\t\tmodel.tokenization.setPartialSemanticTokens(range, toMultilineTokens2(result, styling, model.getLanguageId()));\n\t\t}).then(() => this._removeOutstandingRequest(request), () => this._removeOutstandingRequest(request));\n\t\treturn request;\n\t}\n}\n\nregisterEditorContribution(ViewportSemanticTokensContribution.ID, ViewportSemanticTokensContribution, EditorContributionInstantiation.AfterFirstRender);\n"]}
@@ -7563,6 +7563,7 @@ export namespace languages {
7563
7563
  range: IRange;
7564
7564
  kind: InlineCompletionDisplayLocationKind;
7565
7565
  label: string;
7566
+ jumpToEdit: boolean;
7566
7567
  }
7567
7568
 
7568
7569
  /**
package/monaco.d.ts CHANGED
@@ -7566,6 +7566,7 @@ declare namespace monaco.languages {
7566
7566
  range: IRange;
7567
7567
  kind: InlineCompletionDisplayLocationKind;
7568
7568
  label: string;
7569
+ jumpToEdit: boolean;
7569
7570
  }
7570
7571
 
7571
7572
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "monaco-editor-core",
3
3
  "private": false,
4
- "version": "0.55.0-dev-20251024",
4
+ "version": "0.55.0-dev-20251025",
5
5
  "description": "A browser based code editor",
6
6
  "author": "Microsoft Corporation",
7
7
  "license": "MIT",
@@ -14,7 +14,7 @@
14
14
  "bugs": {
15
15
  "url": "https://github.com/microsoft/vscode/issues"
16
16
  },
17
- "vscodeCommitId": "43e3062b68f7e2053ed039f2723377a1a391f375",
17
+ "vscodeCommitId": "ebec808605d890e079c52c6996c95be7cc94605e",
18
18
  "dependencies": {
19
19
  "marked": "14.0.0",
20
20
  "dompurify": "3.2.7"