monaco-editor-core 0.54.0-dev-20251004 → 0.54.0-dev-20251006

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 (129) hide show
  1. package/esm/nls.messages.de.js +1 -1
  2. package/esm/nls.messages.es.js +1 -1
  3. package/esm/nls.messages.fr.js +1 -1
  4. package/esm/nls.messages.it.js +1 -1
  5. package/esm/nls.messages.ja.js +1 -1
  6. package/esm/nls.messages.ko.js +1 -1
  7. package/esm/nls.messages.ru.js +1 -1
  8. package/esm/nls.messages.zh-cn.js +1 -1
  9. package/esm/nls.messages.zh-tw.js +1 -1
  10. package/esm/vs/base/browser/dom.js.map +1 -1
  11. package/esm/vs/base/browser/fastDomNode.js +0 -1
  12. package/esm/vs/base/browser/fastDomNode.js.map +1 -1
  13. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
  14. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  15. package/esm/vs/base/common/buffer.js.map +1 -1
  16. package/esm/vs/base/common/errors.js.map +1 -1
  17. package/esm/vs/base/common/hash.js.map +1 -1
  18. package/esm/vs/base/common/worker/webWorker.js +26 -22
  19. package/esm/vs/base/common/worker/webWorker.js.map +1 -1
  20. package/esm/vs/editor/browser/config/editorConfiguration.js +3 -6
  21. package/esm/vs/editor/browser/config/editorConfiguration.js.map +1 -1
  22. package/esm/vs/editor/browser/config/migrateOptions.js +1 -2
  23. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  24. package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js +0 -1
  25. package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js.map +1 -1
  26. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +2 -2
  27. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js.map +1 -1
  28. package/esm/vs/editor/browser/controller/mouseHandler.js +2 -2
  29. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  30. package/esm/vs/editor/browser/controller/mouseTarget.js +7 -8
  31. package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
  32. package/esm/vs/editor/browser/controller/pointerHandler.js +0 -2
  33. package/esm/vs/editor/browser/controller/pointerHandler.js.map +1 -1
  34. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  35. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  36. package/esm/vs/editor/browser/editorDom.js +0 -2
  37. package/esm/vs/editor/browser/editorDom.js.map +1 -1
  38. package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
  39. package/esm/vs/editor/browser/gpu/gpuUtils.js +1 -1
  40. package/esm/vs/editor/browser/gpu/gpuUtils.js.map +1 -1
  41. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  42. package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
  43. package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
  44. package/esm/vs/editor/browser/services/bulkEditService.js.map +1 -1
  45. package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
  46. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  47. package/esm/vs/editor/browser/services/hoverService/hoverService.js +0 -1
  48. package/esm/vs/editor/browser/services/hoverService/hoverService.js.map +1 -1
  49. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
  50. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
  51. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  52. package/esm/vs/editor/browser/view.js.map +1 -1
  53. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -0
  54. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  55. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +1 -0
  56. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js.map +1 -1
  57. package/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js.map +1 -1
  58. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -2
  59. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  60. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  61. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js.map +1 -1
  62. package/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js.map +1 -1
  63. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  64. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js.map +1 -1
  65. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +1 -1
  66. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  67. package/esm/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  68. package/esm/vs/editor/browser/widget/diffEditor/utils.js.map +1 -1
  69. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -2
  70. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js.map +1 -1
  71. package/esm/vs/editor/common/config/editorOptions.js +121 -72
  72. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  73. package/esm/vs/editor/common/config/fontInfo.js +32 -16
  74. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  75. package/esm/vs/editor/common/config/fontInfoFromSettings.js +16 -0
  76. package/esm/vs/editor/common/config/fontInfoFromSettings.js.map +1 -0
  77. package/esm/vs/editor/common/core/edits/edit.js +1 -0
  78. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  79. package/esm/vs/editor/common/core/edits/stringEdit.js +2 -0
  80. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  81. package/esm/vs/editor/common/core/position.js +1 -1
  82. package/esm/vs/editor/common/core/position.js.map +1 -1
  83. package/esm/vs/editor/common/core/range.js +1 -1
  84. package/esm/vs/editor/common/core/range.js.map +1 -1
  85. package/esm/vs/editor/common/core/selection.js +1 -1
  86. package/esm/vs/editor/common/core/selection.js.map +1 -1
  87. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  88. package/esm/vs/editor/common/editorCommon.js.map +1 -1
  89. package/esm/vs/editor/common/languages.js +1 -2
  90. package/esm/vs/editor/common/languages.js.map +1 -1
  91. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +14 -13
  92. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js.map +1 -1
  93. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +2 -0
  94. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js.map +1 -1
  95. package/esm/vs/editor/common/model/textModel.js +1 -1
  96. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  97. package/esm/vs/editor/common/model.js +1 -1
  98. package/esm/vs/editor/common/model.js.map +1 -1
  99. package/esm/vs/editor/common/services/editorBaseApi.js +0 -2
  100. package/esm/vs/editor/common/services/editorBaseApi.js.map +1 -1
  101. package/esm/vs/editor/common/services/editorWebWorker.js +1 -0
  102. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  103. package/esm/vs/editor/common/services/editorWorkerHost.js.map +1 -1
  104. package/esm/vs/editor/common/services/modelService.js +14 -21
  105. package/esm/vs/editor/common/services/modelService.js.map +1 -1
  106. package/esm/vs/editor/common/textModelEditSource.js +2 -1
  107. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  108. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +40 -1
  109. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  110. package/esm/vs/editor/common/viewModel/viewModelImpl.js +2 -1
  111. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  112. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +1 -0
  113. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js.map +1 -1
  114. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  115. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  116. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  117. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  118. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js.map +1 -1
  119. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +1 -1
  120. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  121. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -0
  122. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  123. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  124. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  125. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js.map +1 -1
  126. package/esm/vs/editor/editor.api.d.ts +8 -8
  127. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  128. package/monaco.d.ts +8 -8
  129. package/package.json +2 -2
@@ -21,7 +21,7 @@ import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.j
21
21
  import { escapeRegExpCharacters } from '../../../../base/common/strings.js';
22
22
  import { assertReturnsDefined } from '../../../../base/common/types.js';
23
23
  import './parameterHints.css';
24
- import { EDITOR_FONT_DEFAULTS } from '../../../common/config/editorOptions.js';
24
+ import { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';
25
25
  import { ILanguageService } from '../../../common/languages/language.js';
26
26
  import { MarkdownRenderer } from '../../../browser/widget/markdownRenderer/browser/markdownRenderer.js';
27
27
  import { Context } from './provideSignatureHelp.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts"],"names":[],"mappings":"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","file":"parameterHintsWidget.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 * as dom from '../../../../base/browser/dom.js';\nimport * as aria from '../../../../base/browser/ui/aria/aria.js';\nimport { DomScrollableElement } from '../../../../base/browser/ui/scrollbar/scrollableElement.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { Event } from '../../../../base/common/event.js';\nimport { IMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { escapeRegExpCharacters } from '../../../../base/common/strings.js';\nimport { assertReturnsDefined } from '../../../../base/common/types.js';\nimport './parameterHints.css';\nimport { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from '../../../browser/editorBrowser.js';\nimport { EDITOR_FONT_DEFAULTS, EditorOption } from '../../../common/config/editorOptions.js';\nimport * as languages from '../../../common/languages.js';\nimport { ILanguageService } from '../../../common/languages/language.js';\nimport { IMarkdownRenderResult, MarkdownRenderer } from '../../../browser/widget/markdownRenderer/browser/markdownRenderer.js';\nimport { ParameterHintsModel } from './parameterHintsModel.js';\nimport { Context } from './provideSignatureHelp.js';\nimport * as nls from '../../../../nls.js';\nimport { IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\nimport { listHighlightForeground, registerColor } from '../../../../platform/theme/common/colorRegistry.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\n\nconst $ = dom.$;\n\nconst parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize('parameterHintsNextIcon', 'Icon for show next parameter hint.'));\nconst parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize('parameterHintsPreviousIcon', 'Icon for show previous parameter hint.'));\n\nexport class ParameterHintsWidget extends Disposable implements IContentWidget {\n\n\tprivate static readonly ID = 'editor.widget.parameterHintsWidget';\n\n\tprivate readonly markdownRenderer: MarkdownRenderer;\n\tprivate readonly renderDisposeables = this._register(new DisposableStore());\n\tprivate readonly keyVisible: IContextKey<boolean>;\n\tprivate readonly keyMultipleSignatures: IContextKey<boolean>;\n\n\tprivate domNodes?: {\n\t\treadonly element: HTMLElement;\n\t\treadonly signature: HTMLElement;\n\t\treadonly docs: HTMLElement;\n\t\treadonly overloads: HTMLElement;\n\t\treadonly scrollbar: DomScrollableElement;\n\t};\n\n\tprivate visible: boolean = false;\n\tprivate announcedLabel: string | null = null;\n\n\t// Editor.IContentWidget.allowEditorOverflow\n\tallowEditorOverflow = true;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly model: ParameterHintsModel,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IOpenerService openerService: IOpenerService,\n\t\t@ILanguageService languageService: ILanguageService\n\t) {\n\t\tsuper();\n\n\t\tthis.markdownRenderer = new MarkdownRenderer({ editor }, languageService, openerService);\n\n\t\tthis.keyVisible = Context.Visible.bindTo(contextKeyService);\n\t\tthis.keyMultipleSignatures = Context.MultipleSignatures.bindTo(contextKeyService);\n\t}\n\n\tprivate createParameterHintDOMNodes() {\n\t\tconst element = $('.editor-widget.parameter-hints-widget');\n\t\tconst wrapper = dom.append(element, $('.phwrapper'));\n\t\twrapper.tabIndex = -1;\n\n\t\tconst controls = dom.append(wrapper, $('.controls'));\n\t\tconst previous = dom.append(controls, $('.button' + ThemeIcon.asCSSSelector(parameterHintsPreviousIcon)));\n\t\tconst overloads = dom.append(controls, $('.overloads'));\n\t\tconst next = dom.append(controls, $('.button' + ThemeIcon.asCSSSelector(parameterHintsNextIcon)));\n\n\t\tthis._register(dom.addDisposableListener(previous, 'click', e => {\n\t\t\tdom.EventHelper.stop(e);\n\t\t\tthis.previous();\n\t\t}));\n\n\t\tthis._register(dom.addDisposableListener(next, 'click', e => {\n\t\t\tdom.EventHelper.stop(e);\n\t\t\tthis.next();\n\t\t}));\n\n\t\tconst body = $('.body');\n\t\tconst scrollbar = new DomScrollableElement(body, {\n\t\t\talwaysConsumeMouseWheel: true,\n\t\t});\n\t\tthis._register(scrollbar);\n\t\twrapper.appendChild(scrollbar.getDomNode());\n\n\t\tconst signature = dom.append(body, $('.signature'));\n\t\tconst docs = dom.append(body, $('.docs'));\n\n\t\telement.style.userSelect = 'text';\n\n\t\tthis.domNodes = {\n\t\t\telement,\n\t\t\tsignature,\n\t\t\toverloads,\n\t\t\tdocs,\n\t\t\tscrollbar,\n\t\t};\n\n\t\tthis.editor.addContentWidget(this);\n\t\tthis.hide();\n\n\t\tthis._register(this.editor.onDidChangeCursorSelection(e => {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.editor.layoutContentWidget(this);\n\t\t\t}\n\t\t}));\n\n\t\tconst updateFont = () => {\n\t\t\tif (!this.domNodes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fontInfo = this.editor.getOption(EditorOption.fontInfo);\n\t\t\tconst element = this.domNodes.element;\n\t\t\telement.style.fontSize = `${fontInfo.fontSize}px`;\n\t\t\telement.style.lineHeight = `${fontInfo.lineHeight / fontInfo.fontSize}`;\n\t\t\telement.style.setProperty('--vscode-parameterHintsWidget-editorFontFamily', fontInfo.fontFamily);\n\t\t\telement.style.setProperty('--vscode-parameterHintsWidget-editorFontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t};\n\n\t\tupdateFont();\n\n\t\tthis._register(Event.chain(\n\t\t\tthis.editor.onDidChangeConfiguration.bind(this.editor),\n\t\t\t$ => $.filter(e => e.hasChanged(EditorOption.fontInfo))\n\t\t)(updateFont));\n\n\t\tthis._register(this.editor.onDidLayoutChange(e => this.updateMaxHeight()));\n\t\tthis.updateMaxHeight();\n\t}\n\n\tpublic show(): void {\n\t\tif (this.visible) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.domNodes) {\n\t\t\tthis.createParameterHintDOMNodes();\n\t\t}\n\n\t\tthis.keyVisible.set(true);\n\t\tthis.visible = true;\n\t\tsetTimeout(() => {\n\t\t\tthis.domNodes?.element.classList.add('visible');\n\t\t}, 100);\n\t\tthis.editor.layoutContentWidget(this);\n\t}\n\n\tpublic hide(): void {\n\t\tthis.renderDisposeables.clear();\n\n\t\tif (!this.visible) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyVisible.reset();\n\t\tthis.visible = false;\n\t\tthis.announcedLabel = null;\n\t\tthis.domNodes?.element.classList.remove('visible');\n\t\tthis.editor.layoutContentWidget(this);\n\t}\n\n\tgetPosition(): IContentWidgetPosition | null {\n\t\tif (this.visible) {\n\t\t\treturn {\n\t\t\t\tposition: this.editor.getPosition(),\n\t\t\t\tpreference: [ContentWidgetPositionPreference.ABOVE, ContentWidgetPositionPreference.BELOW]\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic render(hints: languages.SignatureHelp): void {\n\t\tthis.renderDisposeables.clear();\n\n\t\tif (!this.domNodes) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst multiple = hints.signatures.length > 1;\n\t\tthis.domNodes.element.classList.toggle('multiple', multiple);\n\t\tthis.keyMultipleSignatures.set(multiple);\n\n\t\tthis.domNodes.signature.innerText = '';\n\t\tthis.domNodes.docs.innerText = '';\n\n\t\tconst signature = hints.signatures[hints.activeSignature];\n\t\tif (!signature) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst code = dom.append(this.domNodes.signature, $('.code'));\n\t\tconst hasParameters = signature.parameters.length > 0;\n\t\tconst activeParameterIndex = signature.activeParameter ?? hints.activeParameter;\n\n\t\tif (!hasParameters) {\n\t\t\tconst label = dom.append(code, $('span'));\n\t\t\tlabel.textContent = signature.label;\n\t\t} else {\n\t\t\tthis.renderParameters(code, signature, activeParameterIndex);\n\t\t}\n\n\t\tconst activeParameter: languages.ParameterInformation | undefined = signature.parameters[activeParameterIndex];\n\t\tif (activeParameter?.documentation) {\n\t\t\tconst documentation = $('span.documentation');\n\t\t\tif (typeof activeParameter.documentation === 'string') {\n\t\t\t\tdocumentation.textContent = activeParameter.documentation;\n\t\t\t} else {\n\t\t\t\tconst renderedContents = this.renderMarkdownDocs(activeParameter.documentation);\n\t\t\t\tdocumentation.appendChild(renderedContents.element);\n\t\t\t}\n\t\t\tdom.append(this.domNodes.docs, $('p', {}, documentation));\n\t\t}\n\n\t\tif (signature.documentation === undefined) {\n\t\t\t/** no op */\n\t\t} else if (typeof signature.documentation === 'string') {\n\t\t\tdom.append(this.domNodes.docs, $('p', {}, signature.documentation));\n\t\t} else {\n\t\t\tconst renderedContents = this.renderMarkdownDocs(signature.documentation);\n\t\t\tdom.append(this.domNodes.docs, renderedContents.element);\n\t\t}\n\n\t\tconst hasDocs = this.hasDocs(signature, activeParameter);\n\n\t\tthis.domNodes.signature.classList.toggle('has-docs', hasDocs);\n\t\tthis.domNodes.docs.classList.toggle('empty', !hasDocs);\n\n\t\tthis.domNodes.overloads.textContent =\n\t\t\tString(hints.activeSignature + 1).padStart(hints.signatures.length.toString().length, '0') + '/' + hints.signatures.length;\n\n\t\tif (activeParameter) {\n\t\t\tlet labelToAnnounce = '';\n\t\t\tconst param = signature.parameters[activeParameterIndex];\n\t\t\tif (Array.isArray(param.label)) {\n\t\t\t\tlabelToAnnounce = signature.label.substring(param.label[0], param.label[1]);\n\t\t\t} else {\n\t\t\t\tlabelToAnnounce = param.label;\n\t\t\t}\n\t\t\tif (param.documentation) {\n\t\t\t\tlabelToAnnounce += typeof param.documentation === 'string' ? `, ${param.documentation}` : `, ${param.documentation.value}`;\n\t\t\t}\n\t\t\tif (signature.documentation) {\n\t\t\t\tlabelToAnnounce += typeof signature.documentation === 'string' ? `, ${signature.documentation}` : `, ${signature.documentation.value}`;\n\t\t\t}\n\n\t\t\t// Select method gets called on every user type while parameter hints are visible.\n\t\t\t// We do not want to spam the user with same announcements, so we only announce if the current parameter changed.\n\n\t\t\tif (this.announcedLabel !== labelToAnnounce) {\n\t\t\t\taria.alert(nls.localize('hint', \"{0}, hint\", labelToAnnounce));\n\t\t\t\tthis.announcedLabel = labelToAnnounce;\n\t\t\t}\n\t\t}\n\n\t\tthis.editor.layoutContentWidget(this);\n\t\tthis.domNodes.scrollbar.scanDomNode();\n\t}\n\n\tprivate renderMarkdownDocs(markdown: IMarkdownString): IMarkdownRenderResult {\n\t\tconst renderedContents = this.renderDisposeables.add(this.markdownRenderer.render(markdown, {\n\t\t\tasyncRenderCallback: () => {\n\t\t\t\tthis.domNodes?.scrollbar.scanDomNode();\n\t\t\t}\n\t\t}));\n\t\trenderedContents.element.classList.add('markdown-docs');\n\t\treturn renderedContents;\n\t}\n\n\tprivate hasDocs(signature: languages.SignatureInformation, activeParameter: languages.ParameterInformation | undefined): boolean {\n\t\tif (activeParameter && typeof activeParameter.documentation === 'string' && assertReturnsDefined(activeParameter.documentation).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (activeParameter && typeof activeParameter.documentation === 'object' && assertReturnsDefined(activeParameter.documentation).value.length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (signature.documentation && typeof signature.documentation === 'string' && assertReturnsDefined(signature.documentation).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (signature.documentation && typeof signature.documentation === 'object' && assertReturnsDefined(signature.documentation.value).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate renderParameters(parent: HTMLElement, signature: languages.SignatureInformation, activeParameterIndex: number): void {\n\t\tconst [start, end] = this.getParameterLabelOffsets(signature, activeParameterIndex);\n\n\t\tconst beforeSpan = document.createElement('span');\n\t\tbeforeSpan.textContent = signature.label.substring(0, start);\n\n\t\tconst paramSpan = document.createElement('span');\n\t\tparamSpan.textContent = signature.label.substring(start, end);\n\t\tparamSpan.className = 'parameter active';\n\n\t\tconst afterSpan = document.createElement('span');\n\t\tafterSpan.textContent = signature.label.substring(end);\n\n\t\tdom.append(parent, beforeSpan, paramSpan, afterSpan);\n\t}\n\n\tprivate getParameterLabelOffsets(signature: languages.SignatureInformation, paramIdx: number): [number, number] {\n\t\tconst param = signature.parameters[paramIdx];\n\t\tif (!param) {\n\t\t\treturn [0, 0];\n\t\t} else if (Array.isArray(param.label)) {\n\t\t\treturn param.label;\n\t\t} else if (!param.label.length) {\n\t\t\treturn [0, 0];\n\t\t} else {\n\t\t\tconst regex = new RegExp(`(\\\\W|^)${escapeRegExpCharacters(param.label)}(?=\\\\W|$)`, 'g');\n\t\t\tregex.test(signature.label);\n\t\t\tconst idx = regex.lastIndex - param.label.length;\n\t\t\treturn idx >= 0\n\t\t\t\t? [idx, regex.lastIndex]\n\t\t\t\t: [0, 0];\n\t\t}\n\t}\n\n\tnext(): void {\n\t\tthis.editor.focus();\n\t\tthis.model.next();\n\t}\n\n\tprevious(): void {\n\t\tthis.editor.focus();\n\t\tthis.model.previous();\n\t}\n\n\tgetDomNode(): HTMLElement {\n\t\tif (!this.domNodes) {\n\t\t\tthis.createParameterHintDOMNodes();\n\t\t}\n\t\treturn this.domNodes!.element;\n\t}\n\n\tgetId(): string {\n\t\treturn ParameterHintsWidget.ID;\n\t}\n\n\tprivate updateMaxHeight(): void {\n\t\tif (!this.domNodes) {\n\t\t\treturn;\n\t\t}\n\t\tconst height = Math.max(this.editor.getLayoutInfo().height / 4, 250);\n\t\tconst maxHeight = `${height}px`;\n\t\tthis.domNodes.element.style.maxHeight = maxHeight;\n\t\tconst wrapper = this.domNodes.element.getElementsByClassName('phwrapper') as HTMLCollectionOf<HTMLElement>;\n\t\tif (wrapper.length) {\n\t\t\twrapper[0].style.maxHeight = maxHeight;\n\t\t}\n\t}\n}\n\nregisterColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize('editorHoverWidgetHighlightForeground', 'Foreground color of the active item in the parameter hint.'));\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts"],"names":[],"mappings":"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","file":"parameterHintsWidget.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 * as dom from '../../../../base/browser/dom.js';\nimport * as aria from '../../../../base/browser/ui/aria/aria.js';\nimport { DomScrollableElement } from '../../../../base/browser/ui/scrollbar/scrollableElement.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { Event } from '../../../../base/common/event.js';\nimport { IMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { escapeRegExpCharacters } from '../../../../base/common/strings.js';\nimport { assertReturnsDefined } from '../../../../base/common/types.js';\nimport './parameterHints.css';\nimport { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from '../../../browser/editorBrowser.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';\nimport * as languages from '../../../common/languages.js';\nimport { ILanguageService } from '../../../common/languages/language.js';\nimport { IMarkdownRenderResult, MarkdownRenderer } from '../../../browser/widget/markdownRenderer/browser/markdownRenderer.js';\nimport { ParameterHintsModel } from './parameterHintsModel.js';\nimport { Context } from './provideSignatureHelp.js';\nimport * as nls from '../../../../nls.js';\nimport { IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\nimport { listHighlightForeground, registerColor } from '../../../../platform/theme/common/colorRegistry.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\n\nconst $ = dom.$;\n\nconst parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize('parameterHintsNextIcon', 'Icon for show next parameter hint.'));\nconst parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize('parameterHintsPreviousIcon', 'Icon for show previous parameter hint.'));\n\nexport class ParameterHintsWidget extends Disposable implements IContentWidget {\n\n\tprivate static readonly ID = 'editor.widget.parameterHintsWidget';\n\n\tprivate readonly markdownRenderer: MarkdownRenderer;\n\tprivate readonly renderDisposeables = this._register(new DisposableStore());\n\tprivate readonly keyVisible: IContextKey<boolean>;\n\tprivate readonly keyMultipleSignatures: IContextKey<boolean>;\n\n\tprivate domNodes?: {\n\t\treadonly element: HTMLElement;\n\t\treadonly signature: HTMLElement;\n\t\treadonly docs: HTMLElement;\n\t\treadonly overloads: HTMLElement;\n\t\treadonly scrollbar: DomScrollableElement;\n\t};\n\n\tprivate visible: boolean = false;\n\tprivate announcedLabel: string | null = null;\n\n\t// Editor.IContentWidget.allowEditorOverflow\n\tallowEditorOverflow = true;\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\tprivate readonly model: ParameterHintsModel,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IOpenerService openerService: IOpenerService,\n\t\t@ILanguageService languageService: ILanguageService\n\t) {\n\t\tsuper();\n\n\t\tthis.markdownRenderer = new MarkdownRenderer({ editor }, languageService, openerService);\n\n\t\tthis.keyVisible = Context.Visible.bindTo(contextKeyService);\n\t\tthis.keyMultipleSignatures = Context.MultipleSignatures.bindTo(contextKeyService);\n\t}\n\n\tprivate createParameterHintDOMNodes() {\n\t\tconst element = $('.editor-widget.parameter-hints-widget');\n\t\tconst wrapper = dom.append(element, $('.phwrapper'));\n\t\twrapper.tabIndex = -1;\n\n\t\tconst controls = dom.append(wrapper, $('.controls'));\n\t\tconst previous = dom.append(controls, $('.button' + ThemeIcon.asCSSSelector(parameterHintsPreviousIcon)));\n\t\tconst overloads = dom.append(controls, $('.overloads'));\n\t\tconst next = dom.append(controls, $('.button' + ThemeIcon.asCSSSelector(parameterHintsNextIcon)));\n\n\t\tthis._register(dom.addDisposableListener(previous, 'click', e => {\n\t\t\tdom.EventHelper.stop(e);\n\t\t\tthis.previous();\n\t\t}));\n\n\t\tthis._register(dom.addDisposableListener(next, 'click', e => {\n\t\t\tdom.EventHelper.stop(e);\n\t\t\tthis.next();\n\t\t}));\n\n\t\tconst body = $('.body');\n\t\tconst scrollbar = new DomScrollableElement(body, {\n\t\t\talwaysConsumeMouseWheel: true,\n\t\t});\n\t\tthis._register(scrollbar);\n\t\twrapper.appendChild(scrollbar.getDomNode());\n\n\t\tconst signature = dom.append(body, $('.signature'));\n\t\tconst docs = dom.append(body, $('.docs'));\n\n\t\telement.style.userSelect = 'text';\n\n\t\tthis.domNodes = {\n\t\t\telement,\n\t\t\tsignature,\n\t\t\toverloads,\n\t\t\tdocs,\n\t\t\tscrollbar,\n\t\t};\n\n\t\tthis.editor.addContentWidget(this);\n\t\tthis.hide();\n\n\t\tthis._register(this.editor.onDidChangeCursorSelection(e => {\n\t\t\tif (this.visible) {\n\t\t\t\tthis.editor.layoutContentWidget(this);\n\t\t\t}\n\t\t}));\n\n\t\tconst updateFont = () => {\n\t\t\tif (!this.domNodes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fontInfo = this.editor.getOption(EditorOption.fontInfo);\n\t\t\tconst element = this.domNodes.element;\n\t\t\telement.style.fontSize = `${fontInfo.fontSize}px`;\n\t\t\telement.style.lineHeight = `${fontInfo.lineHeight / fontInfo.fontSize}`;\n\t\t\telement.style.setProperty('--vscode-parameterHintsWidget-editorFontFamily', fontInfo.fontFamily);\n\t\t\telement.style.setProperty('--vscode-parameterHintsWidget-editorFontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t};\n\n\t\tupdateFont();\n\n\t\tthis._register(Event.chain(\n\t\t\tthis.editor.onDidChangeConfiguration.bind(this.editor),\n\t\t\t$ => $.filter(e => e.hasChanged(EditorOption.fontInfo))\n\t\t)(updateFont));\n\n\t\tthis._register(this.editor.onDidLayoutChange(e => this.updateMaxHeight()));\n\t\tthis.updateMaxHeight();\n\t}\n\n\tpublic show(): void {\n\t\tif (this.visible) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.domNodes) {\n\t\t\tthis.createParameterHintDOMNodes();\n\t\t}\n\n\t\tthis.keyVisible.set(true);\n\t\tthis.visible = true;\n\t\tsetTimeout(() => {\n\t\t\tthis.domNodes?.element.classList.add('visible');\n\t\t}, 100);\n\t\tthis.editor.layoutContentWidget(this);\n\t}\n\n\tpublic hide(): void {\n\t\tthis.renderDisposeables.clear();\n\n\t\tif (!this.visible) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyVisible.reset();\n\t\tthis.visible = false;\n\t\tthis.announcedLabel = null;\n\t\tthis.domNodes?.element.classList.remove('visible');\n\t\tthis.editor.layoutContentWidget(this);\n\t}\n\n\tgetPosition(): IContentWidgetPosition | null {\n\t\tif (this.visible) {\n\t\t\treturn {\n\t\t\t\tposition: this.editor.getPosition(),\n\t\t\t\tpreference: [ContentWidgetPositionPreference.ABOVE, ContentWidgetPositionPreference.BELOW]\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic render(hints: languages.SignatureHelp): void {\n\t\tthis.renderDisposeables.clear();\n\n\t\tif (!this.domNodes) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst multiple = hints.signatures.length > 1;\n\t\tthis.domNodes.element.classList.toggle('multiple', multiple);\n\t\tthis.keyMultipleSignatures.set(multiple);\n\n\t\tthis.domNodes.signature.innerText = '';\n\t\tthis.domNodes.docs.innerText = '';\n\n\t\tconst signature = hints.signatures[hints.activeSignature];\n\t\tif (!signature) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst code = dom.append(this.domNodes.signature, $('.code'));\n\t\tconst hasParameters = signature.parameters.length > 0;\n\t\tconst activeParameterIndex = signature.activeParameter ?? hints.activeParameter;\n\n\t\tif (!hasParameters) {\n\t\t\tconst label = dom.append(code, $('span'));\n\t\t\tlabel.textContent = signature.label;\n\t\t} else {\n\t\t\tthis.renderParameters(code, signature, activeParameterIndex);\n\t\t}\n\n\t\tconst activeParameter: languages.ParameterInformation | undefined = signature.parameters[activeParameterIndex];\n\t\tif (activeParameter?.documentation) {\n\t\t\tconst documentation = $('span.documentation');\n\t\t\tif (typeof activeParameter.documentation === 'string') {\n\t\t\t\tdocumentation.textContent = activeParameter.documentation;\n\t\t\t} else {\n\t\t\t\tconst renderedContents = this.renderMarkdownDocs(activeParameter.documentation);\n\t\t\t\tdocumentation.appendChild(renderedContents.element);\n\t\t\t}\n\t\t\tdom.append(this.domNodes.docs, $('p', {}, documentation));\n\t\t}\n\n\t\tif (signature.documentation === undefined) {\n\t\t\t/** no op */\n\t\t} else if (typeof signature.documentation === 'string') {\n\t\t\tdom.append(this.domNodes.docs, $('p', {}, signature.documentation));\n\t\t} else {\n\t\t\tconst renderedContents = this.renderMarkdownDocs(signature.documentation);\n\t\t\tdom.append(this.domNodes.docs, renderedContents.element);\n\t\t}\n\n\t\tconst hasDocs = this.hasDocs(signature, activeParameter);\n\n\t\tthis.domNodes.signature.classList.toggle('has-docs', hasDocs);\n\t\tthis.domNodes.docs.classList.toggle('empty', !hasDocs);\n\n\t\tthis.domNodes.overloads.textContent =\n\t\t\tString(hints.activeSignature + 1).padStart(hints.signatures.length.toString().length, '0') + '/' + hints.signatures.length;\n\n\t\tif (activeParameter) {\n\t\t\tlet labelToAnnounce = '';\n\t\t\tconst param = signature.parameters[activeParameterIndex];\n\t\t\tif (Array.isArray(param.label)) {\n\t\t\t\tlabelToAnnounce = signature.label.substring(param.label[0], param.label[1]);\n\t\t\t} else {\n\t\t\t\tlabelToAnnounce = param.label;\n\t\t\t}\n\t\t\tif (param.documentation) {\n\t\t\t\tlabelToAnnounce += typeof param.documentation === 'string' ? `, ${param.documentation}` : `, ${param.documentation.value}`;\n\t\t\t}\n\t\t\tif (signature.documentation) {\n\t\t\t\tlabelToAnnounce += typeof signature.documentation === 'string' ? `, ${signature.documentation}` : `, ${signature.documentation.value}`;\n\t\t\t}\n\n\t\t\t// Select method gets called on every user type while parameter hints are visible.\n\t\t\t// We do not want to spam the user with same announcements, so we only announce if the current parameter changed.\n\n\t\t\tif (this.announcedLabel !== labelToAnnounce) {\n\t\t\t\taria.alert(nls.localize('hint', \"{0}, hint\", labelToAnnounce));\n\t\t\t\tthis.announcedLabel = labelToAnnounce;\n\t\t\t}\n\t\t}\n\n\t\tthis.editor.layoutContentWidget(this);\n\t\tthis.domNodes.scrollbar.scanDomNode();\n\t}\n\n\tprivate renderMarkdownDocs(markdown: IMarkdownString): IMarkdownRenderResult {\n\t\tconst renderedContents = this.renderDisposeables.add(this.markdownRenderer.render(markdown, {\n\t\t\tasyncRenderCallback: () => {\n\t\t\t\tthis.domNodes?.scrollbar.scanDomNode();\n\t\t\t}\n\t\t}));\n\t\trenderedContents.element.classList.add('markdown-docs');\n\t\treturn renderedContents;\n\t}\n\n\tprivate hasDocs(signature: languages.SignatureInformation, activeParameter: languages.ParameterInformation | undefined): boolean {\n\t\tif (activeParameter && typeof activeParameter.documentation === 'string' && assertReturnsDefined(activeParameter.documentation).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (activeParameter && typeof activeParameter.documentation === 'object' && assertReturnsDefined(activeParameter.documentation).value.length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (signature.documentation && typeof signature.documentation === 'string' && assertReturnsDefined(signature.documentation).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (signature.documentation && typeof signature.documentation === 'object' && assertReturnsDefined(signature.documentation.value).length > 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate renderParameters(parent: HTMLElement, signature: languages.SignatureInformation, activeParameterIndex: number): void {\n\t\tconst [start, end] = this.getParameterLabelOffsets(signature, activeParameterIndex);\n\n\t\tconst beforeSpan = document.createElement('span');\n\t\tbeforeSpan.textContent = signature.label.substring(0, start);\n\n\t\tconst paramSpan = document.createElement('span');\n\t\tparamSpan.textContent = signature.label.substring(start, end);\n\t\tparamSpan.className = 'parameter active';\n\n\t\tconst afterSpan = document.createElement('span');\n\t\tafterSpan.textContent = signature.label.substring(end);\n\n\t\tdom.append(parent, beforeSpan, paramSpan, afterSpan);\n\t}\n\n\tprivate getParameterLabelOffsets(signature: languages.SignatureInformation, paramIdx: number): [number, number] {\n\t\tconst param = signature.parameters[paramIdx];\n\t\tif (!param) {\n\t\t\treturn [0, 0];\n\t\t} else if (Array.isArray(param.label)) {\n\t\t\treturn param.label;\n\t\t} else if (!param.label.length) {\n\t\t\treturn [0, 0];\n\t\t} else {\n\t\t\tconst regex = new RegExp(`(\\\\W|^)${escapeRegExpCharacters(param.label)}(?=\\\\W|$)`, 'g');\n\t\t\tregex.test(signature.label);\n\t\t\tconst idx = regex.lastIndex - param.label.length;\n\t\t\treturn idx >= 0\n\t\t\t\t? [idx, regex.lastIndex]\n\t\t\t\t: [0, 0];\n\t\t}\n\t}\n\n\tnext(): void {\n\t\tthis.editor.focus();\n\t\tthis.model.next();\n\t}\n\n\tprevious(): void {\n\t\tthis.editor.focus();\n\t\tthis.model.previous();\n\t}\n\n\tgetDomNode(): HTMLElement {\n\t\tif (!this.domNodes) {\n\t\t\tthis.createParameterHintDOMNodes();\n\t\t}\n\t\treturn this.domNodes!.element;\n\t}\n\n\tgetId(): string {\n\t\treturn ParameterHintsWidget.ID;\n\t}\n\n\tprivate updateMaxHeight(): void {\n\t\tif (!this.domNodes) {\n\t\t\treturn;\n\t\t}\n\t\tconst height = Math.max(this.editor.getLayoutInfo().height / 4, 250);\n\t\tconst maxHeight = `${height}px`;\n\t\tthis.domNodes.element.style.maxHeight = maxHeight;\n\t\tconst wrapper = this.domNodes.element.getElementsByClassName('phwrapper') as HTMLCollectionOf<HTMLElement>;\n\t\tif (wrapper.length) {\n\t\t\twrapper[0].style.maxHeight = maxHeight;\n\t\t}\n\t}\n}\n\nregisterColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize('editorHoverWidgetHighlightForeground', 'Foreground color of the active item in the parameter hint.'));\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.ts"],"names":[],"mappings":"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","file":"unusualLineTerminators.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 { Disposable } from '../../../../base/common/lifecycle.js';\nimport { basename } from '../../../../base/common/resources.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfirmationResult, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';\n\nconst ignoreUnusualLineTerminators = 'ignoreUnusualLineTerminators';\n\nfunction writeIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel, state: boolean): void {\n\tcodeEditorService.setModelProperty(model.uri, ignoreUnusualLineTerminators, state);\n}\n\nfunction readIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel): boolean | undefined {\n\treturn codeEditorService.getModelProperty(model.uri, ignoreUnusualLineTerminators);\n}\n\nexport class UnusualLineTerminatorsDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.unusualLineTerminatorsDetector';\n\n\tprivate _config: 'auto' | 'off' | 'prompt';\n\tprivate _isPresentingDialog: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IDialogService private readonly _dialogService: IDialogService,\n\t\t@ICodeEditorService private readonly _codeEditorService: ICodeEditorService\n\t) {\n\t\tsuper();\n\n\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\tthis._register(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.unusualLineTerminators)) {\n\t\t\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\t\t\tthis._checkForUnusualLineTerminators();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tif (e.isUndoing) {\n\t\t\t\t// skip checking in case of undoing\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._checkForUnusualLineTerminators();\n\t}\n\n\tprivate async _checkForUnusualLineTerminators(): Promise<void> {\n\t\tif (this._config === 'off') {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (!model.mightContainUnusualLineTerminators()) {\n\t\t\treturn;\n\t\t}\n\t\tconst ignoreState = readIgnoreState(this._codeEditorService, model);\n\t\tif (ignoreState === true) {\n\t\t\t// this model should be ignored\n\t\t\treturn;\n\t\t}\n\t\tif (this._editor.getOption(EditorOption.readOnly)) {\n\t\t\t// read only editor => sorry!\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._config === 'auto') {\n\t\t\t// just do it!\n\t\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPresentingDialog) {\n\t\t\t// we're currently showing the dialog, which is async.\n\t\t\t// avoid spamming the user\n\t\t\treturn;\n\t\t}\n\n\t\tlet result: IConfirmationResult;\n\t\ttry {\n\t\t\tthis._isPresentingDialog = true;\n\t\t\tresult = await this._dialogService.confirm({\n\t\t\t\ttitle: nls.localize('unusualLineTerminators.title', \"Unusual Line Terminators\"),\n\t\t\t\tmessage: nls.localize('unusualLineTerminators.message', \"Detected unusual line terminators\"),\n\t\t\t\tdetail: nls.localize('unusualLineTerminators.detail', \"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\\n\\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.\", basename(model.uri)),\n\t\t\t\tprimaryButton: nls.localize({ key: 'unusualLineTerminators.fix', comment: ['&& denotes a mnemonic'] }, \"&&Remove Unusual Line Terminators\"),\n\t\t\t\tcancelButton: nls.localize('unusualLineTerminators.ignore', \"Ignore\")\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._isPresentingDialog = false;\n\t\t}\n\n\t\tif (!result.confirmed) {\n\t\t\t// this model should be ignored\n\t\t\twriteIgnoreState(this._codeEditorService, model, true);\n\t\t\treturn;\n\t\t}\n\n\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t}\n}\n\nregisterEditorContribution(UnusualLineTerminatorsDetector.ID, UnusualLineTerminatorsDetector, EditorContributionInstantiation.AfterFirstRender);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.ts"],"names":[],"mappings":"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","file":"unusualLineTerminators.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 { Disposable } from '../../../../base/common/lifecycle.js';\nimport { basename } from '../../../../base/common/resources.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfirmationResult, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';\n\nconst ignoreUnusualLineTerminators = 'ignoreUnusualLineTerminators';\n\nfunction writeIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel, state: boolean): void {\n\tcodeEditorService.setModelProperty(model.uri, ignoreUnusualLineTerminators, state);\n}\n\nfunction readIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel): boolean | undefined {\n\treturn codeEditorService.getModelProperty(model.uri, ignoreUnusualLineTerminators) as boolean | undefined;\n}\n\nexport class UnusualLineTerminatorsDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.unusualLineTerminatorsDetector';\n\n\tprivate _config: 'auto' | 'off' | 'prompt';\n\tprivate _isPresentingDialog: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IDialogService private readonly _dialogService: IDialogService,\n\t\t@ICodeEditorService private readonly _codeEditorService: ICodeEditorService\n\t) {\n\t\tsuper();\n\n\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\tthis._register(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.unusualLineTerminators)) {\n\t\t\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\t\t\tthis._checkForUnusualLineTerminators();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tif (e.isUndoing) {\n\t\t\t\t// skip checking in case of undoing\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._checkForUnusualLineTerminators();\n\t}\n\n\tprivate async _checkForUnusualLineTerminators(): Promise<void> {\n\t\tif (this._config === 'off') {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (!model.mightContainUnusualLineTerminators()) {\n\t\t\treturn;\n\t\t}\n\t\tconst ignoreState = readIgnoreState(this._codeEditorService, model);\n\t\tif (ignoreState === true) {\n\t\t\t// this model should be ignored\n\t\t\treturn;\n\t\t}\n\t\tif (this._editor.getOption(EditorOption.readOnly)) {\n\t\t\t// read only editor => sorry!\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._config === 'auto') {\n\t\t\t// just do it!\n\t\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPresentingDialog) {\n\t\t\t// we're currently showing the dialog, which is async.\n\t\t\t// avoid spamming the user\n\t\t\treturn;\n\t\t}\n\n\t\tlet result: IConfirmationResult;\n\t\ttry {\n\t\t\tthis._isPresentingDialog = true;\n\t\t\tresult = await this._dialogService.confirm({\n\t\t\t\ttitle: nls.localize('unusualLineTerminators.title', \"Unusual Line Terminators\"),\n\t\t\t\tmessage: nls.localize('unusualLineTerminators.message', \"Detected unusual line terminators\"),\n\t\t\t\tdetail: nls.localize('unusualLineTerminators.detail', \"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\\n\\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.\", basename(model.uri)),\n\t\t\t\tprimaryButton: nls.localize({ key: 'unusualLineTerminators.fix', comment: ['&& denotes a mnemonic'] }, \"&&Remove Unusual Line Terminators\"),\n\t\t\t\tcancelButton: nls.localize('unusualLineTerminators.ignore', \"Ignore\")\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._isPresentingDialog = false;\n\t\t}\n\n\t\tif (!result.confirmed) {\n\t\t\t// this model should be ignored\n\t\t\twriteIgnoreState(this._codeEditorService, model, true);\n\t\t\treturn;\n\t\t}\n\n\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t}\n}\n\nregisterEditorContribution(UnusualLineTerminatorsDetector.ID, UnusualLineTerminatorsDetector, EditorContributionInstantiation.AfterFirstRender);\n"]}
@@ -617,7 +617,7 @@ export class Position {
617
617
  /**
618
618
  * Test if `obj` is an `IPosition`.
619
619
  */
620
- static isIPosition(obj: any): obj is IPosition;
620
+ static isIPosition(obj: unknown): obj is IPosition;
621
621
  toJSON(): IPosition;
622
622
  }
623
623
 
@@ -781,7 +781,7 @@ export class Range {
781
781
  /**
782
782
  * Test if `obj` is an `IRange`.
783
783
  */
784
- static isIRange(obj: any): obj is IRange;
784
+ static isIRange(obj: unknown): obj is IRange;
785
785
  /**
786
786
  * Test if the two ranges are touching in any way.
787
787
  */
@@ -907,7 +907,7 @@ export class Selection extends Range {
907
907
  /**
908
908
  * Test if `obj` is an `ISelection`.
909
909
  */
910
- static isISelection(obj: any): obj is ISelection;
910
+ static isISelection(obj: unknown): obj is ISelection;
911
911
  /**
912
912
  * Create with a direction.
913
913
  */
@@ -2633,7 +2633,7 @@ export namespace editor {
2633
2633
  cursorState: ICursorState[];
2634
2634
  viewState: IViewState;
2635
2635
  contributionsState: {
2636
- [id: string]: any;
2636
+ [id: string]: unknown;
2637
2637
  };
2638
2638
  }
2639
2639
 
@@ -2848,7 +2848,7 @@ export namespace editor {
2848
2848
  * @param handlerId The id of the handler or the id of a contribution.
2849
2849
  * @param payload Extra data to be sent to the handler.
2850
2850
  */
2851
- trigger(source: string | null | undefined, handlerId: string, payload: any): void;
2851
+ trigger(source: string | null | undefined, handlerId: string, payload: unknown): void;
2852
2852
  /**
2853
2853
  * Gets the current model attached to this editor.
2854
2854
  */
@@ -2920,11 +2920,11 @@ export namespace editor {
2920
2920
  /**
2921
2921
  * Store view state.
2922
2922
  */
2923
- saveViewState?(): any;
2923
+ saveViewState?(): unknown;
2924
2924
  /**
2925
2925
  * Restore view state.
2926
2926
  */
2927
- restoreViewState?(state: any): void;
2927
+ restoreViewState?(state: unknown): void;
2928
2928
  }
2929
2929
 
2930
2930
  /**
@@ -8390,7 +8390,7 @@ export namespace languages {
8390
8390
  id: string;
8391
8391
  title: string;
8392
8392
  tooltip?: string;
8393
- arguments?: any[];
8393
+ arguments?: unknown[];
8394
8394
  }
8395
8395
 
8396
8396
  export interface CommentThreadRevealOptions {
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneWebWorker.ts","vs/editor/standalone/browser/standaloneWebWorker.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAmB,YAA2B,EAAE,IAA+B;IAC7G,OAAO,IAAI,mBAAmB,CAAI,YAAY,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAqCD,MAAM,mBAAsC,SAAQ,kBAAkB;IAKrE,YAAY,YAA2B,EAAE,IAA+B;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClD,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;gBACpB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;oBACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;wBACrB,4GAA4G;wBAC5G,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;oBAClC,CAAC;oBACD,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;wBACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/B,CAAC,CAAC;gBACH,CAAC;aACD,CAAM,CAAC;QACT,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB;IACP,GAAG,CAAC,MAAc,EAAE,IAAW;QAC9C,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACvF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,MAAM,GAAG,uCAAuC,CAAC,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEM,mBAAmB,CAAC,SAAgB;QAC1C,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;CACD","file":"standaloneWebWorker.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 { URI } from '../../../base/common/uri.js';\nimport { EditorWorkerClient } from '../../browser/services/editorWorkerService.js';\nimport { IModelService } from '../../common/services/model.js';\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(modelService: IModelService, opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn new MonacoWebWorkerImpl<T>(modelService, opts);\n}\n\n/**\n * A web worker that can provide a proxy to an arbitrary file.\n */\nexport interface MonacoWebWorker<T> {\n\t/**\n\t * Terminate the web worker, thus invalidating the returned proxy.\n\t */\n\tdispose(): void;\n\t/**\n\t * Get a proxy to the arbitrary loaded code.\n\t */\n\tgetProxy(): Promise<T>;\n\t/**\n\t * Synchronize (send) the models at `resources` to the web worker,\n\t * making them available in the monaco.worker.getMirrorModels().\n\t */\n\twithSyncedResources(resources: URI[]): Promise<T>;\n}\n\nexport interface IInternalWebWorkerOptions {\n\t/**\n\t * The worker.\n\t */\n\tworker: Worker | Promise<Worker>;\n\t/**\n\t * An object that can be used by the web worker to make calls back to the main thread.\n\t */\n\thost?: any;\n\t/**\n\t * Keep idle models.\n\t * Defaults to false, which means that idle models will stop syncing after a while.\n\t */\n\tkeepIdleModels?: boolean;\n}\n\nclass MonacoWebWorkerImpl<T extends object> extends EditorWorkerClient implements MonacoWebWorker<T> {\n\n\tprivate readonly _foreignModuleHost: { [method: string]: Function } | null;\n\tprivate _foreignProxy: Promise<T>;\n\n\tconstructor(modelService: IModelService, opts: IInternalWebWorkerOptions) {\n\t\tsuper(opts.worker, opts.keepIdleModels || false, modelService);\n\t\tthis._foreignModuleHost = opts.host || null;\n\t\tthis._foreignProxy = this._getProxy().then(proxy => {\n\t\t\treturn new Proxy({}, {\n\t\t\t\tget(target, prop, receiver) {\n\t\t\t\t\tif (prop === 'then') {\n\t\t\t\t\t\t// Don't forward the call when the proxy is returned in an async function and the runtime tries to .then it.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof prop !== 'string') {\n\t\t\t\t\t\tthrow new Error(`Not supported`);\n\t\t\t\t\t}\n\t\t\t\t\treturn (...args: any[]) => {\n\t\t\t\t\t\treturn proxy.$fmr(prop, args);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}) as T;\n\t\t});\n\t}\n\n\t// foreign host request\n\tpublic override fhr(method: string, args: any[]): Promise<any> {\n\t\tif (!this._foreignModuleHost || typeof this._foreignModuleHost[method] !== 'function') {\n\t\t\treturn Promise.reject(new Error('Missing method ' + method + ' or missing main thread foreign host.'));\n\t\t}\n\n\t\ttry {\n\t\t\treturn Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost, args));\n\t\t} catch (e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n\n\tpublic getProxy(): Promise<T> {\n\t\treturn this._foreignProxy;\n\t}\n\n\tpublic withSyncedResources(resources: URI[]): Promise<T> {\n\t\treturn this.workerWithSyncedResources(resources).then(_ => this.getProxy());\n\t}\n}\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 { URI } from '../../../base/common/uri.js';\nimport { EditorWorkerClient } from '../../browser/services/editorWorkerService.js';\nimport { IModelService } from '../../common/services/model.js';\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(modelService: IModelService, opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn new MonacoWebWorkerImpl<T>(modelService, opts);\n}\n\n/**\n * A web worker that can provide a proxy to an arbitrary file.\n */\nexport interface MonacoWebWorker<T> {\n\t/**\n\t * Terminate the web worker, thus invalidating the returned proxy.\n\t */\n\tdispose(): void;\n\t/**\n\t * Get a proxy to the arbitrary loaded code.\n\t */\n\tgetProxy(): Promise<T>;\n\t/**\n\t * Synchronize (send) the models at `resources` to the web worker,\n\t * making them available in the monaco.worker.getMirrorModels().\n\t */\n\twithSyncedResources(resources: URI[]): Promise<T>;\n}\n\nexport interface IInternalWebWorkerOptions {\n\t/**\n\t * The worker.\n\t */\n\tworker: Worker | Promise<Worker>;\n\t/**\n\t * An object that can be used by the web worker to make calls back to the main thread.\n\t */\n\thost?: any;\n\t/**\n\t * Keep idle models.\n\t * Defaults to false, which means that idle models will stop syncing after a while.\n\t */\n\tkeepIdleModels?: boolean;\n}\n\nclass MonacoWebWorkerImpl<T extends object> extends EditorWorkerClient implements MonacoWebWorker<T> {\n\n\tprivate readonly _foreignModuleHost: { [method: string]: Function } | null;\n\tprivate _foreignProxy: Promise<T>;\n\n\tconstructor(modelService: IModelService, opts: IInternalWebWorkerOptions) {\n\t\tsuper(opts.worker, opts.keepIdleModels || false, modelService);\n\t\tthis._foreignModuleHost = opts.host || null;\n\t\tthis._foreignProxy = this._getProxy().then(proxy => {\n\t\t\treturn new Proxy({}, {\n\t\t\t\tget(target, prop, receiver) {\n\t\t\t\t\tif (prop === 'then') {\n\t\t\t\t\t\t// Don't forward the call when the proxy is returned in an async function and the runtime tries to .then it.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof prop !== 'string') {\n\t\t\t\t\t\tthrow new Error(`Not supported`);\n\t\t\t\t\t}\n\t\t\t\t\treturn (...args: any[]) => {\n\t\t\t\t\t\treturn proxy.$fmr(prop, args);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}) as T;\n\t\t});\n\t}\n\n\t// foreign host request\n\tpublic override fhr(method: string, args: any[]): Promise<any> {\n\t\tif (!this._foreignModuleHost || typeof this._foreignModuleHost[method] !== 'function') {\n\t\t\treturn Promise.reject(new Error('Missing method ' + method + ' or missing main thread foreign host.'));\n\t\t}\n\n\t\ttry {\n\t\t\treturn Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost, args));\n\t\t} catch (e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n\n\tpublic getProxy(): Promise<T> {\n\t\treturn this._foreignProxy;\n\t}\n\n\tpublic withSyncedResources(resources: URI[]): Promise<T> {\n\t\treturn this.workerWithSyncedResources(resources).then(_ => this.getProxy());\n\t}\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneWebWorker.ts","vs/editor/standalone/browser/standaloneWebWorker.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAmB,YAA2B,EAAE,IAA+B;IAC7G,OAAO,IAAI,mBAAmB,CAAI,YAAY,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAqCD,MAAM,mBAAsC,SAAQ,kBAAkB;IAKrE,YAAY,YAA2B,EAAE,IAA+B;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClD,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;gBACpB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;oBACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;wBACrB,4GAA4G;wBAC5G,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;oBAClC,CAAC;oBACD,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;wBACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/B,CAAC,CAAC;gBACH,CAAC;aACD,CAAM,CAAC;QACT,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB;IACP,GAAG,CAAC,MAAc,EAAE,IAAe;QAClD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACvF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,MAAM,GAAG,uCAAuC,CAAC,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEM,mBAAmB,CAAC,SAAgB;QAC1C,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;CACD","file":"standaloneWebWorker.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 { URI } from '../../../base/common/uri.js';\nimport { EditorWorkerClient } from '../../browser/services/editorWorkerService.js';\nimport { IModelService } from '../../common/services/model.js';\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(modelService: IModelService, opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn new MonacoWebWorkerImpl<T>(modelService, opts);\n}\n\n/**\n * A web worker that can provide a proxy to an arbitrary file.\n */\nexport interface MonacoWebWorker<T> {\n\t/**\n\t * Terminate the web worker, thus invalidating the returned proxy.\n\t */\n\tdispose(): void;\n\t/**\n\t * Get a proxy to the arbitrary loaded code.\n\t */\n\tgetProxy(): Promise<T>;\n\t/**\n\t * Synchronize (send) the models at `resources` to the web worker,\n\t * making them available in the monaco.worker.getMirrorModels().\n\t */\n\twithSyncedResources(resources: URI[]): Promise<T>;\n}\n\nexport interface IInternalWebWorkerOptions {\n\t/**\n\t * The worker.\n\t */\n\tworker: Worker | Promise<Worker>;\n\t/**\n\t * An object that can be used by the web worker to make calls back to the main thread.\n\t */\n\thost?: any;\n\t/**\n\t * Keep idle models.\n\t * Defaults to false, which means that idle models will stop syncing after a while.\n\t */\n\tkeepIdleModels?: boolean;\n}\n\nclass MonacoWebWorkerImpl<T extends object> extends EditorWorkerClient implements MonacoWebWorker<T> {\n\n\tprivate readonly _foreignModuleHost: { [method: string]: Function } | null;\n\tprivate _foreignProxy: Promise<T>;\n\n\tconstructor(modelService: IModelService, opts: IInternalWebWorkerOptions) {\n\t\tsuper(opts.worker, opts.keepIdleModels || false, modelService);\n\t\tthis._foreignModuleHost = opts.host || null;\n\t\tthis._foreignProxy = this._getProxy().then(proxy => {\n\t\t\treturn new Proxy({}, {\n\t\t\t\tget(target, prop, receiver) {\n\t\t\t\t\tif (prop === 'then') {\n\t\t\t\t\t\t// Don't forward the call when the proxy is returned in an async function and the runtime tries to .then it.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof prop !== 'string') {\n\t\t\t\t\t\tthrow new Error(`Not supported`);\n\t\t\t\t\t}\n\t\t\t\t\treturn (...args: any[]) => {\n\t\t\t\t\t\treturn proxy.$fmr(prop, args);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}) as T;\n\t\t});\n\t}\n\n\t// foreign host request\n\tpublic override fhr(method: string, args: unknown[]): Promise<any> {\n\t\tif (!this._foreignModuleHost || typeof this._foreignModuleHost[method] !== 'function') {\n\t\t\treturn Promise.reject(new Error('Missing method ' + method + ' or missing main thread foreign host.'));\n\t\t}\n\n\t\ttry {\n\t\t\treturn Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost, args));\n\t\t} catch (e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n\n\tpublic getProxy(): Promise<T> {\n\t\treturn this._foreignProxy;\n\t}\n\n\tpublic withSyncedResources(resources: URI[]): Promise<T> {\n\t\treturn this.workerWithSyncedResources(resources).then(_ => this.getProxy());\n\t}\n}\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 { URI } from '../../../base/common/uri.js';\nimport { EditorWorkerClient } from '../../browser/services/editorWorkerService.js';\nimport { IModelService } from '../../common/services/model.js';\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(modelService: IModelService, opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn new MonacoWebWorkerImpl<T>(modelService, opts);\n}\n\n/**\n * A web worker that can provide a proxy to an arbitrary file.\n */\nexport interface MonacoWebWorker<T> {\n\t/**\n\t * Terminate the web worker, thus invalidating the returned proxy.\n\t */\n\tdispose(): void;\n\t/**\n\t * Get a proxy to the arbitrary loaded code.\n\t */\n\tgetProxy(): Promise<T>;\n\t/**\n\t * Synchronize (send) the models at `resources` to the web worker,\n\t * making them available in the monaco.worker.getMirrorModels().\n\t */\n\twithSyncedResources(resources: URI[]): Promise<T>;\n}\n\nexport interface IInternalWebWorkerOptions {\n\t/**\n\t * The worker.\n\t */\n\tworker: Worker | Promise<Worker>;\n\t/**\n\t * An object that can be used by the web worker to make calls back to the main thread.\n\t */\n\thost?: any;\n\t/**\n\t * Keep idle models.\n\t * Defaults to false, which means that idle models will stop syncing after a while.\n\t */\n\tkeepIdleModels?: boolean;\n}\n\nclass MonacoWebWorkerImpl<T extends object> extends EditorWorkerClient implements MonacoWebWorker<T> {\n\n\tprivate readonly _foreignModuleHost: { [method: string]: Function } | null;\n\tprivate _foreignProxy: Promise<T>;\n\n\tconstructor(modelService: IModelService, opts: IInternalWebWorkerOptions) {\n\t\tsuper(opts.worker, opts.keepIdleModels || false, modelService);\n\t\tthis._foreignModuleHost = opts.host || null;\n\t\tthis._foreignProxy = this._getProxy().then(proxy => {\n\t\t\treturn new Proxy({}, {\n\t\t\t\tget(target, prop, receiver) {\n\t\t\t\t\tif (prop === 'then') {\n\t\t\t\t\t\t// Don't forward the call when the proxy is returned in an async function and the runtime tries to .then it.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof prop !== 'string') {\n\t\t\t\t\t\tthrow new Error(`Not supported`);\n\t\t\t\t\t}\n\t\t\t\t\treturn (...args: any[]) => {\n\t\t\t\t\t\treturn proxy.$fmr(prop, args);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}) as T;\n\t\t});\n\t}\n\n\t// foreign host request\n\tpublic override fhr(method: string, args: unknown[]): Promise<any> {\n\t\tif (!this._foreignModuleHost || typeof this._foreignModuleHost[method] !== 'function') {\n\t\t\treturn Promise.reject(new Error('Missing method ' + method + ' or missing main thread foreign host.'));\n\t\t}\n\n\t\ttry {\n\t\t\treturn Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost, args));\n\t\t} catch (e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n\n\tpublic getProxy(): Promise<T> {\n\t\treturn this._foreignProxy;\n\t}\n\n\tpublic withSyncedResources(resources: URI[]): Promise<T> {\n\t\treturn this.workerWithSyncedResources(resources).then(_ => this.getProxy());\n\t}\n}\n"]}
package/monaco.d.ts CHANGED
@@ -618,7 +618,7 @@ declare namespace monaco {
618
618
  /**
619
619
  * Test if `obj` is an `IPosition`.
620
620
  */
621
- static isIPosition(obj: any): obj is IPosition;
621
+ static isIPosition(obj: unknown): obj is IPosition;
622
622
  toJSON(): IPosition;
623
623
  }
624
624
 
@@ -782,7 +782,7 @@ declare namespace monaco {
782
782
  /**
783
783
  * Test if `obj` is an `IRange`.
784
784
  */
785
- static isIRange(obj: any): obj is IRange;
785
+ static isIRange(obj: unknown): obj is IRange;
786
786
  /**
787
787
  * Test if the two ranges are touching in any way.
788
788
  */
@@ -908,7 +908,7 @@ declare namespace monaco {
908
908
  /**
909
909
  * Test if `obj` is an `ISelection`.
910
910
  */
911
- static isISelection(obj: any): obj is ISelection;
911
+ static isISelection(obj: unknown): obj is ISelection;
912
912
  /**
913
913
  * Create with a direction.
914
914
  */
@@ -2635,7 +2635,7 @@ declare namespace monaco.editor {
2635
2635
  cursorState: ICursorState[];
2636
2636
  viewState: IViewState;
2637
2637
  contributionsState: {
2638
- [id: string]: any;
2638
+ [id: string]: unknown;
2639
2639
  };
2640
2640
  }
2641
2641
 
@@ -2850,7 +2850,7 @@ declare namespace monaco.editor {
2850
2850
  * @param handlerId The id of the handler or the id of a contribution.
2851
2851
  * @param payload Extra data to be sent to the handler.
2852
2852
  */
2853
- trigger(source: string | null | undefined, handlerId: string, payload: any): void;
2853
+ trigger(source: string | null | undefined, handlerId: string, payload: unknown): void;
2854
2854
  /**
2855
2855
  * Gets the current model attached to this editor.
2856
2856
  */
@@ -2922,11 +2922,11 @@ declare namespace monaco.editor {
2922
2922
  /**
2923
2923
  * Store view state.
2924
2924
  */
2925
- saveViewState?(): any;
2925
+ saveViewState?(): unknown;
2926
2926
  /**
2927
2927
  * Restore view state.
2928
2928
  */
2929
- restoreViewState?(state: any): void;
2929
+ restoreViewState?(state: unknown): void;
2930
2930
  }
2931
2931
 
2932
2932
  /**
@@ -8393,7 +8393,7 @@ declare namespace monaco.languages {
8393
8393
  id: string;
8394
8394
  title: string;
8395
8395
  tooltip?: string;
8396
- arguments?: any[];
8396
+ arguments?: unknown[];
8397
8397
  }
8398
8398
 
8399
8399
  export interface CommentThreadRevealOptions {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "monaco-editor-core",
3
3
  "private": false,
4
- "version": "0.54.0-dev-20251004",
4
+ "version": "0.54.0-dev-20251006",
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": "9defb53a3bf4267858fb2a57a47cdd8c244c261f",
17
+ "vscodeCommitId": "158749ca8941d5da5fff8b10567888cbedb46ea6",
18
18
  "dependencies": {
19
19
  "marked": "14.0.0",
20
20
  "dompurify": "3.1.7"