@codingame/monaco-vscode-api 1.82.6 → 1.83.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/api.js +5 -5
- package/assets/index-no-csp.html +2 -1
- package/assets/index.html +3 -2
- package/extensions.js +17 -14
- package/external/xterm/typings/xterm.d.ts +171 -109
- package/missing-services.js +33 -22
- package/monaco-editor-treemending.patch +1371 -1254
- package/monaco-treemending.js +2 -2
- package/monaco.js +2 -2
- package/package.json +2 -2
- package/service-override/extensions.js +10 -11
- package/services.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/common/event.d.ts +13 -17
- package/vscode/src/vs/base/common/keyCodes.d.ts +18 -18
- package/vscode/src/vs/base/common/lifecycle.d.ts +9 -0
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +2 -0
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +6 -2
- package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -0
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +12 -3
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -5
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +9 -2
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +6 -20
- package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.d.ts +2 -2
- package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +5 -55
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +55 -0
- package/vscode/src/vs/editor/common/languages.d.ts +7 -10
- package/vscode/src/vs/editor/common/model.d.ts +1 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +5 -5
- package/vscode/src/vs/platform/files/common/fileService.js +46 -40
- package/vscode/src/vs/platform/files/common/files.d.ts +46 -1
- package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +45 -0
- package/vscode/src/vs/platform/storage/common/storage.d.ts +5 -0
- package/vscode/src/vs/platform/storage/common/storage.js +4 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +4 -1
- package/vscode/src/vs/platform/terminal/common/terminal.js +1 -3
- package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +11 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +50 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +16 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +20 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +8 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +93 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -166
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +18 -11
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +14 -9
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +11 -2
- package/vscode/src/vs/workbench/api/common/extHostChat.js +10 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +62 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +13 -4
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +36 -4
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +6 -29
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +24 -12
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +0 -2
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +0 -63
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +80 -0
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +24 -0
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +14 -10
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -7
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +34 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +31 -13
- package/vscode/src/vs/workbench/api/common/extHostWebview.js +14 -2
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +11 -5
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +32 -9
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +3 -1
- package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
- package/vscode/src/vs/workbench/browser/dnd.js +7 -6
- package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +7 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +7 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +9 -3
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +9 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +44 -14
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -19
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -3
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -9
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -0
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -5
- package/vscode/src/vs/workbench/browser/web.api.d.ts +0 -6
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +34 -3
- package/vscode/src/vs/workbench/common/contextkeys.js +2 -1
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +4 -4
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +0 -1
- package/vscode/src/vs/workbench/common/editor/editorInput.js +2 -4
- package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +0 -1
- package/vscode/src/vs/workbench/common/editor/editorModel.js +1 -3
- package/vscode/src/vs/workbench/common/editor.d.ts +2 -0
- package/vscode/src/vs/workbench/common/theme.js +21 -1
- package/vscode/src/vs/workbench/common/views.d.ts +1 -1
- package/vscode/src/vs/workbench/common/views.js +1 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +12 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +335 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +81 -27
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -1
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +22 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +136 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +78 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -17
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +30 -26
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +23 -18
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +8 -8
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +55 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +26 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +7 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +58 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +9 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +171 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +204 -33
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +3 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +21 -4
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +7 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +7 -5
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +17 -17
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +4 -1
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +22 -19
- package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +2 -38
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +14 -1
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +3 -8
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +10 -12
- package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +0 -16
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +2 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -6
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +2 -4
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +2 -4
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +7 -3
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +2 -6
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -20
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +9 -13
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -1
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +47 -15
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +14 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +22 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +15 -14
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +12 -7
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -6
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +27 -11
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +2 -5
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +7 -11
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +20 -4
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -16
- package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +6 -6
- package/vscode/src/vs/workbench/services/preferences/common/preferences.js +4 -3
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +0 -1
- package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -1
- package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +1 -2
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -8
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -4
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +2 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.js +4 -2
- package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +0 -180
- package/vscode/src/vs/platform/credentials/common/credentials.d.ts +0 -13
- package/vscode/src/vs/platform/credentials/common/credentials.js +0 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadKeytar.js +0 -31
- package/vscode/src/vs/workbench/browser/iframe.js +0 -16
- package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +0 -90
- package/vscode/src/vs/workbench/browser/parts/editor/tabFocus.js +0 -77
- package/vscode/src/vs/workbench/contrib/output/browser/logViewer.js +0 -67
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".review-widget{position:absolute;width:100%}.monaco-editor .review-widget{background-color:var(--vscode-peekViewResult-background)}.review-widget .hidden{display:none!important}.review-widget .body{overflow:hidden}.review-widget .body .review-comment{display:flex;padding:8px 16px 8px 20px}@keyframes monaco-review-widget-focus{0%{background:var(--vscode-peekViewResult-selectionBackground)}to{background:transparent}}.review-widget .body .review-comment.focus{animation:monaco-review-widget-focus 3s ease 0s}.review-widget .body .review-comment .comment-actions{margin-left:auto}.review-widget .body .review-comment .comment-actions .monaco-toolbar{height:22px}.review-widget .body .review-comment .comment-title .comment-header-info{overflow:hidden;text-overflow:ellipsis}.review-widget .body .review-comment .comment-title{display:flex;width:100%}.review-widget .body .review-comment .comment-title .action-label.codicon{line-height:18px}.review-widget .body .review-comment .comment-title .monaco-dropdown .toolbar-toggle-more{height:18px;line-height:18px;vertical-align:middle;width:16px}.review-widget .body .comment-body blockquote{border-left-style:solid;border-left-width:5px;margin:0 7px 0 5px;padding:0 16px 0 10px}.review-widget .body .review-comment .avatar-container{margin-top:4px!important}.review-widget .body .review-comment .avatar-container img.avatar{border-radius:3px;border-style:none;display:inline-block;height:28px;line-height:1;overflow:hidden;vertical-align:middle;width:28px}.review-widget .body .comment-reactions .monaco-text-button{background-color:transparent;border:1px solid grey;border-radius:3px;margin:0 7px 0 0;width:30px}.review-widget .body .review-comment .review-comment-contents{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text;width:100%}.review-widget .body pre{word-wrap:normal;overflow:auto;white-space:pre}.review-widget .body .review-comment .review-comment-contents .author{line-height:22px}.review-widget .body .review-comment .review-comment-contents .isPending{font-style:italic;line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .timestamp{line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .comment-body .comment-body-plainstring{white-space:pre-wrap}.review-widget .body .review-comment .review-comment-contents .comment-body{padding-top:4px}.review-widget .body .review-comment .review-comment-contents .comment-body-max-height{max-height:20em}.review-widget .body .review-comment .review-comment-contents .comment-reactions{margin-top:8px;min-height:25px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label{display:flex;font-size:12px;padding:1px 4px;text-align:center;white-space:pre}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-position:0;background-repeat:no-repeat;background-size:14px;display:inline-block;margin-right:4px;width:14px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-label{line-height:20px;margin-right:4px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.toolbar-toggle-pickReactions{background-position:50%;background-repeat:no-repeat;background-size:16px;border:none;display:none;font-size:16px;height:16px;margin-top:3px;width:26px}.review-widget .body .review-comment .review-comment-contents .comment-reactions:hover .action-item a.action-label.toolbar-toggle-pickReactions{background-size:16px;display:inline-block}.review-widget .body .review-comment .comment-title .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block;height:16px;line-height:16px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label{border:1px solid}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.disabled{opacity:.6}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.active:hover{background-color:var(--vscode-statusBarItem-hoverBackground)}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label:active{background-color:var(--vscode-statusBarItem-activeBackground);border:1px solid transparent}.review-widget .body .review-comment .review-comment-contents a{cursor:pointer}.review-widget .body .comment-body p,.review-widget .body .comment-body ul{margin:8px 0}.review-widget .body .comment-body p:first-child,.review-widget .body .comment-body ul:first-child{margin-top:0}.review-widget .body .comment-body p:last-child,.review-widget .body.comment-body ul:last-child{margin-bottom:0}.review-widget .body .comment-body ul{padding-left:20px}.review-widget .body .comment-body li>p{margin-bottom:0}.review-widget .body .comment-body li>ul{margin-top:0}.review-widget .body .comment-body code{border-radius:3px;padding:0 .4em}.review-widget .body .comment-body span{white-space:pre}.review-widget .body .comment-body img{max-width:100%}.review-widget .body .comment-form{margin:8px 20px}.review-widget .validation-error{word-wrap:break-word;box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-left:-1px;margin-top:-1px;min-height:34px;overflow:hidden;padding:.4em;text-align:left;width:100%}.review-widget .body .comment-additional-actions{margin:10px 20px}.review-widget .body .comment-additional-actions .section-separator{border-top:1px solid var(--vscode-menu-separatorBackground);margin:10px 0 14px}.review-widget .body .comment-additional-actions .button-bar{display:flex;white-space:nowrap}.review-widget .body .comment-additional-actions .monaco-button,.review-widget .body .comment-additional-actions .monaco-button-dropdown,.review-widget .body .comment-additional-actions .monaco-text-button{display:flex;width:auto}.review-widget .body .comment-additional-actions .button-bar>.monaco-button-dropdown,.review-widget .body .comment-additional-actions .button-bar>.monaco-text-button{margin:0 10px 0 0}.review-widget .body .comment-additional-actions .button-bar .monaco-text-button{padding:4px 10px}.review-widget .body .comment-additional-actions .codicon-drop-down-button{align-items:center}.review-widget .body .monaco-editor{color:var(--vscode-editor-foreground)}.review-widget .body .comment-form.expand .review-thread-reply-button{display:none}.review-widget .body .comment-form.expand .form-actions,.review-widget .body .comment-form.expand .monaco-editor{box-sizing:content-box;display:block}.review-widget .body .comment-form .review-thread-reply-button{background-color:var(--vscode-peekViewTitle-background);border:0;border-radius:0;box-sizing:border-box;color:var(--vscode-editor-foreground);display:block;font-family:var(--monaco-monospace-font);font-size:inherit;font-weight:600;line-height:20px;outline:1px solid transparent;padding:6px 12px;resize:vertical;text-align:left;white-space:nowrap;width:100%}.review-widget .body .comment-form .review-thread-reply-button:focus{outline-style:solid;outline-width:1px}.review-widget .body .comment-form .monaco-editor,.review-widget .body .comment-form .monaco-editor .monaco-editor-background,.review-widget .body .edit-container .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewTitle-background)}.review-widget .body .comment-form .monaco-editor,.review-widget .body .edit-container .monaco-editor{border:0;border-radius:3px;box-sizing:content-box;max-height:500px;min-height:90px;padding:6px 0 6px 12px;width:100%}.review-widget .body .comment-form .form-actions,.review-widget .body .comment-form .monaco-editor{display:none}.review-widget .body .comment-form .form-actions,.review-widget .body .edit-container .form-actions{margin:10px 0;overflow:auto}.review-widget .body .edit-container .form-actions{padding-top:10px}.review-widget .body .edit-textarea{height:90px;margin:5px 12px 10px 0}.review-widget .body .comment-form .monaco-text-button,.review-widget .body .edit-container .monaco-text-button{margin-left:5px;padding:4px 10px;width:auto}.review-widget .body .form-actions .monaco-text-button{float:right}.review-widget .head{box-sizing:border-box;display:flex;height:100%}.review-widget .head .review-title{cursor:default;display:inline-block;font-size:13px;margin-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-widget .head .review-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.review-widget .head .review-actions{flex:1;padding-right:2px;text-align:right}.review-widget .head .review-actions>.monaco-action-bar{display:inline-block}.review-widget .head .review-actions>.monaco-action-bar,.review-widget .head .review-actions>.monaco-action-bar>.actions-container{height:100%}.review-widget .action-item{margin-left:4px;min-height:20px;min-width:18px}.review-widget .head .review-actions>.monaco-action-bar .action-label{background-position:50%;background-repeat:no-repeat;line-height:inherit;margin:0}.review-widget .head .review-actions>.monaco-action-bar .action-label.codicon{margin:0}.review-widget>.body{border-top:1px solid;position:relative}.monaco-editor .comment-range-glyph{cursor:pointer;margin-left:10px;width:4px!important;z-index:10}div.preview.inline .monaco-editor .comment-range-glyph{display:none!important}.monaco-editor .comment-diff-added{border-left-style:solid;border-left-width:3px}.monaco-editor .comment-diff-added,.monaco-editor .comment-range-glyph.multiline-add{border-left-color:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-diff-added:before,.monaco-editor .comment-range-glyph.line-hover:before,.monaco-editor .comment-thread-unresolved:before,.monaco-editor .comment-thread:before{background:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-thread-range{background-color:var(--vscode-editorCommentsWidget-rangeBackground)}.monaco-editor .comment-thread-range-current{background-color:var(--vscode-editorCommentsWidget-rangeActiveBackground)}.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread,.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread-unresolved,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover{margin-left:13px}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{align-items:center;color:var(--vscode-editorGutter-commentGlyphForeground);display:flex;flex-direction:row;height:100%;justify-content:center;left:-6px;position:absolute;text-align:center;width:9px;z-index:10}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{color:var(--vscode-editorGutter-commentUnresolvedGlyphForeground)}.monaco-editor .margin-view-overlays .comment-range-glyph.multiline-add{border-left-style:dotted;border-left-width:3px;height:16px;margin-top:2px}.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{border-radius:3px;content:\"\\ea60\";font-family:codicon;margin-left:-5px;padding-left:1px;width:18px!important}.monaco-editor .comment-range-glyph.comment-thread,.monaco-editor .comment-range-glyph.comment-thread-unresolved{z-index:20}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before{border-radius:3px;font-family:codicon;font-size:13px;line-height:100%;margin-left:-5px;padding-left:1px;padding-top:1px;width:18px!important;z-index:20}.monaco-editor .comment-range-glyph.comment-thread:before{content:\"\\ea6b\"}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{content:\"\\ec0a\"}.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-collapsed,.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-expanded{margin-left:11px}.monaco-editor.inline-comment .margin-view-overlays .dirty-diff-glyph{margin-left:25px}";
|
|
2
|
+
var css = ".review-widget{position:absolute;width:100%}.monaco-editor .review-widget{background-color:var(--vscode-peekViewResult-background)}.review-widget .hidden{display:none!important}.review-widget .body{overflow:hidden}.review-widget .body .review-comment{display:flex;padding:8px 16px 8px 20px}@keyframes monaco-review-widget-focus{0%{background:var(--vscode-peekViewResult-selectionBackground)}to{background:transparent}}.review-widget .body .review-comment.focus{animation:monaco-review-widget-focus 3s ease 0s}.review-widget .body .review-comment .comment-actions{margin-left:auto}.review-widget .body .review-comment .comment-actions .monaco-toolbar{height:22px}.review-widget .body .review-comment .comment-title .comment-header-info{overflow:hidden;text-overflow:ellipsis}.review-widget .body .review-comment .comment-title{display:flex;width:100%}.review-widget .body .review-comment .comment-title .action-label.codicon{line-height:18px}.review-widget .body .review-comment .comment-title .monaco-dropdown .toolbar-toggle-more{height:18px;line-height:18px;vertical-align:middle;width:16px}.review-widget .body .comment-body blockquote{border-left-style:solid;border-left-width:5px;margin:0 7px 0 5px;padding:0 16px 0 10px}.review-widget .body .review-comment .avatar-container{margin-top:4px!important}.review-widget .body .review-comment .avatar-container img.avatar{border-radius:3px;border-style:none;display:inline-block;height:28px;line-height:1;overflow:hidden;vertical-align:middle;width:28px}.review-widget .body .comment-reactions .monaco-text-button{background-color:transparent;border:1px solid grey;border-radius:3px;margin:0 7px 0 0;width:30px}.review-widget .body .review-comment .review-comment-contents{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text;width:100%}.review-widget .body pre{word-wrap:normal;overflow:auto;white-space:pre}.review-widget .body .review-comment .review-comment-contents .author{line-height:22px}.review-widget .body .review-comment .review-comment-contents .isPending{font-style:italic;line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .timestamp{line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .comment-body .comment-body-plainstring{white-space:pre-wrap}.review-widget .body .review-comment .review-comment-contents .comment-body{padding-top:4px}.review-widget .body .review-comment .review-comment-contents .comment-body-max-height{max-height:20em}.review-widget .body .review-comment .review-comment-contents .comment-reactions{margin-top:8px;min-height:25px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label{display:flex;font-size:12px;padding:1px 4px;text-align:center;white-space:pre}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-position:0;background-repeat:no-repeat;background-size:14px;display:inline-block;margin-right:4px;width:14px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-label{line-height:20px;margin-right:4px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.toolbar-toggle-pickReactions{background-position:50%;background-repeat:no-repeat;background-size:16px;border:none;display:none;font-size:16px;height:16px;margin-top:3px;width:26px}.review-widget .body .review-comment .review-comment-contents .comment-reactions:hover .action-item a.action-label.toolbar-toggle-pickReactions{background-size:16px;display:inline-block}.review-widget .body .review-comment .comment-title .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block;height:16px;line-height:16px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label{border:1px solid}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.disabled{opacity:.6}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.active:hover{background-color:var(--vscode-statusBarItem-hoverBackground)}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label:active{background-color:var(--vscode-statusBarItem-activeBackground);border:1px solid transparent}.review-widget .body .review-comment .review-comment-contents a{cursor:pointer}.review-widget .body .comment-body p,.review-widget .body .comment-body ul{margin:8px 0}.review-widget .body .comment-body p:first-child,.review-widget .body .comment-body ul:first-child{margin-top:0}.review-widget .body .comment-body p:last-child,.review-widget .body.comment-body ul:last-child{margin-bottom:0}.review-widget .body .comment-body ul{padding-left:20px}.review-widget .body .comment-body li>p{margin-bottom:0}.review-widget .body .comment-body li>ul{margin-top:0}.review-widget .body .comment-body code{border-radius:3px;padding:0 .4em}.review-widget .body .comment-body span{white-space:pre}.review-widget .body .comment-body img{max-width:100%}.review-widget .body .comment-form{margin:8px 20px}.review-widget .validation-error{word-wrap:break-word;box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-left:-1px;margin-top:-1px;min-height:34px;overflow:hidden;padding:.4em;text-align:left;width:100%}.review-widget .body .comment-additional-actions{margin:10px 20px}.review-widget .body .comment-additional-actions .section-separator{border-top:1px solid var(--vscode-menu-separatorBackground);margin:10px 0 14px}.review-widget .body .comment-additional-actions .button-bar{display:flex;white-space:nowrap}.review-widget .body .comment-additional-actions .monaco-button,.review-widget .body .comment-additional-actions .monaco-button-dropdown,.review-widget .body .comment-additional-actions .monaco-text-button{display:flex;width:auto}.review-widget .body .comment-additional-actions .button-bar>.monaco-button-dropdown,.review-widget .body .comment-additional-actions .button-bar>.monaco-text-button{margin:0 10px 0 0}.review-widget .body .comment-additional-actions .button-bar .monaco-text-button{padding:4px 10px}.review-widget .body .comment-additional-actions .codicon-drop-down-button{align-items:center}.review-widget .body .monaco-editor{color:var(--vscode-editor-foreground)}.review-widget .body .comment-form.expand .review-thread-reply-button{display:none}.review-widget .body .comment-form.expand .form-actions,.review-widget .body .comment-form.expand .monaco-editor{box-sizing:content-box;display:block}.review-widget .body .comment-form .review-thread-reply-button{background-color:var(--vscode-peekViewTitle-background);border:0;border-radius:0;box-sizing:border-box;color:var(--vscode-editor-foreground);display:block;font-family:var(--monaco-monospace-font);font-size:inherit;font-weight:600;line-height:20px;outline:1px solid transparent;padding:6px 12px;resize:vertical;text-align:left;white-space:nowrap;width:100%}.review-widget .body .comment-form .review-thread-reply-button:focus{outline-style:solid;outline-width:1px}.review-widget .body .comment-form .monaco-editor,.review-widget .body .comment-form .monaco-editor .monaco-editor-background,.review-widget .body .edit-container .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewTitle-background)}.review-widget .body .comment-form .monaco-editor,.review-widget .body .edit-container .monaco-editor{border:0;border-radius:3px;box-sizing:content-box;max-height:500px;min-height:90px;padding:6px 0 6px 12px;width:100%}.review-widget .body .comment-form .form-actions,.review-widget .body .comment-form .monaco-editor{display:none}.review-widget .body .comment-form .form-actions,.review-widget .body .edit-container .form-actions{margin:10px 0;overflow:auto}.review-widget .body .edit-container .form-actions{padding-top:10px}.review-widget .body .edit-textarea{margin:5px 12px 10px 0}.review-widget .body .comment-form .monaco-text-button,.review-widget .body .edit-container .monaco-text-button{margin-left:5px;padding:4px 10px;width:auto}.review-widget .body .form-actions .monaco-text-button{float:right}.review-widget .head{box-sizing:border-box;display:flex;height:100%}.review-widget .head .review-title{cursor:default;display:inline-block;font-size:13px;margin-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-widget .head .review-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.review-widget .head .review-actions{flex:1;padding-right:2px;text-align:right}.review-widget .head .review-actions>.monaco-action-bar{display:inline-block}.review-widget .head .review-actions>.monaco-action-bar,.review-widget .head .review-actions>.monaco-action-bar>.actions-container{height:100%}.review-widget .action-item{margin-left:4px;min-height:20px;min-width:18px}.review-widget .head .review-actions>.monaco-action-bar .action-label{background-position:50%;background-repeat:no-repeat;line-height:inherit;margin:0}.review-widget .head .review-actions>.monaco-action-bar .action-label.codicon{margin:0}.review-widget>.body{border-top:1px solid;position:relative}.monaco-editor .comment-range-glyph{cursor:pointer;margin-left:10px;width:4px!important;z-index:10}div.preview.inline .monaco-editor .comment-range-glyph{display:none!important}.monaco-editor .comment-diff-added{border-left-style:solid;border-left-width:3px}.monaco-editor .comment-diff-added,.monaco-editor .comment-range-glyph.multiline-add{border-left-color:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-diff-added:before,.monaco-editor .comment-range-glyph.line-hover:before,.monaco-editor .comment-thread-unresolved:before,.monaco-editor .comment-thread:before{background:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-thread-range{background-color:var(--vscode-editorCommentsWidget-rangeBackground)}.monaco-editor .comment-thread-range-current{background-color:var(--vscode-editorCommentsWidget-rangeActiveBackground)}.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread,.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread-unresolved,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover{margin-left:13px}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{align-items:center;color:var(--vscode-editorGutter-commentGlyphForeground);display:flex;flex-direction:row;height:100%;justify-content:center;left:-6px;position:absolute;text-align:center;width:9px;z-index:10}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{color:var(--vscode-editorGutter-commentUnresolvedGlyphForeground)}.monaco-editor .margin-view-overlays .comment-range-glyph.multiline-add{border-left-style:dotted;border-left-width:3px;height:16px;margin-top:2px}.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{border-radius:3px;content:\"\\ea60\";font-family:codicon;margin-left:-5px;padding-left:1px;width:18px!important}.monaco-editor .comment-range-glyph.comment-thread,.monaco-editor .comment-range-glyph.comment-thread-unresolved{z-index:20}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before{border-radius:3px;font-family:codicon;font-size:13px;line-height:100%;margin-left:-5px;padding-left:1px;padding-top:1px;width:18px!important;z-index:20}.monaco-editor .comment-range-glyph.comment-thread:before{content:\"\\ea6b\"}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{content:\"\\ec0a\"}.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-collapsed,.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-expanded{margin-left:11px}.monaco-editor.inline-comment .margin-view-overlays .dirty-diff-glyph{margin-left:25px}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -17,6 +17,8 @@ import { CommentContextKeys } from '../common/commentContextKeys.js';
|
|
|
17
17
|
import { ILanguageConfigurationService } from 'monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js';
|
|
18
18
|
import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
|
|
19
19
|
const ctxCommentEditorFocused = ( new RawContextKey('commentEditorFocused', false));
|
|
20
|
+
const MIN_EDITOR_HEIGHT = 5 * 18;
|
|
21
|
+
const MAX_EDITOR_HEIGHT = 25 * 18;
|
|
20
22
|
let SimpleCommentEditor = class SimpleCommentEditor extends CodeEditorWidget {
|
|
21
23
|
constructor(domElement, options, scopedContextKeyService, parentThread, instantiationService, codeEditorService, commandService, themeService, notificationService, accessibilityService, languageConfigurationService, languageFeaturesService) {
|
|
22
24
|
const codeEditorWidgetOptions = {
|
|
@@ -31,10 +33,10 @@ let SimpleCommentEditor = class SimpleCommentEditor extends CodeEditorWidget {
|
|
|
31
33
|
super(domElement, options, codeEditorWidgetOptions, instantiationService, codeEditorService, commandService, scopedContextKeyService, themeService, notificationService, accessibilityService, languageConfigurationService, languageFeaturesService);
|
|
32
34
|
this._commentEditorFocused = ctxCommentEditorFocused.bindTo(scopedContextKeyService);
|
|
33
35
|
this._commentEditorEmpty = CommentContextKeys.commentIsEmpty.bindTo(scopedContextKeyService);
|
|
34
|
-
this._commentEditorEmpty.set(!this.
|
|
36
|
+
this._commentEditorEmpty.set(!this.getModel()?.getValueLength());
|
|
35
37
|
this._parentThread = parentThread;
|
|
36
38
|
this._register(this.onDidFocusEditorWidget(_ => this._commentEditorFocused.set(true)));
|
|
37
|
-
this._register(this.onDidChangeModelContent(e => this._commentEditorEmpty.set(!this.
|
|
39
|
+
this._register(this.onDidChangeModelContent(e => this._commentEditorEmpty.set(!this.getModel()?.getValueLength())));
|
|
38
40
|
this._register(this.onDidBlurEditorWidget(_ => this._commentEditorFocused.reset()));
|
|
39
41
|
}
|
|
40
42
|
getParentThread() {
|
|
@@ -56,7 +58,8 @@ let SimpleCommentEditor = class SimpleCommentEditor extends CodeEditorWidget {
|
|
|
56
58
|
horizontal: 'auto',
|
|
57
59
|
useShadows: true,
|
|
58
60
|
verticalHasArrows: false,
|
|
59
|
-
horizontalHasArrows: false
|
|
61
|
+
horizontalHasArrows: false,
|
|
62
|
+
alwaysConsumeMouseWheel: false
|
|
60
63
|
},
|
|
61
64
|
overviewRulerLanes: 2,
|
|
62
65
|
lineDecorationsWidth: 0,
|
|
@@ -83,4 +86,18 @@ SimpleCommentEditor = ( __decorate([
|
|
|
83
86
|
( __param(10, ILanguageConfigurationService)),
|
|
84
87
|
( __param(11, ILanguageFeaturesService))
|
|
85
88
|
], SimpleCommentEditor));
|
|
86
|
-
|
|
89
|
+
function calculateEditorHeight(parentEditor, editor, currentHeight) {
|
|
90
|
+
const layoutInfo = editor.getLayoutInfo();
|
|
91
|
+
const lineHeight = editor.getOption(66 );
|
|
92
|
+
const contentHeight = (editor.getModel()?.getLineCount() * lineHeight) ?? editor.getContentHeight();
|
|
93
|
+
if ((contentHeight > layoutInfo.height) ||
|
|
94
|
+
(contentHeight < layoutInfo.height && currentHeight > MIN_EDITOR_HEIGHT)) {
|
|
95
|
+
const linesToAdd = Math.ceil((contentHeight - layoutInfo.height) / lineHeight);
|
|
96
|
+
const lowerBoundOfMaxEditorHeight = Math.max(parentEditor.getLayoutInfo().height - 90, MIN_EDITOR_HEIGHT);
|
|
97
|
+
const maxCommentEditorHeightForParentEditor = Math.min(MAX_EDITOR_HEIGHT, lowerBoundOfMaxEditorHeight);
|
|
98
|
+
const proposedHeight = layoutInfo.height + (lineHeight * linesToAdd);
|
|
99
|
+
return Math.min(maxCommentEditorHeightForParentEditor, Math.max(MIN_EDITOR_HEIGHT, proposedHeight));
|
|
100
|
+
}
|
|
101
|
+
return currentHeight;
|
|
102
|
+
}
|
|
103
|
+
export { MAX_EDITOR_HEIGHT, MIN_EDITOR_HEIGHT, SimpleCommentEditor, calculateEditorHeight, ctxCommentEditorFocused };
|
|
@@ -2,6 +2,27 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
|
2
2
|
import { RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
3
3
|
var CommentContextKeys;
|
|
4
4
|
( (function(CommentContextKeys) {
|
|
5
|
+
CommentContextKeys.activeCursorHasCommentingRange = ( new RawContextKey('activeCursorHasCommentingRange', false, {
|
|
6
|
+
description: ( nls.localize(
|
|
7
|
+
'hasCommentingRange',
|
|
8
|
+
"Whether the position at the active cursor has a commenting range"
|
|
9
|
+
)),
|
|
10
|
+
type: 'boolean'
|
|
11
|
+
}));
|
|
12
|
+
CommentContextKeys.activeEditorHasCommentingRange = ( new RawContextKey('activeEditorHasCommentingRange', false, {
|
|
13
|
+
description: ( nls.localize(
|
|
14
|
+
'editorHasCommentingRange',
|
|
15
|
+
"Whether the active editor has a commenting range"
|
|
16
|
+
)),
|
|
17
|
+
type: 'boolean'
|
|
18
|
+
}));
|
|
19
|
+
CommentContextKeys.WorkspaceHasCommenting = ( new RawContextKey('workspaceHasCommenting', false, {
|
|
20
|
+
description: ( nls.localize(
|
|
21
|
+
'hasCommentingProvider',
|
|
22
|
+
"Whether the open workspace has either comments or commenting ranges."
|
|
23
|
+
)),
|
|
24
|
+
type: 'boolean'
|
|
25
|
+
}));
|
|
5
26
|
CommentContextKeys.commentThreadIsEmpty = ( new RawContextKey(
|
|
6
27
|
'commentThreadIsEmpty',
|
|
7
28
|
false,
|
|
@@ -18,5 +39,6 @@ var CommentContextKeys;
|
|
|
18
39
|
"The comment controller id associated with a comment thread"
|
|
19
40
|
)) }
|
|
20
41
|
));
|
|
42
|
+
CommentContextKeys.commentFocused = ( new RawContextKey('commentFocused', false, { type: 'boolean', description: ( nls.localize('commentFocused', "Set when the comment is focused")) }));
|
|
21
43
|
})(CommentContextKeys || (CommentContextKeys = {})));
|
|
22
44
|
export { CommentContextKeys };
|
|
@@ -410,6 +410,9 @@ interface IDataBreakpoint extends IBaseBreakpoint {
|
|
|
410
410
|
interface IInstructionBreakpoint extends IBaseBreakpoint {
|
|
411
411
|
readonly instructionReference: string;
|
|
412
412
|
readonly offset?: number;
|
|
413
|
+
/** Original instruction memory address; display purposes only */
|
|
414
|
+
readonly address: bigint;
|
|
415
|
+
toJSON(): DebugProtocol.InstructionBreakpoint;
|
|
413
416
|
}
|
|
414
417
|
interface IExceptionInfo {
|
|
415
418
|
readonly id?: string;
|
|
@@ -810,13 +813,13 @@ interface IDebugService {
|
|
|
810
813
|
/**
|
|
811
814
|
* Adds a new instruction breakpoint.
|
|
812
815
|
*/
|
|
813
|
-
addInstructionBreakpoint(
|
|
816
|
+
addInstructionBreakpoint(instructionReference: string, offset: number, address: bigint, condition?: string, hitCondition?: string): Promise<void>;
|
|
814
817
|
/**
|
|
815
818
|
* Removes all instruction breakpoints. If address is passed only removes the instruction breakpoint with the passed address.
|
|
816
819
|
* The address should be the address string supplied by the debugger from the "Disassemble" request.
|
|
817
820
|
* Notifies debug adapter of breakpoint changes.
|
|
818
821
|
*/
|
|
819
|
-
removeInstructionBreakpoints(
|
|
822
|
+
removeInstructionBreakpoints(instructionReference?: string, offset?: number): Promise<void>;
|
|
820
823
|
setExceptionBreakpointCondition(breakpoint: IExceptionBreakpoint, condition: string | undefined): Promise<void>;
|
|
821
824
|
setExceptionBreakpointsForSession(session: IDebugSession, data: DebugProtocol.ExceptionBreakpointsFilter[]): void;
|
|
822
825
|
/**
|
|
@@ -289,4 +289,5 @@ async function saveAllBeforeDebugStart(configurationService, editorService) {
|
|
|
289
289
|
}
|
|
290
290
|
await configurationService.reloadConfiguration();
|
|
291
291
|
}
|
|
292
|
-
|
|
292
|
+
const sourcesEqual = (a, b) => !a || !b ? a === b : a.name === b.name && a.path === b.path && a.sourceReference === b.sourceReference;
|
|
293
|
+
export { convertToDAPaths, convertToVSCPaths, filterExceptionsFromTelemetry, formatPII, getEvaluatableExpressionAtPosition, getExactExpressionStartAndEnd, getExtensionHostDebugSession, getVisibleAndSorted, isDebuggerMainContribution, isSessionAttach, isUri, saveAllBeforeDebugStart, sourcesEqual };
|
|
@@ -203,7 +203,7 @@ ExplorerViewPaneContainer = ( __decorate([
|
|
|
203
203
|
const viewContainerRegistry = ( Registry.as(Extensions.ViewContainersRegistry));
|
|
204
204
|
const VIEW_CONTAINER = viewContainerRegistry.registerViewContainer({
|
|
205
205
|
id: VIEWLET_ID,
|
|
206
|
-
title: ( localize('explore', "Explorer")),
|
|
206
|
+
title: { value: ( localize('explore', "Explorer")), original: 'Explorer' },
|
|
207
207
|
ctorDescriptor: ( new SyncDescriptor(ExplorerViewPaneContainer)),
|
|
208
208
|
storageId: 'workbench.explorer.views.state',
|
|
209
209
|
icon: explorerViewIcon,
|
|
@@ -25,7 +25,7 @@ import { FileAccess, Schemas } from 'monaco-editor/esm/vs/base/common/network.js
|
|
|
25
25
|
import { mnemonicButtonLabel } from 'monaco-editor/esm/vs/base/common/labels.js';
|
|
26
26
|
import { listenStream } from 'monaco-editor/esm/vs/base/common/stream.js';
|
|
27
27
|
import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
28
|
-
import {
|
|
28
|
+
import { createSingleCallFunction } from 'monaco-editor/esm/vs/base/common/functional.js';
|
|
29
29
|
import { coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
30
30
|
import { canceled } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
31
31
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
@@ -549,7 +549,7 @@ let FileDownload = class FileDownload {
|
|
|
549
549
|
const sourceStream = contents.value;
|
|
550
550
|
const disposables = ( new DisposableStore());
|
|
551
551
|
disposables.add(toDisposable(() => target.close()));
|
|
552
|
-
disposables.add(
|
|
552
|
+
disposables.add(createSingleCallFunction(token.onCancellationRequested)(() => {
|
|
553
553
|
disposables.dispose();
|
|
554
554
|
reject(canceled());
|
|
555
555
|
}));
|
|
@@ -27,9 +27,9 @@ const hotExitConfiguration = isNative ?
|
|
|
27
27
|
'Hot exit will be triggered when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (command palette, keybinding, menu), and also for any window with a folder opened regardless of whether it\'s the last window. All windows without folders opened will be restored upon next launch. A list of previously opened windows with unsaved files can be accessed via `File > Open Recent > More...`'
|
|
28
28
|
))
|
|
29
29
|
],
|
|
30
|
-
'
|
|
30
|
+
'markdownDescription': ( nls.localize(
|
|
31
31
|
'hotExit',
|
|
32
|
-
"
|
|
32
|
+
"[Hot Exit](https://aka.ms/vscode-hot-exit) controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped.",
|
|
33
33
|
HotExitConfiguration.ON_EXIT,
|
|
34
34
|
HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE
|
|
35
35
|
))
|
|
@@ -48,9 +48,9 @@ const hotExitConfiguration = isNative ?
|
|
|
48
48
|
'Hot exit will be triggered when the browser quits or the window or tab is closed.'
|
|
49
49
|
))
|
|
50
50
|
],
|
|
51
|
-
'
|
|
51
|
+
'markdownDescription': ( nls.localize(
|
|
52
52
|
'hotExit',
|
|
53
|
-
"
|
|
53
|
+
"[Hot Exit](https://aka.ms/vscode-hot-exit) controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped.",
|
|
54
54
|
HotExitConfiguration.ON_EXIT,
|
|
55
55
|
HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE
|
|
56
56
|
))
|
|
@@ -38,7 +38,7 @@ let EmptyView = class EmptyView extends ViewPane {
|
|
|
38
38
|
onDrop: e => {
|
|
39
39
|
container.style.backgroundColor = '';
|
|
40
40
|
const dropHandler = this.instantiationService.createInstance(ResourcesDropHandler, { allowWorkspaceOpen: !isWeb || isTemporaryWorkspace(this.contextService.getWorkspace()) });
|
|
41
|
-
dropHandler.handleDrop(e
|
|
41
|
+
dropHandler.handleDrop(e);
|
|
42
42
|
},
|
|
43
43
|
onDragEnter: () => {
|
|
44
44
|
const color = this.themeService.getColorTheme().getColor(listDropBackground);
|
|
@@ -13,7 +13,7 @@ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configurati
|
|
|
13
13
|
import { dirname, joinPath, distinctParents } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
14
14
|
import { InputBox } from 'monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js';
|
|
15
15
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
16
|
-
import {
|
|
16
|
+
import { createSingleCallFunction } from 'monaco-editor/esm/vs/base/common/functional.js';
|
|
17
17
|
import { equals, deepClone } from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
18
18
|
import * as path from 'monaco-editor/esm/vs/base/common/path.js';
|
|
19
19
|
import { ExplorerItem, NewExplorerItem } from '../../common/explorerModel.js';
|
|
@@ -423,7 +423,7 @@ let FilesRenderer = class FilesRenderer {
|
|
|
423
423
|
inputBox.value = value;
|
|
424
424
|
inputBox.focus();
|
|
425
425
|
inputBox.select({ start: 0, end: lastDot > 0 && !stat.isDirectory ? lastDot : value.length });
|
|
426
|
-
const done =
|
|
426
|
+
const done = createSingleCallFunction((success, finishEditing) => {
|
|
427
427
|
label.element.style.display = 'none';
|
|
428
428
|
const value = inputBox.value;
|
|
429
429
|
dispose(toDispose);
|
|
@@ -831,15 +831,15 @@ let FileDragAndDrop = class FileDragAndDrop {
|
|
|
831
831
|
this.workspaceEditingService = workspaceEditingService;
|
|
832
832
|
this.uriIdentityService = uriIdentityService;
|
|
833
833
|
this.compressedDropTargetDisposable = Disposable.None;
|
|
834
|
+
this.disposables = ( new DisposableStore());
|
|
834
835
|
this.dropEnabled = false;
|
|
835
|
-
this.toDispose = [];
|
|
836
836
|
const updateDropEnablement = (e) => {
|
|
837
837
|
if (!e || e.affectsConfiguration('explorer.enableDragAndDrop')) {
|
|
838
838
|
this.dropEnabled = this.configurationService.getValue('explorer.enableDragAndDrop');
|
|
839
839
|
}
|
|
840
840
|
};
|
|
841
841
|
updateDropEnablement(undefined);
|
|
842
|
-
this.
|
|
842
|
+
this.disposables.add(this.configurationService.onDidChangeConfiguration(e => updateDropEnablement(e)));
|
|
843
843
|
}
|
|
844
844
|
onDragOver(data, target, targetIndex, originalEvent) {
|
|
845
845
|
if (!this.dropEnabled) {
|
|
@@ -1168,6 +1168,9 @@ let FileDragAndDrop = class FileDragAndDrop {
|
|
|
1168
1168
|
onDragEnd() {
|
|
1169
1169
|
this.compressedDropTargetDisposable.dispose();
|
|
1170
1170
|
}
|
|
1171
|
+
dispose() {
|
|
1172
|
+
this.compressedDropTargetDisposable.dispose();
|
|
1173
|
+
}
|
|
1171
1174
|
};
|
|
1172
1175
|
FileDragAndDrop = FileDragAndDrop_1 = ( __decorate([
|
|
1173
1176
|
( __param(1, IExplorerService)),
|
|
@@ -575,9 +575,10 @@ class OpenEditorsDragAndDrop {
|
|
|
575
575
|
this.editorGroupService.activateGroup(group);
|
|
576
576
|
}
|
|
577
577
|
else {
|
|
578
|
-
this.dropHandler.handleDrop(originalEvent, () => group, () => group.focus(), index);
|
|
578
|
+
this.dropHandler.handleDrop(originalEvent, () => group, () => group.focus(), { index });
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
|
+
dispose() { }
|
|
581
582
|
}
|
|
582
583
|
OpenEditorsDragAndDrop.__decorator = ( __decorate([
|
|
583
584
|
memoize
|
|
@@ -2,12 +2,12 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
|
|
|
2
2
|
import { EditorResourceAccessor, SideBySideEditor } from '../../../common/editor.js';
|
|
3
3
|
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
4
4
|
import { ContextKeyExpr, RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
5
|
-
import { Disposable, MutableDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
|
+
import { Disposable, MutableDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
6
6
|
import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
|
|
7
7
|
import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
|
|
8
8
|
import { ITextFileService } from '../../../services/textfile/common/textfiles.js';
|
|
9
9
|
import { InputFocusedContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
|
|
10
|
-
import {
|
|
10
|
+
import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
11
11
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
12
12
|
var TextFileContentProvider_1;
|
|
13
13
|
const VIEWLET_ID = 'workbench.view.explorer';
|
|
@@ -150,13 +150,15 @@ let TextFileContentProvider = TextFileContentProvider_1 = class TextFileContentP
|
|
|
150
150
|
const savedFileResource = TextFileContentProvider_1.textFileToResource(resource);
|
|
151
151
|
const codeEditorModel = await this.resolveEditorModel(resource);
|
|
152
152
|
if (!this.fileWatcherDisposable.value) {
|
|
153
|
-
|
|
153
|
+
const disposables = ( new DisposableStore());
|
|
154
|
+
this.fileWatcherDisposable.value = disposables;
|
|
155
|
+
disposables.add(this.fileService.onDidFilesChange(changes => {
|
|
154
156
|
if (changes.contains(savedFileResource, 0 )) {
|
|
155
157
|
this.resolveEditorModel(resource, false );
|
|
156
158
|
}
|
|
157
|
-
});
|
|
159
|
+
}));
|
|
158
160
|
if (codeEditorModel) {
|
|
159
|
-
once(codeEditorModel.onWillDispose)(() => this.fileWatcherDisposable.clear());
|
|
161
|
+
disposables.add(Event.once(codeEditorModel.onWillDispose)(() => this.fileWatcherDisposable.clear()));
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
return codeEditorModel;
|
|
@@ -69,10 +69,10 @@ let TempFileMergeEditorInputModel = class TempFileMergeEditorInputModel extends
|
|
|
69
69
|
this.textFileService = textFileService;
|
|
70
70
|
this.dialogService = dialogService;
|
|
71
71
|
this.editorService = editorService;
|
|
72
|
-
this.savedAltVersionId = observableValue(
|
|
72
|
+
this.savedAltVersionId = observableValue(this, this.model.resultTextModel.getAlternativeVersionId());
|
|
73
73
|
this.altVersionId = observableFromEvent(e => this.model.resultTextModel.onDidChangeContent(e), () =>
|
|
74
74
|
this.model.resultTextModel.getAlternativeVersionId());
|
|
75
|
-
this.isDirty = derived((reader) =>
|
|
75
|
+
this.isDirty = derived(this, (reader) => this.altVersionId.read(reader) !== this.savedAltVersionId.read(reader));
|
|
76
76
|
this.finished = false;
|
|
77
77
|
}
|
|
78
78
|
dispose() {
|
|
@@ -26,9 +26,9 @@ let MergeDiffComputer = class MergeDiffComputer {
|
|
|
26
26
|
return { diffs: null };
|
|
27
27
|
}
|
|
28
28
|
const changes = ( result.changes.map(c => ( new DetailedLineRangeMapping(
|
|
29
|
-
toLineRange(c.
|
|
29
|
+
toLineRange(c.original),
|
|
30
30
|
textModel1,
|
|
31
|
-
toLineRange(c.
|
|
31
|
+
toLineRange(c.modified),
|
|
32
32
|
textModel2,
|
|
33
33
|
c.innerChanges?.map(ic => toRangeMapping(ic))
|
|
34
34
|
))));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { lastOrDefault, compareBy, numberComparator } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
2
|
+
import { findLast } from 'monaco-editor/esm/vs/base/common/arraysFind.js';
|
|
2
3
|
import { assertFn, checkAdjacentItems } from 'monaco-editor/esm/vs/base/common/assert.js';
|
|
3
4
|
import { BugIndicatingError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
4
5
|
import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { equals, CompareResult } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
3
3
|
import { BugIndicatingError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
4
|
-
import { derived, waitForState,
|
|
4
|
+
import { derived, waitForState, keepObserved, autorunHandleChanges, transaction, observableValue } from 'monaco-editor/esm/vs/base/common/observable.js';
|
|
5
5
|
import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
|
|
6
6
|
import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
|
|
7
7
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
@@ -27,12 +27,12 @@ let MergeEditorModel = class MergeEditorModel extends EditorModel {
|
|
|
27
27
|
this.input1TextModelDiffs = this._register(( new TextModelDiffs(this.base, this.input1.textModel, this.diffComputer)));
|
|
28
28
|
this.input2TextModelDiffs = this._register(( new TextModelDiffs(this.base, this.input2.textModel, this.diffComputer)));
|
|
29
29
|
this.resultTextModelDiffs = this._register(( new TextModelDiffs(this.base, this.resultTextModel, this.diffComputer)));
|
|
30
|
-
this.modifiedBaseRanges = derived((reader) => {
|
|
30
|
+
this.modifiedBaseRanges = derived(this, (reader) => {
|
|
31
31
|
const input1Diffs = this.input1TextModelDiffs.diffs.read(reader);
|
|
32
32
|
const input2Diffs = this.input2TextModelDiffs.diffs.read(reader);
|
|
33
33
|
return ModifiedBaseRange.fromDiffs(input1Diffs, input2Diffs, this.base, this.input1.textModel, this.input2.textModel);
|
|
34
34
|
});
|
|
35
|
-
this.modifiedBaseRangeResultStates = derived(reader => {
|
|
35
|
+
this.modifiedBaseRangeResultStates = derived(this, reader => {
|
|
36
36
|
const map = ( new Map(( this.modifiedBaseRanges.read(reader).map((s) => [
|
|
37
37
|
s, ( new ModifiedBaseRangeData(s))
|
|
38
38
|
]))));
|
|
@@ -42,23 +42,23 @@ let MergeEditorModel = class MergeEditorModel extends EditorModel {
|
|
|
42
42
|
this.baseInput1Diffs = this.input1TextModelDiffs.diffs;
|
|
43
43
|
this.baseInput2Diffs = this.input2TextModelDiffs.diffs;
|
|
44
44
|
this.baseResultDiffs = this.resultTextModelDiffs.diffs;
|
|
45
|
-
this.input1ResultMapping = derived(reader => {
|
|
45
|
+
this.input1ResultMapping = derived(this, reader => {
|
|
46
46
|
return this.getInputResultMapping(this.baseInput1Diffs.read(reader), this.baseResultDiffs.read(reader), this.input1.textModel.getLineCount());
|
|
47
47
|
});
|
|
48
|
-
this.resultInput1Mapping = derived(reader =>
|
|
49
|
-
this.input2ResultMapping = derived(reader => {
|
|
48
|
+
this.resultInput1Mapping = derived(this, reader => this.input1ResultMapping.read(reader).reverse());
|
|
49
|
+
this.input2ResultMapping = derived(this, reader => {
|
|
50
50
|
return this.getInputResultMapping(this.baseInput2Diffs.read(reader), this.baseResultDiffs.read(reader), this.input2.textModel.getLineCount());
|
|
51
51
|
});
|
|
52
|
-
this.resultInput2Mapping = derived(reader =>
|
|
53
|
-
this.baseResultMapping = derived(reader => {
|
|
52
|
+
this.resultInput2Mapping = derived(this, reader => this.input2ResultMapping.read(reader).reverse());
|
|
53
|
+
this.baseResultMapping = derived(this, reader => {
|
|
54
54
|
const map = ( new DocumentLineRangeMap(this.baseResultDiffs.read(reader), -1));
|
|
55
55
|
return ( new DocumentLineRangeMap(( map.lineRangeMappings.map((m) => m.inputRange.isEmpty || m.outputRange.isEmpty
|
|
56
56
|
? ( new LineRangeMapping(
|
|
57
57
|
m.inputRange.deltaStart(-1), m.outputRange.deltaStart(-1)))
|
|
58
58
|
: m)), map.inputLineCount));
|
|
59
59
|
});
|
|
60
|
-
this.resultBaseMapping = derived(reader =>
|
|
61
|
-
this.diffComputingState = derived(reader => {
|
|
60
|
+
this.resultBaseMapping = derived(this, reader => this.baseResultMapping.read(reader).reverse());
|
|
61
|
+
this.diffComputingState = derived(this, reader => {
|
|
62
62
|
const states = ( [
|
|
63
63
|
this.input1TextModelDiffs,
|
|
64
64
|
this.input2TextModelDiffs,
|
|
@@ -72,7 +72,7 @@ let MergeEditorModel = class MergeEditorModel extends EditorModel {
|
|
|
72
72
|
}
|
|
73
73
|
return 2 ;
|
|
74
74
|
});
|
|
75
|
-
this.inputDiffComputingState = derived(reader => {
|
|
75
|
+
this.inputDiffComputingState = derived(this, reader => {
|
|
76
76
|
const states = ( [
|
|
77
77
|
this.input1TextModelDiffs,
|
|
78
78
|
this.input2TextModelDiffs,
|
|
@@ -85,10 +85,10 @@ let MergeEditorModel = class MergeEditorModel extends EditorModel {
|
|
|
85
85
|
}
|
|
86
86
|
return 2 ;
|
|
87
87
|
});
|
|
88
|
-
this.isUpToDate = derived(reader =>
|
|
88
|
+
this.isUpToDate = derived(this, reader => this.diffComputingState.read(reader) === 2 );
|
|
89
89
|
this.onInitialized = waitForState(this.diffComputingState, state => state === 2 ).then(() => { });
|
|
90
90
|
this.firstRun = true;
|
|
91
|
-
this.unhandledConflictsCount = derived(reader =>
|
|
91
|
+
this.unhandledConflictsCount = derived(this, reader => {
|
|
92
92
|
const map = this.modifiedBaseRangeResultStates.read(reader);
|
|
93
93
|
let unhandledCount = 0;
|
|
94
94
|
for (const [_key, value] of map) {
|
|
@@ -99,9 +99,9 @@ let MergeEditorModel = class MergeEditorModel extends EditorModel {
|
|
|
99
99
|
return unhandledCount;
|
|
100
100
|
});
|
|
101
101
|
this.hasUnhandledConflicts = ( this.unhandledConflictsCount.map(value => value > 0));
|
|
102
|
-
this._register(
|
|
103
|
-
this._register(
|
|
104
|
-
this._register(
|
|
102
|
+
this._register(keepObserved(this.modifiedBaseRangeResultStates));
|
|
103
|
+
this._register(keepObserved(this.input1ResultMapping));
|
|
104
|
+
this._register(keepObserved(this.input2ResultMapping));
|
|
105
105
|
const initializePromise = this.initialize();
|
|
106
106
|
this.onInitialized = this.onInitialized.then(async () => {
|
|
107
107
|
await initializePromise;
|
|
@@ -560,7 +560,7 @@ class ModifiedBaseRangeData {
|
|
|
560
560
|
this.handledInput2 = observableValue(`BaseRangeHandledState${this.baseRange.baseRange}.Input2`, false);
|
|
561
561
|
this.computedFromDiffing = false;
|
|
562
562
|
this.previousNonDiffingState = undefined;
|
|
563
|
-
this.handled = derived(reader =>
|
|
563
|
+
this.handled = derived(this, reader => this.handledInput1.read(reader) && this.handledInput2.read(reader));
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
566
|
class MarkAsHandledUndoRedoElement {
|
|
@@ -16,8 +16,8 @@ class TextModelDiffs extends Disposable {
|
|
|
16
16
|
this.textModel = textModel;
|
|
17
17
|
this.diffComputer = diffComputer;
|
|
18
18
|
this.recomputeCount = 0;
|
|
19
|
-
this._state = observableValue(
|
|
20
|
-
this._diffs = observableValue(
|
|
19
|
+
this._state = observableValue(this, 1 );
|
|
20
|
+
this._diffs = observableValue(this, []);
|
|
21
21
|
this.barrier = ( new ReentrancyBarrier());
|
|
22
22
|
this.isDisposed = false;
|
|
23
23
|
this.isInitializing = true;
|
|
@@ -141,7 +141,10 @@ const NotebookSetting = {
|
|
|
141
141
|
findScope: 'notebook.find.scope',
|
|
142
142
|
logging: 'notebook.logging',
|
|
143
143
|
confirmDeleteRunningCell: 'notebook.confirmDeleteRunningCell',
|
|
144
|
-
remoteSaving: 'notebook.experimental.remoteSave'
|
|
144
|
+
remoteSaving: 'notebook.experimental.remoteSave',
|
|
145
|
+
gotoSymbolsAllSymbols: 'notebook.gotoSymbols.showAllSymbols',
|
|
146
|
+
scrollToRevealCell: 'notebook.scrolling.revealNextCellOnExecute',
|
|
147
|
+
anchorToFocusedCell: 'notebook.scrolling.experimental.anchorToFocusedCell'
|
|
145
148
|
};
|
|
146
149
|
class NotebookWorkingCopyTypeIdentifier {
|
|
147
150
|
static { this._prefix = 'notebook/'; }
|
|
@@ -5,15 +5,11 @@ import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
|
|
|
5
5
|
import { ModesRegistry } from 'monaco-editor/esm/vs/editor/common/languages/modesRegistry.js';
|
|
6
6
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
7
7
|
import { registerAction2, Action2, MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
8
|
-
import {
|
|
9
|
-
import { OUTPUT_MODE_ID, OUTPUT_MIME, LOG_MODE_ID, LOG_MIME, OUTPUT_VIEW_ID, LOG_SCHEME, IOutputService, CONTEXT_IN_OUTPUT, CONTEXT_OUTPUT_SCROLL_LOCK, CONTEXT_ACTIVE_LOG_OUTPUT, ACTIVE_OUTPUT_CHANNEL_CONTEXT, Extensions as Extensions$3 } from '../../../services/output/common/output.js';
|
|
8
|
+
import { OUTPUT_MODE_ID, OUTPUT_MIME, LOG_MODE_ID, LOG_MIME, OUTPUT_VIEW_ID, IOutputService, CONTEXT_IN_OUTPUT, CONTEXT_OUTPUT_SCROLL_LOCK, CONTEXT_ACTIVE_LOG_OUTPUT, ACTIVE_OUTPUT_CHANNEL_CONTEXT, Extensions as Extensions$3 } from '../../../services/output/common/output.js';
|
|
10
9
|
import { OutputViewPane } from './outputView.js';
|
|
11
|
-
import { EditorPaneDescriptor } from '../../../browser/editor.js';
|
|
12
|
-
import { LogViewer, LogViewerInput } from './logViewer.js';
|
|
13
10
|
import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
|
|
14
11
|
import { Extensions as Extensions$1 } from '../../../common/contributions.js';
|
|
15
12
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
16
|
-
import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
|
|
17
13
|
import { Extensions, IViewsService } from '../../../common/views.js';
|
|
18
14
|
import { ViewPaneContainer } from '../../../browser/parts/views/viewPaneContainer.js';
|
|
19
15
|
import { Extensions as Extensions$2 } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
|
|
@@ -24,8 +20,8 @@ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/
|
|
|
24
20
|
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
25
21
|
import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
26
22
|
import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
|
|
27
|
-
import { EditorExtensions } from '../../../common/editor.js';
|
|
28
23
|
import { Disposable, toDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
24
|
+
import { IFilesConfigurationService } from '../../../services/filesConfiguration/common/filesConfigurationService.js';
|
|
29
25
|
ModesRegistry.registerLanguage({
|
|
30
26
|
id: OUTPUT_MODE_ID,
|
|
31
27
|
extensions: [],
|
|
@@ -39,7 +35,7 @@ ModesRegistry.registerLanguage({
|
|
|
39
35
|
const outputViewIcon = registerIcon('output-view-icon', Codicon.output, ( nls.localize('outputViewIcon', 'View icon of the output view.')));
|
|
40
36
|
const VIEW_CONTAINER = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
|
|
41
37
|
id: OUTPUT_VIEW_ID,
|
|
42
|
-
title: ( nls.localize('output', "Output")),
|
|
38
|
+
title: { value: ( nls.localize('output', "Output")), original: 'Output' },
|
|
43
39
|
icon: outputViewIcon,
|
|
44
40
|
order: 1,
|
|
45
41
|
ctorDescriptor: ( new SyncDescriptor(
|
|
@@ -68,14 +64,10 @@ const VIEW_CONTAINER = ( Registry.as(Extensions.ViewContainersRegistry)).registe
|
|
|
68
64
|
order: 1,
|
|
69
65
|
}
|
|
70
66
|
}], VIEW_CONTAINER);
|
|
71
|
-
( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(LogViewer, LogViewer.LOG_VIEWER_EDITOR_ID, ( nls.localize('logViewer', "Log Viewer"))), [
|
|
72
|
-
( new SyncDescriptor(LogViewerInput))
|
|
73
|
-
]);
|
|
74
67
|
let OutputContribution = class OutputContribution extends Disposable {
|
|
75
|
-
constructor(instantiationService,
|
|
68
|
+
constructor(instantiationService, outputService) {
|
|
76
69
|
super();
|
|
77
70
|
this.outputService = outputService;
|
|
78
|
-
textModelService.registerTextModelContentProvider(LOG_SCHEME, instantiationService.createInstance(LogContentProvider));
|
|
79
71
|
this.registerActions();
|
|
80
72
|
}
|
|
81
73
|
registerActions() {
|
|
@@ -263,10 +255,16 @@ let OutputContribution = class OutputContribution extends Disposable {
|
|
|
263
255
|
async run(accessor) {
|
|
264
256
|
const outputService = accessor.get(IOutputService);
|
|
265
257
|
const editorService = accessor.get(IEditorService);
|
|
266
|
-
const
|
|
258
|
+
const fileConfigurationService = accessor.get(IFilesConfigurationService);
|
|
267
259
|
const logFileOutputChannelDescriptor = this.getLogFileOutputChannelDescriptor(outputService);
|
|
268
260
|
if (logFileOutputChannelDescriptor) {
|
|
269
|
-
await
|
|
261
|
+
await fileConfigurationService.updateReadonly(logFileOutputChannelDescriptor.file, true);
|
|
262
|
+
await editorService.openEditor({
|
|
263
|
+
resource: logFileOutputChannelDescriptor.file,
|
|
264
|
+
options: {
|
|
265
|
+
pinned: true,
|
|
266
|
+
}
|
|
267
|
+
});
|
|
270
268
|
}
|
|
271
269
|
}
|
|
272
270
|
getLogFileOutputChannelDescriptor(outputService) {
|
|
@@ -352,8 +350,8 @@ let OutputContribution = class OutputContribution extends Disposable {
|
|
|
352
350
|
async run(accessor, args) {
|
|
353
351
|
const outputService = accessor.get(IOutputService);
|
|
354
352
|
const quickInputService = accessor.get(IQuickInputService);
|
|
355
|
-
const instantiationService = accessor.get(IInstantiationService);
|
|
356
353
|
const editorService = accessor.get(IEditorService);
|
|
354
|
+
const fileConfigurationService = accessor.get(IFilesConfigurationService);
|
|
357
355
|
const entries = ( outputService.getChannelDescriptors().filter(c => c.file && c.log)
|
|
358
356
|
.map(channel => ({ id: channel.id, label: channel.label, channel })));
|
|
359
357
|
const argName = args && typeof args === 'string' ? args : undefined;
|
|
@@ -365,8 +363,14 @@ let OutputContribution = class OutputContribution extends Disposable {
|
|
|
365
363
|
entry = await quickInputService.pick(entries, { placeHolder: ( nls.localize('selectlogFile', "Select Log File")) });
|
|
366
364
|
}
|
|
367
365
|
if (entry) {
|
|
368
|
-
assertIsDefined(entry.channel.file);
|
|
369
|
-
await
|
|
366
|
+
const resource = assertIsDefined(entry.channel.file);
|
|
367
|
+
await fileConfigurationService.updateReadonly(resource, true);
|
|
368
|
+
await editorService.openEditor({
|
|
369
|
+
resource,
|
|
370
|
+
options: {
|
|
371
|
+
pinned: true,
|
|
372
|
+
}
|
|
373
|
+
});
|
|
370
374
|
}
|
|
371
375
|
}
|
|
372
376
|
}));
|
|
@@ -374,8 +378,7 @@ let OutputContribution = class OutputContribution extends Disposable {
|
|
|
374
378
|
};
|
|
375
379
|
OutputContribution = ( __decorate([
|
|
376
380
|
( __param(0, IInstantiationService)),
|
|
377
|
-
( __param(1,
|
|
378
|
-
( __param(2, IOutputService))
|
|
381
|
+
( __param(1, IOutputService))
|
|
379
382
|
], OutputContribution));
|
|
380
383
|
( Registry.as(Extensions$1.Workbench)).registerWorkbenchContribution(OutputContribution, 3 );
|
|
381
384
|
( Registry.as(Extensions$2.Configuration)).registerConfiguration({
|