@codingame/monaco-vscode-api 1.82.6 → 1.83.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/api.js +5 -5
  2. package/assets/index-no-csp.html +2 -1
  3. package/assets/index.html +3 -2
  4. package/extensions.js +17 -14
  5. package/external/xterm/typings/xterm.d.ts +171 -109
  6. package/missing-services.js +33 -22
  7. package/monaco-editor-treemending.patch +1745 -1628
  8. package/monaco-treemending.js +2 -2
  9. package/monaco.js +2 -2
  10. package/package.json +2 -2
  11. package/service-override/extensions.js +10 -11
  12. package/services.d.ts +1 -1
  13. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  14. package/vscode/src/vs/base/common/event.d.ts +13 -17
  15. package/vscode/src/vs/base/common/keyCodes.d.ts +18 -18
  16. package/vscode/src/vs/base/common/lifecycle.d.ts +9 -0
  17. package/vscode/src/vs/base/common/observableInternal/base.d.ts +2 -0
  18. package/vscode/src/vs/base/common/product.d.ts +1 -0
  19. package/vscode/src/vs/base/parts/ipc/common/ipc.js +6 -2
  20. package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -0
  21. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +12 -3
  22. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -5
  23. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +9 -2
  24. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +6 -20
  25. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.d.ts +2 -2
  26. package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +5 -55
  27. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +55 -0
  28. package/vscode/src/vs/editor/common/languages.d.ts +7 -10
  29. package/vscode/src/vs/editor/common/model.d.ts +1 -1
  30. package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
  31. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +5 -5
  32. package/vscode/src/vs/platform/files/common/fileService.js +46 -40
  33. package/vscode/src/vs/platform/files/common/files.d.ts +46 -1
  34. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +45 -0
  35. package/vscode/src/vs/platform/storage/common/storage.d.ts +5 -0
  36. package/vscode/src/vs/platform/storage/common/storage.js +4 -0
  37. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +4 -1
  38. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -3
  39. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
  40. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +11 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +50 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +3 -2
  44. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +16 -11
  45. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +20 -6
  46. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +2 -2
  47. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +8 -8
  49. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +3 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +93 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -166
  52. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -0
  53. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +18 -11
  54. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +14 -9
  55. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -1
  56. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +11 -2
  57. package/vscode/src/vs/workbench/api/common/extHostChat.js +10 -1
  58. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +62 -0
  59. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +13 -4
  60. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -4
  61. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  62. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +36 -4
  63. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +6 -29
  64. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +24 -12
  65. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +0 -2
  66. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +0 -63
  67. package/vscode/src/vs/workbench/api/common/extHostSCM.js +80 -0
  68. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +24 -0
  69. package/vscode/src/vs/workbench/api/common/extHostTesting.js +14 -10
  70. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -4
  71. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -7
  72. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +34 -16
  73. package/vscode/src/vs/workbench/api/common/extHostTypes.js +31 -13
  74. package/vscode/src/vs/workbench/api/common/extHostWebview.js +14 -2
  75. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +11 -5
  76. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +1 -1
  77. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +32 -9
  78. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +3 -1
  79. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  80. package/vscode/src/vs/workbench/browser/dnd.js +7 -6
  81. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  82. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +7 -10
  83. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +7 -1
  84. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +9 -3
  85. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -1
  86. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +9 -2
  87. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +44 -14
  88. package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +1 -1
  89. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -19
  90. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +1 -1
  91. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -3
  92. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +1 -1
  93. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -9
  94. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -0
  95. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -2
  96. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -5
  97. package/vscode/src/vs/workbench/browser/web.api.d.ts +0 -6
  98. package/vscode/src/vs/workbench/browser/workbench.contribution.js +34 -3
  99. package/vscode/src/vs/workbench/common/contextkeys.js +2 -1
  100. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +4 -4
  101. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +0 -1
  102. package/vscode/src/vs/workbench/common/editor/editorInput.js +2 -4
  103. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +0 -1
  104. package/vscode/src/vs/workbench/common/editor/editorModel.js +1 -3
  105. package/vscode/src/vs/workbench/common/editor.d.ts +2 -0
  106. package/vscode/src/vs/workbench/common/theme.js +21 -1
  107. package/vscode/src/vs/workbench/common/views.d.ts +1 -1
  108. package/vscode/src/vs/workbench/common/views.js +1 -2
  109. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +12 -4
  110. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +335 -0
  111. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +81 -27
  112. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +22 -14
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +136 -0
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +14 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +78 -1
  118. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -17
  119. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +30 -26
  120. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +23 -18
  122. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +8 -8
  123. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +55 -20
  124. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +26 -10
  125. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +7 -6
  126. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +58 -9
  127. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +9 -6
  128. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +171 -0
  129. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +204 -33
  130. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +3 -7
  131. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  132. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +21 -4
  134. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +5 -2
  136. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +2 -1
  137. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +2 -2
  139. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +7 -4
  142. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -1
  143. package/vscode/src/vs/workbench/contrib/files/common/files.js +7 -5
  144. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +2 -1
  147. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -2
  149. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +4 -1
  150. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +22 -19
  151. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +2 -38
  152. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +14 -1
  153. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +3 -8
  154. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +10 -12
  155. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -2
  157. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +0 -16
  158. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +2 -1
  159. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -6
  160. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +2 -4
  161. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +2 -4
  162. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +7 -3
  163. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +2 -6
  164. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -20
  165. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +9 -13
  166. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -1
  167. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +47 -15
  168. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +14 -4
  169. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +22 -3
  170. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
  171. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +15 -14
  172. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +12 -7
  173. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -6
  174. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +27 -11
  175. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +2 -5
  176. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +7 -11
  177. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +20 -4
  178. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -16
  179. package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
  180. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +6 -6
  181. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +4 -3
  182. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +0 -1
  183. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -1
  184. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  185. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +1 -2
  186. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +2 -2
  187. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -8
  188. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -4
  189. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
  190. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +2 -1
  191. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.js +4 -2
  192. package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +0 -180
  193. package/vscode/src/vs/platform/credentials/common/credentials.d.ts +0 -13
  194. package/vscode/src/vs/platform/credentials/common/credentials.js +0 -3
  195. package/vscode/src/vs/workbench/api/browser/mainThreadKeytar.js +0 -31
  196. package/vscode/src/vs/workbench/browser/iframe.js +0 -16
  197. package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +0 -90
  198. package/vscode/src/vs/workbench/browser/parts/editor/tabFocus.js +0 -77
  199. 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.getValue());
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.getValue())));
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
- export { SimpleCommentEditor, ctxCommentEditorFocused };
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(address: string, offset: number, condition?: string, hitCondition?: string): Promise<void>;
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(address?: string): Promise<void>;
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
- export { convertToDAPaths, convertToVSCPaths, filterExceptionsFromTelemetry, formatPII, getEvaluatableExpressionAtPosition, getExactExpressionStartAndEnd, getExtensionHostDebugSession, getVisibleAndSorted, isDebuggerMainContribution, isSessionAttach, isUri, saveAllBeforeDebugStart };
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 { once } from 'monaco-editor/esm/vs/base/common/functional.js';
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(once(token.onCancellationRequested)(() => {
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
- 'description': ( nls.localize(
30
+ 'markdownDescription': ( nls.localize(
31
31
  'hotExit',
32
- "Controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped.",
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
- 'description': ( nls.localize(
51
+ 'markdownDescription': ( nls.localize(
52
52
  'hotExit',
53
- "Controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped.",
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, () => undefined, () => undefined);
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 { once } from 'monaco-editor/esm/vs/base/common/functional.js';
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 = once((success, finishEditing) => {
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.toDispose.push(this.configurationService.onDidChangeConfiguration(e => updateDropEnablement(e)));
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 { once } from 'monaco-editor/esm/vs/base/common/functional.js';
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
- this.fileWatcherDisposable.value = this.fileService.onDidFilesChange(changes => {
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('initialAltVersionId', this.model.resultTextModel.getAlternativeVersionId());
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) => this.altVersionId.read(reader) !== this.savedAltVersionId.read(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.originalRange),
29
+ toLineRange(c.original),
30
30
  textModel1,
31
- toLineRange(c.modifiedRange),
31
+ toLineRange(c.modified),
32
32
  textModel2,
33
33
  c.innerChanges?.map(ic => toRangeMapping(ic))
34
34
  ))));
@@ -1,4 +1,5 @@
1
- import { findLast, lastOrDefault, compareBy, numberComparator } from 'monaco-editor/esm/vs/base/common/arrays.js';
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, keepAlive, autorunHandleChanges, transaction, observableValue } from 'monaco-editor/esm/vs/base/common/observable.js';
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 => this.input1ResultMapping.read(reader).reverse());
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 => this.input2ResultMapping.read(reader).reverse());
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 => this.baseResultMapping.read(reader).reverse());
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 => this.diffComputingState.read(reader) === 2 );
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(keepAlive(this.modifiedBaseRangeResultStates));
103
- this._register(keepAlive(this.input1ResultMapping));
104
- this._register(keepAlive(this.input2ResultMapping));
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 => this.handledInput1.read(reader) && this.handledInput2.read(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('LiveDiffState', 1 );
20
- this._diffs = observableValue('LiveDiffs', []);
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 { LogContentProvider } from './outputServices.js';
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, textModelService, outputService) {
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 instantiationService = accessor.get(IInstantiationService);
258
+ const fileConfigurationService = accessor.get(IFilesConfigurationService);
267
259
  const logFileOutputChannelDescriptor = this.getLogFileOutputChannelDescriptor(outputService);
268
260
  if (logFileOutputChannelDescriptor) {
269
- await editorService.openEditor(instantiationService.createInstance(LogViewerInput, logFileOutputChannelDescriptor), { pinned: true });
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 editorService.openEditor(instantiationService.createInstance(LogViewerInput, entry.channel), { pinned: true });
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, ITextModelService)),
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({