@codingame/monaco-vscode-api 1.85.0 → 1.85.1
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.
- package/README.md +19 -10
- package/contributions.js +1 -0
- package/missing-services.js +91 -5
- package/monaco-editor-treemending.patch +957 -950
- package/package.json +6 -6
- package/vscode/src/vs/base/common/jsonFormatter.js +8 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +128 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -1
- package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +58 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +56 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +186 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +191 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +238 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +205 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +168 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +340 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +1195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +81 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +583 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +290 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +167 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +562 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +31 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +24 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +193 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +22 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +52 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +258 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +25 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +388 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +61 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +49 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +647 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +300 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +60 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +107 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +333 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +99 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +55 -0
- package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +2 -0
- package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +20 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +855 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +410 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +1591 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +178 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +1485 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +125 -0
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +29 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +41 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +102 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +988 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +431 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +417 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +806 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +915 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +19 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +129 -10
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +205 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +150 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +480 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +5 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +90 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +54 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +108 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +258 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +614 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +307 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +44 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +165 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +78 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +169 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +64 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/cellOutputClipboard.js +49 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +70 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +120 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +416 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +663 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +593 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +72 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +326 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +539 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +265 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +348 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellEditorHint.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellInsertToolbar.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellOutput.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellStatusBar.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellTitleToolbar.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookDnd.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFocusIndicator.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookKernelActionViewItem.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +95 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +437 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +29 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +2730 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +139 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +564 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookViewEvents.js +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +119 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +135 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +178 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.js +35 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +377 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +97 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +194 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +71 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.js +20 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +85 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +652 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +59 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +303 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +24 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +228 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +302 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +438 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +45 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +435 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +95 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +107 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.js +29 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +59 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +67 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +430 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +54 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +1131 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +21 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1591 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +341 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2155 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +65 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +95 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +507 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +85 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +47 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +435 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +31 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +257 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +239 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +103 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +211 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +808 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/viewContext.js +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +381 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +527 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +163 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +651 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +173 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +98 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +62 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +101 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +346 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +152 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +39 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +296 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +261 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.js +3 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookPerformance.js +16 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +66 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWorkerService.js +4 -0
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +130 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +847 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +89 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +1942 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +107 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +49 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +387 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/common/constants.js +66 -0
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +11 -0
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +24 -0
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +95 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +4 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +159 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +375 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +563 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +932 -0
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +15 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +2 -2
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +190 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +77 -0
- package/assets/break.mp3 +0 -0
- package/assets/chatRequestSent.mp3 +0 -0
- package/assets/chatResponsePending.mp3 +0 -0
- package/assets/chatResponseReceived1.mp3 +0 -0
- package/assets/chatResponseReceived2.mp3 +0 -0
- package/assets/chatResponseReceived3.mp3 +0 -0
- package/assets/chatResponseReceived4.mp3 +0 -0
- package/assets/clear.mp3 +0 -0
- package/assets/defaultIcon.png +0 -0
- package/assets/diffLineDeleted.mp3 +0 -0
- package/assets/diffLineInserted.mp3 +0 -0
- package/assets/diffLineModified.mp3 +0 -0
- package/assets/error.mp3 +0 -0
- package/assets/fake.html +0 -10
- package/assets/foldedAreas.mp3 +0 -0
- package/assets/format.mp3 +0 -0
- package/assets/index-no-csp.html +0 -1226
- package/assets/index.html +0 -1227
- package/assets/quickFixes.mp3 +0 -0
- package/assets/save.mp3 +0 -0
- package/assets/service-worker.js +0 -457
- package/assets/taskCompleted.mp3 +0 -0
- package/assets/taskFailed.mp3 +0 -0
- package/assets/terminalBell.mp3 +0 -0
- package/assets/warning.mp3 +0 -0
- package/assets/webWorkerExtensionHostIframe.html +0 -123
- package/override/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
- package/override/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +0 -2
- package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -5
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
2
|
+
import { MarkdownString } from 'monaco-editor/esm/vs/base/common/htmlContent.js';
|
|
3
|
+
import { revive } from 'monaco-editor/esm/vs/base/common/marshalling.js';
|
|
4
|
+
import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
5
|
+
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
6
|
+
import { ChatRequestTextPart } from '../common/chatParserTypes.js';
|
|
7
|
+
const variableRefUrl = 'http://_vscodedecoration_';
|
|
8
|
+
function convertParsedRequestToMarkdown(parsedRequest) {
|
|
9
|
+
let result = '';
|
|
10
|
+
for (const part of parsedRequest.parts) {
|
|
11
|
+
if (part instanceof ChatRequestTextPart) {
|
|
12
|
+
result += part.text;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
result += `[${part.text}](${variableRefUrl})`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
function walkTreeAndAnnotateReferenceLinks(element) {
|
|
21
|
+
element.querySelectorAll('a').forEach(a => {
|
|
22
|
+
const href = a.getAttribute('data-href');
|
|
23
|
+
if (href) {
|
|
24
|
+
if (href.startsWith(variableRefUrl)) {
|
|
25
|
+
a.parentElement.replaceChild(renderResourceWidget(a.textContent), a);
|
|
26
|
+
}
|
|
27
|
+
else if (href.startsWith(contentRefUrl)) {
|
|
28
|
+
renderFileWidget(href, a);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function renderResourceWidget(name) {
|
|
34
|
+
const container = dom.$('span.chat-resource-widget');
|
|
35
|
+
const alias = dom.$('span', undefined, name);
|
|
36
|
+
container.appendChild(alias);
|
|
37
|
+
return container;
|
|
38
|
+
}
|
|
39
|
+
function renderFileWidget(href, a) {
|
|
40
|
+
const fullUri = ( URI.parse(href));
|
|
41
|
+
const location = revive(JSON.parse(fullUri.fragment));
|
|
42
|
+
const fragment = location.range ? `${location.range.startLineNumber}-${location.range.endLineNumber}` : '';
|
|
43
|
+
a.setAttribute('data-href', ( location.uri.with({ fragment }).toString()));
|
|
44
|
+
}
|
|
45
|
+
function extractVulnerabilitiesFromText(text) {
|
|
46
|
+
const vulnerabilities = [];
|
|
47
|
+
let newText = text;
|
|
48
|
+
let match;
|
|
49
|
+
while ((match = /<vscode_annotation details="(.*?)">(.*?)<\/vscode_annotation>/ms.exec(newText)) !== null) {
|
|
50
|
+
const [full, details, content] = match;
|
|
51
|
+
const start = match.index;
|
|
52
|
+
const textBefore = newText.substring(0, start);
|
|
53
|
+
const linesBefore = textBefore.split('\n').length - 1;
|
|
54
|
+
const linesInside = content.split('\n').length - 1;
|
|
55
|
+
const previousNewlineIdx = textBefore.lastIndexOf('\n');
|
|
56
|
+
const startColumn = start - (previousNewlineIdx + 1) + 1;
|
|
57
|
+
const endPreviousNewlineIdx = (textBefore + content).lastIndexOf('\n');
|
|
58
|
+
const endColumn = start + content.length - (endPreviousNewlineIdx + 1) + 1;
|
|
59
|
+
try {
|
|
60
|
+
const vulnDetails = JSON.parse(decodeURIComponent(details));
|
|
61
|
+
vulnDetails.forEach(({ title, description }) => vulnerabilities.push({
|
|
62
|
+
title, description, range: { startLineNumber: linesBefore + 1, startColumn, endLineNumber: linesBefore + linesInside + 1, endColumn }
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
}
|
|
67
|
+
newText = newText.substring(0, start) + content + newText.substring(start + full.length);
|
|
68
|
+
}
|
|
69
|
+
return { newText, vulnerabilities };
|
|
70
|
+
}
|
|
71
|
+
const contentRefUrl = 'http://_vscodecontentref_';
|
|
72
|
+
function annotateSpecialMarkdownContent(response) {
|
|
73
|
+
const result = [];
|
|
74
|
+
for (const item of response) {
|
|
75
|
+
const previousItem = result[result.length - 1];
|
|
76
|
+
if (item.kind === 'inlineReference') {
|
|
77
|
+
const location = 'uri' in item.inlineReference ? item.inlineReference : { uri: item.inlineReference };
|
|
78
|
+
const printUri = ( URI.parse(contentRefUrl)).with({ fragment: JSON.stringify(location) });
|
|
79
|
+
const markdownText = `[${item.name || basename(location.uri)}](${( printUri.toString())})`;
|
|
80
|
+
if (previousItem?.kind === 'markdownContent') {
|
|
81
|
+
result[result.length - 1] = { content: ( new MarkdownString(
|
|
82
|
+
previousItem.content.value + markdownText,
|
|
83
|
+
{ isTrusted: previousItem.content.isTrusted }
|
|
84
|
+
)), kind: 'markdownContent' };
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
result.push({ content: ( new MarkdownString(markdownText)), kind: 'markdownContent' });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (item.kind === 'markdownContent' && previousItem?.kind === 'markdownContent') {
|
|
91
|
+
result[result.length - 1] = { content: ( new MarkdownString(
|
|
92
|
+
previousItem.content.value + item.content.value,
|
|
93
|
+
{ isTrusted: previousItem.content.isTrusted }
|
|
94
|
+
)), kind: 'markdownContent' };
|
|
95
|
+
}
|
|
96
|
+
else if (item.kind === 'markdownVuln') {
|
|
97
|
+
const vulnText = encodeURIComponent(JSON.stringify(item.vulnerabilities));
|
|
98
|
+
const markdownText = `<vscode_annotation details="${vulnText}">${item.content.value}</vscode_annotation>`;
|
|
99
|
+
if (previousItem?.kind === 'markdownContent') {
|
|
100
|
+
result[result.length - 1] = { content: ( new MarkdownString(
|
|
101
|
+
previousItem.content.value + markdownText,
|
|
102
|
+
{ isTrusted: previousItem.content.isTrusted }
|
|
103
|
+
)), kind: 'markdownContent' };
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
result.push({ content: ( new MarkdownString(markdownText)), kind: 'markdownContent' });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
result.push(item);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
export { annotateSpecialMarkdownContent, convertParsedRequestToMarkdown, extractVulnerabilitiesFromText, walkTreeAndAnnotateReferenceLinks };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
3
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
5
|
+
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
6
|
+
import { IViewDescriptorService } from '../../../common/views.js';
|
|
7
|
+
var ChatEditorOptions_1;
|
|
8
|
+
let ChatEditorOptions = class ChatEditorOptions extends Disposable {
|
|
9
|
+
static { ChatEditorOptions_1 = this; }
|
|
10
|
+
static { this.lineHeightEm = 1.4; }
|
|
11
|
+
get configuration() {
|
|
12
|
+
return this._config;
|
|
13
|
+
}
|
|
14
|
+
static { this.relevantSettingIds = [
|
|
15
|
+
'chat.editor.lineHeight',
|
|
16
|
+
'chat.editor.fontSize',
|
|
17
|
+
'chat.editor.fontFamily',
|
|
18
|
+
'chat.editor.fontWeight',
|
|
19
|
+
'chat.editor.wordWrap',
|
|
20
|
+
'editor.cursorBlinking',
|
|
21
|
+
'editor.fontLigatures',
|
|
22
|
+
'editor.accessibilitySupport',
|
|
23
|
+
'editor.bracketPairColorization.enabled',
|
|
24
|
+
'editor.bracketPairColorization.independentColorPoolPerBracketType',
|
|
25
|
+
]; }
|
|
26
|
+
constructor(viewId, foreground, inputEditorBackgroundColor, resultEditorBackgroundColor, configurationService, themeService, viewDescriptorService) {
|
|
27
|
+
super();
|
|
28
|
+
this.foreground = foreground;
|
|
29
|
+
this.inputEditorBackgroundColor = inputEditorBackgroundColor;
|
|
30
|
+
this.resultEditorBackgroundColor = resultEditorBackgroundColor;
|
|
31
|
+
this.configurationService = configurationService;
|
|
32
|
+
this.themeService = themeService;
|
|
33
|
+
this.viewDescriptorService = viewDescriptorService;
|
|
34
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
35
|
+
this.onDidChange = this._onDidChange.event;
|
|
36
|
+
this._register(this.themeService.onDidColorThemeChange(e => this.update()));
|
|
37
|
+
this._register(this.viewDescriptorService.onDidChangeLocation(e => {
|
|
38
|
+
if (( e.views.some(v => v.id === viewId))) {
|
|
39
|
+
this.update();
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
this._register(this.configurationService.onDidChangeConfiguration(e => {
|
|
43
|
+
if (( ChatEditorOptions_1.relevantSettingIds.some(id => e.affectsConfiguration(id)))) {
|
|
44
|
+
this.update();
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
this.update();
|
|
48
|
+
}
|
|
49
|
+
update() {
|
|
50
|
+
const editorConfig = this.configurationService.getValue('editor');
|
|
51
|
+
const chatEditorConfig = this.configurationService.getValue('chat')?.editor;
|
|
52
|
+
const accessibilitySupport = this.configurationService.getValue('editor.accessibilitySupport');
|
|
53
|
+
this._config = {
|
|
54
|
+
foreground: this.themeService.getColorTheme().getColor(this.foreground),
|
|
55
|
+
inputEditor: {
|
|
56
|
+
backgroundColor: this.themeService.getColorTheme().getColor(this.inputEditorBackgroundColor),
|
|
57
|
+
accessibilitySupport,
|
|
58
|
+
},
|
|
59
|
+
resultEditor: {
|
|
60
|
+
backgroundColor: this.themeService.getColorTheme().getColor(this.resultEditorBackgroundColor),
|
|
61
|
+
fontSize: chatEditorConfig.fontSize,
|
|
62
|
+
fontFamily: chatEditorConfig.fontFamily === 'default' ? editorConfig.fontFamily : chatEditorConfig.fontFamily,
|
|
63
|
+
fontWeight: chatEditorConfig.fontWeight,
|
|
64
|
+
lineHeight: chatEditorConfig.lineHeight ? chatEditorConfig.lineHeight : ChatEditorOptions_1.lineHeightEm * chatEditorConfig.fontSize,
|
|
65
|
+
bracketPairColorization: {
|
|
66
|
+
enabled: this.configurationService.getValue('editor.bracketPairColorization.enabled'),
|
|
67
|
+
independentColorPoolPerBracketType: this.configurationService.getValue('editor.bracketPairColorization.independentColorPoolPerBracketType'),
|
|
68
|
+
},
|
|
69
|
+
wordWrap: chatEditorConfig.wordWrap,
|
|
70
|
+
fontLigatures: editorConfig.fontLigatures,
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
this._onDidChange.fire();
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
ChatEditorOptions = ChatEditorOptions_1 = ( __decorate([
|
|
77
|
+
( __param(4, IConfigurationService)),
|
|
78
|
+
( __param(5, IThemeService)),
|
|
79
|
+
( __param(6, IViewDescriptorService))
|
|
80
|
+
], ChatEditorOptions));
|
|
81
|
+
export { ChatEditorOptions };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
var css = ".chat-slash-command-content-widget{background-color:var(--vscode-chat-slashCommandBackground);border-radius:3px;color:var(--vscode-chat-slashCommandForeground);padding:1px}";
|
|
3
|
+
n(css,{});
|
|
4
|
+
export { css, css as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import './chatSlashCommandContentWidget.css.js';
|
|
2
|
+
import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
|
|
3
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
5
|
+
import * as aria from 'monaco-editor/esm/vs/base/browser/ui/aria/aria.js';
|
|
6
|
+
class SlashCommandContentWidget extends Disposable {
|
|
7
|
+
constructor(_editor) {
|
|
8
|
+
super();
|
|
9
|
+
this._editor = _editor;
|
|
10
|
+
this._domNode = document.createElement('div');
|
|
11
|
+
this._isVisible = false;
|
|
12
|
+
this._domNode.toggleAttribute('hidden', true);
|
|
13
|
+
this._domNode.classList.add('chat-slash-command-content-widget');
|
|
14
|
+
this._register(this._editor.onKeyDown((e) => this._handleKeyDown(e)));
|
|
15
|
+
}
|
|
16
|
+
dispose() {
|
|
17
|
+
this._editor.removeContentWidget(this);
|
|
18
|
+
super.dispose();
|
|
19
|
+
}
|
|
20
|
+
show() {
|
|
21
|
+
if (this._isVisible) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this._isVisible = true;
|
|
25
|
+
this._domNode.toggleAttribute('hidden', false);
|
|
26
|
+
this._editor.addContentWidget(this);
|
|
27
|
+
}
|
|
28
|
+
hide() {
|
|
29
|
+
this._isVisible = false;
|
|
30
|
+
this._domNode.toggleAttribute('hidden', true);
|
|
31
|
+
this._editor.removeContentWidget(this);
|
|
32
|
+
}
|
|
33
|
+
setCommandText(slashCommand) {
|
|
34
|
+
this._domNode.innerText = `/${slashCommand} `;
|
|
35
|
+
this._lastSlashCommandText = slashCommand;
|
|
36
|
+
}
|
|
37
|
+
getId() { return 'chat-slash-command-content-widget'; }
|
|
38
|
+
getDomNode() { return this._domNode; }
|
|
39
|
+
getPosition() { return { position: { lineNumber: 1, column: 1 }, preference: [0 ] }; }
|
|
40
|
+
_handleKeyDown(e) {
|
|
41
|
+
if (e.keyCode !== 1 ) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const firstLine = this._editor.getModel()?.getLineContent(1);
|
|
45
|
+
const selection = this._editor.getSelection();
|
|
46
|
+
const withSlash = `/${this._lastSlashCommandText} `;
|
|
47
|
+
if (!firstLine?.startsWith(withSlash) || !selection?.isEmpty() || selection?.startLineNumber !== 1 || selection?.startColumn !== withSlash.length + 1) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this._editor.executeEdits('chat-slash-command', [{
|
|
51
|
+
range: ( new Range(1, 1, 1, selection.startColumn)),
|
|
52
|
+
text: null
|
|
53
|
+
}]);
|
|
54
|
+
aria.alert(( localizeWithPath(
|
|
55
|
+
'vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget',
|
|
56
|
+
'exited slash command mode',
|
|
57
|
+
'Exited {0} mode',
|
|
58
|
+
this._lastSlashCommandText
|
|
59
|
+
)));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export { SlashCommandContentWidget };
|