@codingame/monaco-vscode-api 26.1.1 → 26.1.2

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 (346) hide show
  1. package/missing-services.js +26 -5
  2. package/package.json +8 -8
  3. package/services.js +3 -3
  4. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css +9 -0
  5. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.d.ts +2 -0
  6. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +12 -5
  7. package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
  8. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  9. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +4 -0
  10. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +5 -1
  11. package/vscode/src/vs/platform/product/common/product.js +3 -3
  12. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +2 -1
  13. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +1 -0
  14. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +1 -0
  15. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -8
  16. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +2 -1
  17. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
  18. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +12 -1
  19. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +67 -3
  20. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
  21. package/vscode/src/vs/workbench/api/common/extHostTypes.js +9 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +1 -7
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +5 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +15 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +8 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  29. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.d.ts +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +5 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +2 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  33. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +7 -0
  34. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +80 -62
  35. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
  36. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +5 -5
  37. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +8 -9
  38. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +70 -1
  39. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +27 -1
  40. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +27 -3
  41. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +2 -1
  42. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +3 -2
  43. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -0
  44. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +2 -0
  45. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  47. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -22
  48. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +84 -5
  49. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +176 -70
  50. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +18 -5
  51. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +46 -4
  52. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +17 -0
  53. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +10 -0
  54. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -0
  55. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +9 -0
  56. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +68 -54
  57. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +16 -0
  58. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +6 -0
  59. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +48 -0
  60. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +64 -3
  61. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +159 -0
  62. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +387 -0
  63. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +21 -4
  64. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +82 -26
  65. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +3 -1
  66. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +5 -1
  67. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +51 -3
  68. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +14 -1
  69. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +11 -10
  70. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.d.ts +5 -0
  71. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.js +22 -0
  72. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +9 -9
  73. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +14 -2
  74. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +98 -25
  75. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  76. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +14 -0
  77. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
  78. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +1 -2
  79. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  81. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  82. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  83. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  84. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +9 -9
  85. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  87. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  90. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  91. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  92. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  93. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  94. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  95. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  96. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  99. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  100. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  101. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  103. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  104. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  105. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  107. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  108. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  109. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  111. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  114. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  115. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  116. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  118. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  119. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  120. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  121. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  123. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  124. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  125. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  127. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  128. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  129. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  130. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  131. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  132. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  134. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  137. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  139. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  140. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  142. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  144. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  145. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +147 -147
  146. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +170 -170
  147. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  150. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
  151. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  152. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  153. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +48 -48
  154. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
  155. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +29 -29
  156. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +74 -74
  157. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  158. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  159. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  160. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  162. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  164. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  165. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  166. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  167. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  168. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  170. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  171. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  172. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  173. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  174. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  175. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  177. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  178. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  179. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  182. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  183. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  184. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  185. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  187. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  188. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  189. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  190. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  193. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  194. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  195. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  196. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  197. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  199. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  200. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +31 -31
  201. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +9 -9
  202. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  203. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  204. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  205. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  207. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  208. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  209. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  210. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  216. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  217. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  218. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  219. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +8 -5
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  242. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  244. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  247. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  248. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -50
  250. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  252. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  253. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  254. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  255. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  256. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  257. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  258. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  259. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  260. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  261. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  262. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  263. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  265. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  266. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  267. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
  268. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  269. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  272. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  273. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  274. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  275. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +8 -8
  276. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  277. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  278. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  279. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  280. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  282. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  283. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  285. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  286. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  287. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  290. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  291. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -9
  292. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  293. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  294. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +54 -54
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  305. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  306. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  307. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  309. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  310. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  312. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  313. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  314. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +14 -14
  315. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  316. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  317. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  318. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  319. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  320. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  321. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  322. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  323. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  324. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  325. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  326. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  327. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  328. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  329. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  330. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  331. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  332. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  333. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  334. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  335. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  336. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  337. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  338. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  339. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  340. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  341. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +9 -9
  342. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  343. package/vscode-dts/vscode.proposed.chatHooks.d.ts +126 -0
  344. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +25 -1
  345. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +35 -1
  346. package/vscode-dts/vscode.proposed.d.ts +1 -0
@@ -0,0 +1,692 @@
1
+
2
+ import { registerCss } from '../../../../../../../css.js';
3
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
4
+ import * as interactive from './media/interactive.css';
5
+ import { $, append, Dimension } from '../../../../base/browser/dom.js';
6
+ import { createStyleSheet } from '../../../../base/browser/domStylesheets.js';
7
+ import { Emitter, Event } from '../../../../base/common/event.js';
8
+ import { DisposableStore, MutableDisposable } from '../../../../base/common/lifecycle.js';
9
+ import { CodeEditorWidget } from '../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
10
+ import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
11
+ import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
12
+ import { IStorageService } from '../../../../platform/storage/common/storage.service.js';
13
+ import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.service.js';
14
+ import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
15
+ import { EditorPane } from '../../../browser/parts/editor/editorPane.js';
16
+ import { EditorPaneSelectionChangeReason } from '../../../common/editor.js';
17
+ import { getSimpleEditorOptions } from '../../codeEditor/browser/simpleEditorOptions.js';
18
+ import { NotebookEditorExtensionsRegistry } from '../../notebook/browser/notebookEditorExtensions.js';
19
+ import { INotebookEditorService } from '../../notebook/browser/services/notebookEditorService.service.js';
20
+ import { getDefaultNotebookCreationOptions, NotebookEditorWidget } from '../../notebook/browser/notebookEditorWidget.js';
21
+ import { GroupsOrder } from '../../../services/editor/common/editorGroupsService.js';
22
+ import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.service.js';
23
+ import { ExecutionStateCellStatusBarContrib, TimerCellStatusBarContrib } from '../../notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js';
24
+ import { INotebookKernelService } from '../../notebook/common/notebookKernelService.service.js';
25
+ import { ILanguageService } from '../../../../editor/common/languages/language.service.js';
26
+ import { MenuId } from '../../../../platform/actions/common/actions.js';
27
+ import { IMenuService } from '../../../../platform/actions/common/actions.service.js';
28
+ import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
29
+ import { INTERACTIVE_INPUT_CURSOR_BOUNDARY, ReplEditorSettings } from '../../interactive/browser/interactiveCommon.js';
30
+ import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
31
+ import { NotebookOptions } from '../../notebook/browser/notebookOptions.js';
32
+ import { ToolBar } from '../../../../base/browser/ui/toolbar/toolbar.js';
33
+ import { IContextMenuService } from '../../../../platform/contextview/browser/contextView.service.js';
34
+ import { createActionViewItem, getActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
35
+ import { EditorExtensionsRegistry } from '../../../../editor/browser/editorExtensions.js';
36
+ import { SelectionClipboardContributionID } from '../../codeEditor/browser/selectionClipboard.js';
37
+ import { ContextMenuController } from '../../../../editor/contrib/contextmenu/browser/contextmenu.js';
38
+ import { SuggestController } from '../../../../editor/contrib/suggest/browser/suggestController.js';
39
+ import { MarkerController } from '../../../../editor/contrib/gotoError/browser/gotoError.js';
40
+ import { ITextResourceConfigurationService } from '../../../../editor/common/services/textResourceConfiguration.service.js';
41
+ import { TextEditorSelectionSource } from '../../../../platform/editor/common/editor.js';
42
+ import { NotebookExecutionType } from '../../notebook/common/notebookExecutionStateService.js';
43
+ import { INotebookExecutionStateService } from '../../notebook/common/notebookExecutionStateService.service.js';
44
+ import { NOTEBOOK_KERNEL } from '../../notebook/common/notebookContextKeys.js';
45
+ import { IExtensionService } from '../../../services/extensions/common/extensions.service.js';
46
+ import { isEqual } from '../../../../base/common/resources.js';
47
+ import { NotebookFindContrib } from '../../notebook/browser/contrib/find/notebookFindWidget.js';
48
+ import { REPL_EDITOR_ID } from '../../notebook/common/notebookCommon.js';
49
+ import * as interactiveEditor from './interactiveEditor.css';
50
+ import { deepClone } from '../../../../base/common/objects.js';
51
+ import { GlyphHoverController } from '../../../../editor/contrib/hover/browser/glyphHoverController.js';
52
+ import { ContentHoverController } from '../../../../editor/contrib/hover/browser/contentHoverController.js';
53
+ import { ReplEditorInput } from './replEditorInput.js';
54
+ import { ReplInputHintContentWidget } from '../../interactive/browser/replInputHintContentWidget.js';
55
+ import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
56
+ import { localize } from '../../../../nls.js';
57
+ import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
58
+
59
+ registerCss(interactive);
60
+ registerCss(interactiveEditor);
61
+ const INTERACTIVE_EDITOR_VIEW_STATE_PREFERENCE_KEY = "InteractiveEditorViewState";
62
+ const INPUT_CELL_VERTICAL_PADDING = 8;
63
+ const INPUT_CELL_HORIZONTAL_PADDING_RIGHT = 10;
64
+ const INPUT_EDITOR_PADDING = 8;
65
+ let ReplEditor = class ReplEditor extends EditorPane {
66
+ get onDidFocus() {
67
+ return this._onDidFocusWidget.event;
68
+ }
69
+ constructor(
70
+ group,
71
+ telemetryService,
72
+ themeService,
73
+ storageService,
74
+ instantiationService,
75
+ notebookWidgetService,
76
+ contextKeyService,
77
+ notebookKernelService,
78
+ languageService,
79
+ keybindingService,
80
+ configurationService,
81
+ menuService,
82
+ contextMenuService,
83
+ editorGroupService,
84
+ textResourceConfigurationService,
85
+ notebookExecutionStateService,
86
+ extensionService,
87
+ _accessibilityService
88
+ ) {
89
+ super(REPL_EDITOR_ID, group, telemetryService, themeService, storageService);
90
+ this._accessibilityService = _accessibilityService;
91
+ this._notebookWidget = {
92
+ value: undefined
93
+ };
94
+ this._widgetDisposableStore = this._register(( new DisposableStore()));
95
+ this._groupListener = this._register(( new MutableDisposable()));
96
+ this._onDidFocusWidget = this._register(( new Emitter()));
97
+ this._onDidChangeSelection = this._register(( new Emitter()));
98
+ this.onDidChangeSelection = this._onDidChangeSelection.event;
99
+ this._onDidChangeScroll = this._register(( new Emitter()));
100
+ this.onDidChangeScroll = this._onDidChangeScroll.event;
101
+ this._notebookWidgetService = notebookWidgetService;
102
+ this._configurationService = configurationService;
103
+ this._notebookKernelService = notebookKernelService;
104
+ this._languageService = languageService;
105
+ this._keybindingService = keybindingService;
106
+ this._menuService = menuService;
107
+ this._contextMenuService = contextMenuService;
108
+ this._editorGroupService = editorGroupService;
109
+ this._extensionService = extensionService;
110
+ this._rootElement = $(".interactive-editor");
111
+ this._contextKeyService = this._register(contextKeyService.createScoped(this._rootElement));
112
+ this._contextKeyService.createKey("isCompositeNotebook", true);
113
+ this._instantiationService = this._register(instantiationService.createChild(( new ServiceCollection([IContextKeyService, this._contextKeyService]))));
114
+ this._editorOptions = this._computeEditorOptions();
115
+ this._register(this._configurationService.onDidChangeConfiguration(e => {
116
+ if (e.affectsConfiguration("editor") || e.affectsConfiguration("notebook")) {
117
+ this._editorOptions = this._computeEditorOptions();
118
+ }
119
+ }));
120
+ this._notebookOptions = instantiationService.createInstance(NotebookOptions, this.window, true, {
121
+ cellToolbarInteraction: "hover",
122
+ globalToolbar: true,
123
+ stickyScrollEnabled: false,
124
+ dragAndDropEnabled: false,
125
+ disableRulers: true
126
+ });
127
+ this._editorMemento = this.getEditorMemento(
128
+ editorGroupService,
129
+ textResourceConfigurationService,
130
+ INTERACTIVE_EDITOR_VIEW_STATE_PREFERENCE_KEY
131
+ );
132
+ this._register(
133
+ this._keybindingService.onDidUpdateKeybindings(this._updateInputHint, this)
134
+ );
135
+ this._register(notebookExecutionStateService.onDidChangeExecution(e => {
136
+ if (e.type === NotebookExecutionType.cell && isEqual(e.notebook, this._notebookWidget.value?.viewModel?.notebookDocument.uri)) {
137
+ const cell = this._notebookWidget.value?.getCellByHandle(e.cellHandle);
138
+ if (cell && e.changed?.state) {
139
+ this._scrollIfNecessary(cell);
140
+ }
141
+ }
142
+ }));
143
+ }
144
+ get inputCellContainerHeight() {
145
+ return 19 + 2 + INPUT_CELL_VERTICAL_PADDING * 2 + INPUT_EDITOR_PADDING * 2;
146
+ }
147
+ get inputCellEditorHeight() {
148
+ return 19 + INPUT_EDITOR_PADDING * 2;
149
+ }
150
+ createEditor(parent) {
151
+ append(parent, this._rootElement);
152
+ this._rootElement.style.position = "relative";
153
+ this._notebookEditorContainer = append(this._rootElement, $(".notebook-editor-container"));
154
+ this._inputCellContainer = append(this._rootElement, $(".input-cell-container"));
155
+ this._inputCellContainer.style.position = "absolute";
156
+ this._inputCellContainer.style.height = `${this.inputCellContainerHeight}px`;
157
+ this._inputFocusIndicator = append(this._inputCellContainer, $(".input-focus-indicator"));
158
+ this._inputRunButtonContainer = append(this._inputCellContainer, $(".run-button-container"));
159
+ this._setupRunButtonToolbar(this._inputRunButtonContainer);
160
+ this._inputEditorContainer = append(this._inputCellContainer, $(".input-editor-container"));
161
+ this._createLayoutStyles();
162
+ }
163
+ _setupRunButtonToolbar(runButtonContainer) {
164
+ const menu = this._register(
165
+ this._menuService.createMenu(MenuId.ReplInputExecute, this._contextKeyService)
166
+ );
167
+ this._runbuttonToolbar = this._register(( new ToolBar(runButtonContainer, this._contextMenuService, {
168
+ getKeyBinding: action => this._keybindingService.lookupKeybinding(action.id),
169
+ actionViewItemProvider: (action, options) => {
170
+ return createActionViewItem(this._instantiationService, action, options);
171
+ },
172
+ renderDropdownAsChildElement: true
173
+ })));
174
+ const {
175
+ primary,
176
+ secondary
177
+ } = getActionBarActions(menu.getActions({
178
+ shouldForwardArgs: true
179
+ }));
180
+ this._runbuttonToolbar.setActions([...primary, ...secondary]);
181
+ }
182
+ _createLayoutStyles() {
183
+ this._styleElement = createStyleSheet(this._rootElement);
184
+ const styleSheets = [];
185
+ const {
186
+ codeCellLeftMargin,
187
+ cellRunGutter
188
+ } = this._notebookOptions.getLayoutConfiguration();
189
+ const {
190
+ focusIndicator
191
+ } = this._notebookOptions.getDisplayOptions();
192
+ const leftMargin = this._notebookOptions.getCellEditorContainerLeftMargin();
193
+ styleSheets.push(`
194
+ .interactive-editor .input-cell-container {
195
+ padding: ${INPUT_CELL_VERTICAL_PADDING}px ${INPUT_CELL_HORIZONTAL_PADDING_RIGHT}px ${INPUT_CELL_VERTICAL_PADDING}px ${leftMargin}px;
196
+ }
197
+ `);
198
+ if (focusIndicator === "gutter") {
199
+ styleSheets.push(`
200
+ .interactive-editor .input-cell-container:focus-within .input-focus-indicator::before {
201
+ border-color: var(--vscode-notebook-focusedCellBorder) !important;
202
+ }
203
+ .interactive-editor .input-focus-indicator::before {
204
+ border-color: var(--vscode-notebook-inactiveFocusedCellBorder) !important;
205
+ }
206
+ .interactive-editor .input-cell-container .input-focus-indicator {
207
+ display: block;
208
+ top: ${INPUT_CELL_VERTICAL_PADDING}px;
209
+ }
210
+ .interactive-editor .input-cell-container {
211
+ border-top: 1px solid var(--vscode-notebook-inactiveFocusedCellBorder);
212
+ }
213
+ `);
214
+ } else {
215
+ styleSheets.push(`
216
+ .interactive-editor .input-cell-container {
217
+ border-top: 1px solid var(--vscode-notebook-inactiveFocusedCellBorder);
218
+ }
219
+ .interactive-editor .input-cell-container .input-focus-indicator {
220
+ display: none;
221
+ }
222
+ `);
223
+ }
224
+ styleSheets.push(`
225
+ .interactive-editor .input-cell-container .run-button-container {
226
+ width: ${cellRunGutter}px;
227
+ left: ${codeCellLeftMargin}px;
228
+ margin-top: ${INPUT_EDITOR_PADDING - 2}px;
229
+ }
230
+ `);
231
+ this._styleElement.textContent = styleSheets.join("\n");
232
+ }
233
+ _computeEditorOptions() {
234
+ let overrideIdentifier = undefined;
235
+ if (this._codeEditorWidget) {
236
+ overrideIdentifier = this._codeEditorWidget.getModel()?.getLanguageId();
237
+ }
238
+ const editorOptions = deepClone(this._configurationService.getValue("editor", {
239
+ overrideIdentifier
240
+ }));
241
+ const editorOptionsOverride = getSimpleEditorOptions(this._configurationService);
242
+ const computed = ( Object.freeze({
243
+ ...editorOptions,
244
+ ...editorOptionsOverride,
245
+ ...{
246
+ ariaLabel: ( localize(10927, "REPL Input")),
247
+ glyphMargin: true,
248
+ padding: {
249
+ top: INPUT_EDITOR_PADDING,
250
+ bottom: INPUT_EDITOR_PADDING
251
+ },
252
+ hover: {
253
+ enabled: "on"
254
+ },
255
+ rulers: []
256
+ }
257
+ }));
258
+ return computed;
259
+ }
260
+ saveState() {
261
+ this._saveEditorViewState(this.input);
262
+ super.saveState();
263
+ }
264
+ getViewState() {
265
+ const input = this.input;
266
+ if (!(input instanceof ReplEditorInput)) {
267
+ return undefined;
268
+ }
269
+ this._saveEditorViewState(input);
270
+ return this._loadNotebookEditorViewState(input);
271
+ }
272
+ _saveEditorViewState(input) {
273
+ if (this._notebookWidget.value && input instanceof ReplEditorInput) {
274
+ if (this._notebookWidget.value.isDisposed) {
275
+ return;
276
+ }
277
+ const state = this._notebookWidget.value.getEditorViewState();
278
+ const editorState = this._codeEditorWidget.saveViewState();
279
+ this._editorMemento.saveEditorState(this.group, input.resource, {
280
+ notebook: state,
281
+ input: editorState
282
+ });
283
+ }
284
+ }
285
+ _loadNotebookEditorViewState(input) {
286
+ const result = this._editorMemento.loadEditorState(this.group, input.resource);
287
+ if (result) {
288
+ return result;
289
+ }
290
+ for (const group of this._editorGroupService.getGroups(GroupsOrder.MOST_RECENTLY_ACTIVE)) {
291
+ if (group.activeEditorPane !== this && group.activeEditorPane === this && group.activeEditor?.matches(input)) {
292
+ const notebook = this._notebookWidget.value?.getEditorViewState();
293
+ const input = this._codeEditorWidget.saveViewState();
294
+ return {
295
+ notebook,
296
+ input
297
+ };
298
+ }
299
+ }
300
+ return;
301
+ }
302
+ async setInput(input, options, context, token) {
303
+ this._notebookWidget.value?.onWillHide();
304
+ this._codeEditorWidget?.dispose();
305
+ this._widgetDisposableStore.clear();
306
+ this._notebookWidget = this._instantiationService.invokeFunction(this._notebookWidgetService.retrieveWidget, this.group.id, input, {
307
+ isReplHistory: true,
308
+ isReadOnly: true,
309
+ contributions: NotebookEditorExtensionsRegistry.getSomeEditorContributions([
310
+ ExecutionStateCellStatusBarContrib.id,
311
+ TimerCellStatusBarContrib.id,
312
+ NotebookFindContrib.id
313
+ ]),
314
+ menuIds: {
315
+ notebookToolbar: MenuId.InteractiveToolbar,
316
+ cellTitleToolbar: MenuId.InteractiveCellTitle,
317
+ cellDeleteToolbar: MenuId.InteractiveCellDelete,
318
+ cellInsertToolbar: MenuId.NotebookCellBetween,
319
+ cellTopInsertToolbar: MenuId.NotebookCellListTop,
320
+ cellExecuteToolbar: MenuId.InteractiveCellExecute,
321
+ cellExecutePrimary: undefined
322
+ },
323
+ cellEditorContributions: EditorExtensionsRegistry.getSomeEditorContributions([
324
+ SelectionClipboardContributionID,
325
+ ContextMenuController.ID,
326
+ ContentHoverController.ID,
327
+ GlyphHoverController.ID,
328
+ MarkerController.ID
329
+ ]),
330
+ options: this._notebookOptions,
331
+ codeWindow: this.window
332
+ }, undefined, this.window);
333
+ const skipContributions = [
334
+ "workbench.notebook.cellToolbar",
335
+ "editor.contrib.inlineCompletionsController"
336
+ ];
337
+ const inputContributions = getDefaultNotebookCreationOptions().cellEditorContributions?.filter(c => skipContributions.indexOf(c.id) === -1);
338
+ this._codeEditorWidget = this._instantiationService.createInstance(CodeEditorWidget, this._inputEditorContainer, this._editorOptions, {
339
+ ...{
340
+ isSimpleWidget: false,
341
+ contributions: inputContributions
342
+ }
343
+ });
344
+ if (this._lastLayoutDimensions) {
345
+ this._notebookEditorContainer.style.height = `${this._lastLayoutDimensions.dimension.height - this.inputCellContainerHeight}px`;
346
+ this._notebookWidget.value.layout(new Dimension(
347
+ this._lastLayoutDimensions.dimension.width,
348
+ this._lastLayoutDimensions.dimension.height - this.inputCellContainerHeight
349
+ ), this._notebookEditorContainer);
350
+ const leftMargin = this._notebookOptions.getCellEditorContainerLeftMargin();
351
+ const maxHeight = Math.min(
352
+ this._lastLayoutDimensions.dimension.height / 2,
353
+ this.inputCellEditorHeight
354
+ );
355
+ this._codeEditorWidget.layout(this._validateDimension(
356
+ this._lastLayoutDimensions.dimension.width - leftMargin - INPUT_CELL_HORIZONTAL_PADDING_RIGHT,
357
+ maxHeight
358
+ ));
359
+ this._inputFocusIndicator.style.height = `${this.inputCellEditorHeight}px`;
360
+ this._inputCellContainer.style.top = `${this._lastLayoutDimensions.dimension.height - this.inputCellContainerHeight}px`;
361
+ this._inputCellContainer.style.width = `${this._lastLayoutDimensions.dimension.width}px`;
362
+ }
363
+ await super.setInput(input, options, context, token);
364
+ const model = await input.resolve();
365
+ if (this._runbuttonToolbar) {
366
+ this._runbuttonToolbar.context = input.resource;
367
+ }
368
+ if (model === null) {
369
+ throw ( new Error("The REPL model could not be resolved"));
370
+ }
371
+ this._notebookWidget.value?.setParentContextKeyService(this._contextKeyService);
372
+ const viewState = options?.viewState ?? this._loadNotebookEditorViewState(input);
373
+ await this._extensionService.whenInstalledExtensionsRegistered();
374
+ await this._notebookWidget.value.setModel(model.notebook, viewState?.notebook, undefined, "repl");
375
+ model.notebook.setCellCollapseDefault(this._notebookOptions.getCellCollapseDefault());
376
+ this._notebookWidget.value.setOptions({
377
+ isReadOnly: true
378
+ });
379
+ this._widgetDisposableStore.add(this._notebookWidget.value.onDidResizeOutput(cvm => {
380
+ this._scrollIfNecessary(cvm);
381
+ }));
382
+ this._widgetDisposableStore.add(
383
+ this._notebookWidget.value.onDidFocusWidget(() => this._onDidFocusWidget.fire())
384
+ );
385
+ this._widgetDisposableStore.add(this._notebookOptions.onDidChangeOptions(e => {
386
+ if (e.compactView || e.focusIndicator) {
387
+ this._styleElement?.remove();
388
+ this._createLayoutStyles();
389
+ }
390
+ if (this._lastLayoutDimensions && this.isVisible()) {
391
+ this.layout(this._lastLayoutDimensions.dimension, this._lastLayoutDimensions.position);
392
+ }
393
+ if (e.interactiveWindowCollapseCodeCells) {
394
+ model.notebook.setCellCollapseDefault(this._notebookOptions.getCellCollapseDefault());
395
+ }
396
+ }));
397
+ const editorModel = await input.resolveInput(model.notebook);
398
+ this._codeEditorWidget.setModel(editorModel);
399
+ if (viewState?.input) {
400
+ this._codeEditorWidget.restoreViewState(viewState.input);
401
+ }
402
+ this._editorOptions = this._computeEditorOptions();
403
+ this._codeEditorWidget.updateOptions(this._editorOptions);
404
+ this._widgetDisposableStore.add(
405
+ this._codeEditorWidget.onDidFocusEditorWidget(() => this._onDidFocusWidget.fire())
406
+ );
407
+ this._widgetDisposableStore.add(this._codeEditorWidget.onDidContentSizeChange(e => {
408
+ if (!e.contentHeightChanged) {
409
+ return;
410
+ }
411
+ if (this._lastLayoutDimensions) {
412
+ this._layoutWidgets(this._lastLayoutDimensions.dimension, this._lastLayoutDimensions.position);
413
+ }
414
+ }));
415
+ this._widgetDisposableStore.add(
416
+ this._codeEditorWidget.onDidChangeCursorPosition(e => this._onDidChangeSelection.fire({
417
+ reason: this._toEditorPaneSelectionChangeReason(e)
418
+ }))
419
+ );
420
+ this._widgetDisposableStore.add(
421
+ this._codeEditorWidget.onDidChangeModelContent(() => this._onDidChangeSelection.fire({
422
+ reason: EditorPaneSelectionChangeReason.EDIT
423
+ }))
424
+ );
425
+ this._widgetDisposableStore.add(
426
+ this._notebookKernelService.onDidChangeNotebookAffinity(this._syncWithKernel, this)
427
+ );
428
+ this._widgetDisposableStore.add(
429
+ this._notebookKernelService.onDidChangeSelectedNotebooks(this._syncWithKernel, this)
430
+ );
431
+ this._widgetDisposableStore.add(this.themeService.onDidColorThemeChange(() => {
432
+ if (this.isVisible()) {
433
+ this._updateInputHint();
434
+ }
435
+ }));
436
+ this._widgetDisposableStore.add(this._codeEditorWidget.onDidChangeModelContent(() => {
437
+ if (this.isVisible()) {
438
+ this._updateInputHint();
439
+ }
440
+ }));
441
+ this._widgetDisposableStore.add(this._codeEditorWidget.onDidChangeModelDecorations(() => {
442
+ if (this.isVisible()) {
443
+ this._updateInputHint();
444
+ }
445
+ }));
446
+ const cursorAtBoundaryContext = INTERACTIVE_INPUT_CURSOR_BOUNDARY.bindTo(this._contextKeyService);
447
+ if (input.resource && ( input.historyService.has(input.resource))) {
448
+ cursorAtBoundaryContext.set("top");
449
+ } else {
450
+ cursorAtBoundaryContext.set("none");
451
+ }
452
+ this._widgetDisposableStore.add(this._codeEditorWidget.onDidChangeCursorPosition((
453
+ {
454
+ position
455
+ }
456
+ ) => {
457
+ const viewModel = this._codeEditorWidget._getViewModel();
458
+ const lastLineNumber = viewModel.getLineCount();
459
+ const lastLineCol = viewModel.getLineLength(lastLineNumber) + 1;
460
+ const viewPosition = viewModel.coordinatesConverter.convertModelPositionToViewPosition(position);
461
+ const firstLine = viewPosition.lineNumber === 1 && viewPosition.column === 1;
462
+ const lastLine = viewPosition.lineNumber === lastLineNumber && viewPosition.column === lastLineCol;
463
+ if (firstLine) {
464
+ if (lastLine) {
465
+ cursorAtBoundaryContext.set("both");
466
+ } else {
467
+ cursorAtBoundaryContext.set("top");
468
+ }
469
+ } else {
470
+ if (lastLine) {
471
+ cursorAtBoundaryContext.set("bottom");
472
+ } else {
473
+ cursorAtBoundaryContext.set("none");
474
+ }
475
+ }
476
+ }));
477
+ this._widgetDisposableStore.add(editorModel.onDidChangeContent(() => {
478
+ const value = editorModel.getValue();
479
+ if (this.input?.resource && value !== "") {
480
+ const historyService = this.input.historyService;
481
+ if (!historyService.matchesCurrent(this.input.resource, value)) {
482
+ historyService.replaceLast(this.input.resource, value);
483
+ }
484
+ }
485
+ }));
486
+ this._widgetDisposableStore.add(
487
+ this._notebookWidget.value.onDidScroll(() => this._onDidChangeScroll.fire())
488
+ );
489
+ this._widgetDisposableStore.add(
490
+ this._notebookWidget.value.onDidChangeViewCells(this.handleViewCellChange, this)
491
+ );
492
+ this._updateInputHint();
493
+ this._syncWithKernel();
494
+ }
495
+ handleViewCellChange(e) {
496
+ const notebookWidget = this._notebookWidget.value;
497
+ if (!notebookWidget) {
498
+ return;
499
+ }
500
+ for (const splice of e.splices) {
501
+ const [_start, _delete, addedCells] = splice;
502
+ if (addedCells.length) {
503
+ const viewModel = notebookWidget.viewModel;
504
+ if (viewModel) {
505
+ this.handleAppend(notebookWidget, viewModel);
506
+ break;
507
+ }
508
+ }
509
+ }
510
+ }
511
+ handleAppend(notebookWidget, viewModel) {
512
+ this._notebookWidgetService.updateReplContextKey(( viewModel.notebookDocument.uri.toString()));
513
+ const navigateToCell = this._configurationService.getValue("accessibility.replEditor.autoFocusReplExecution");
514
+ if (this._accessibilityService.isScreenReaderOptimized()) {
515
+ if (navigateToCell === "lastExecution") {
516
+ setTimeout(() => {
517
+ const lastCellIndex = viewModel.length - 1;
518
+ if (lastCellIndex >= 0) {
519
+ const cell = viewModel.viewCells[lastCellIndex];
520
+ notebookWidget.focusNotebookCell(cell, "container");
521
+ }
522
+ }, 0);
523
+ } else if (navigateToCell === "input") {
524
+ this._codeEditorWidget.focus();
525
+ }
526
+ }
527
+ }
528
+ setOptions(options) {
529
+ this._notebookWidget.value?.setOptions(options);
530
+ super.setOptions(options);
531
+ }
532
+ _toEditorPaneSelectionChangeReason(e) {
533
+ switch (e.source) {
534
+ case TextEditorSelectionSource.PROGRAMMATIC:
535
+ return EditorPaneSelectionChangeReason.PROGRAMMATIC;
536
+ case TextEditorSelectionSource.NAVIGATION:
537
+ return EditorPaneSelectionChangeReason.NAVIGATION;
538
+ case TextEditorSelectionSource.JUMP:
539
+ return EditorPaneSelectionChangeReason.JUMP;
540
+ default:
541
+ return EditorPaneSelectionChangeReason.USER;
542
+ }
543
+ }
544
+ _cellAtBottom(cell) {
545
+ const visibleRanges = this._notebookWidget.value?.visibleRanges || [];
546
+ const cellIndex = this._notebookWidget.value?.getCellIndex(cell);
547
+ if (cellIndex === Math.max(...( visibleRanges.map(range => range.end - 1)))) {
548
+ return true;
549
+ }
550
+ return false;
551
+ }
552
+ _scrollIfNecessary(cvm) {
553
+ const index = this._notebookWidget.value.getCellIndex(cvm);
554
+ if (index === this._notebookWidget.value.getLength() - 1) {
555
+ if (this._configurationService.getValue(ReplEditorSettings.interactiveWindowAlwaysScrollOnNewCell) || this._cellAtBottom(cvm)) {
556
+ this._notebookWidget.value.scrollToBottom();
557
+ }
558
+ }
559
+ }
560
+ _syncWithKernel() {
561
+ const notebook = this._notebookWidget.value?.textModel;
562
+ const textModel = this._codeEditorWidget.getModel();
563
+ if (notebook && textModel) {
564
+ const info = this._notebookKernelService.getMatchingKernel(notebook);
565
+ const selectedOrSuggested = info.selected ?? (info.suggestions.length === 1 ? info.suggestions[0] : undefined) ?? (info.all.length === 1 ? info.all[0] : undefined);
566
+ if (selectedOrSuggested) {
567
+ const language = selectedOrSuggested.supportedLanguages[0];
568
+ if (language && language !== "plaintext") {
569
+ const newMode = this._languageService.createById(language).languageId;
570
+ textModel.setLanguage(newMode);
571
+ }
572
+ NOTEBOOK_KERNEL.bindTo(this._contextKeyService).set(selectedOrSuggested.id);
573
+ }
574
+ }
575
+ }
576
+ layout(dimension, position) {
577
+ this._rootElement.classList.toggle("mid-width", dimension.width < 1000 && dimension.width >= 600);
578
+ this._rootElement.classList.toggle("narrow-width", dimension.width < 600);
579
+ const editorHeightChanged = dimension.height !== this._lastLayoutDimensions?.dimension.height;
580
+ this._lastLayoutDimensions = {
581
+ dimension,
582
+ position
583
+ };
584
+ if (!this._notebookWidget.value) {
585
+ return;
586
+ }
587
+ if (editorHeightChanged && this._codeEditorWidget) {
588
+ SuggestController.get(this._codeEditorWidget)?.cancelSuggestWidget();
589
+ }
590
+ this._notebookEditorContainer.style.height = `${this._lastLayoutDimensions.dimension.height - this.inputCellContainerHeight}px`;
591
+ this._layoutWidgets(dimension, position);
592
+ }
593
+ _layoutWidgets(dimension, position) {
594
+ const contentHeight = this._codeEditorWidget.hasModel() ? this._codeEditorWidget.getContentHeight() : this.inputCellEditorHeight;
595
+ const maxHeight = Math.min(dimension.height / 2, contentHeight);
596
+ const leftMargin = this._notebookOptions.getCellEditorContainerLeftMargin();
597
+ const inputCellContainerHeight = maxHeight + INPUT_CELL_VERTICAL_PADDING * 2;
598
+ this._notebookEditorContainer.style.height = `${dimension.height - inputCellContainerHeight}px`;
599
+ this._notebookWidget.value.layout(
600
+ dimension.with(dimension.width, dimension.height - inputCellContainerHeight),
601
+ this._notebookEditorContainer,
602
+ position
603
+ );
604
+ this._codeEditorWidget.layout(this._validateDimension(
605
+ dimension.width - leftMargin - INPUT_CELL_HORIZONTAL_PADDING_RIGHT,
606
+ maxHeight
607
+ ));
608
+ this._inputFocusIndicator.style.height = `${contentHeight}px`;
609
+ this._inputCellContainer.style.top = `${dimension.height - inputCellContainerHeight}px`;
610
+ this._inputCellContainer.style.width = `${dimension.width}px`;
611
+ }
612
+ _validateDimension(width, height) {
613
+ return new Dimension(Math.max(0, width), Math.max(0, height));
614
+ }
615
+ _hasConflictingDecoration() {
616
+ return Boolean(this._codeEditorWidget.getLineDecorations(1)?.find(
617
+ d => d.options.beforeContentClassName || d.options.afterContentClassName || d.options.before?.content || d.options.after?.content
618
+ ));
619
+ }
620
+ _updateInputHint() {
621
+ if (!this._codeEditorWidget) {
622
+ return;
623
+ }
624
+ const shouldHide = !this._codeEditorWidget.hasModel() || this._configurationService.getValue(ReplEditorSettings.showExecutionHint) === false || this._codeEditorWidget.getModel().getValueLength() !== 0 || this._hasConflictingDecoration();
625
+ if (!this._hintElement && !shouldHide) {
626
+ this._hintElement = this._instantiationService.createInstance(ReplInputHintContentWidget, this._codeEditorWidget);
627
+ } else if (this._hintElement && shouldHide) {
628
+ this._hintElement.dispose();
629
+ this._hintElement = undefined;
630
+ }
631
+ }
632
+ getScrollPosition() {
633
+ return {
634
+ scrollTop: this._notebookWidget.value?.scrollTop ?? 0,
635
+ scrollLeft: 0
636
+ };
637
+ }
638
+ setScrollPosition(position) {
639
+ this._notebookWidget.value?.setScrollTop(position.scrollTop);
640
+ }
641
+ focus() {
642
+ super.focus();
643
+ this._notebookWidget.value?.onShow();
644
+ this._codeEditorWidget.focus();
645
+ }
646
+ focusHistory() {
647
+ this._notebookWidget.value.focus();
648
+ }
649
+ setEditorVisible(visible) {
650
+ super.setEditorVisible(visible);
651
+ this._groupListener.value = this.group.onWillCloseEditor(e => this._saveEditorViewState(e.editor));
652
+ if (!visible) {
653
+ this._saveEditorViewState(this.input);
654
+ if (this.input && this._notebookWidget.value) {
655
+ this._notebookWidget.value.onWillHide();
656
+ }
657
+ }
658
+ this._updateInputHint();
659
+ }
660
+ clearInput() {
661
+ if (this._notebookWidget.value) {
662
+ this._saveEditorViewState(this.input);
663
+ this._notebookWidget.value.onWillHide();
664
+ }
665
+ this._codeEditorWidget?.dispose();
666
+ this._notebookWidget = {
667
+ value: undefined
668
+ };
669
+ this._widgetDisposableStore.clear();
670
+ super.clearInput();
671
+ }
672
+ getControl() {
673
+ return {
674
+ notebookEditor: this._notebookWidget.value,
675
+ activeCodeEditor: this.getActiveCodeEditor(),
676
+ onDidChangeActiveEditor: Event.None
677
+ };
678
+ }
679
+ getActiveCodeEditor() {
680
+ if (!this._codeEditorWidget) {
681
+ return undefined;
682
+ }
683
+ return this._codeEditorWidget.hasWidgetFocus() || !this._notebookWidget.value?.activeCodeEditor ? this._codeEditorWidget : this._notebookWidget.value.activeCodeEditor;
684
+ }
685
+ };
686
+ ReplEditor = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, INotebookEditorService)), ( __param(6, IContextKeyService)), ( __param(7, INotebookKernelService)), ( __param(8, ILanguageService)), ( __param(9, IKeybindingService)), ( __param(10, IConfigurationService)), ( __param(11, IMenuService)), ( __param(12, IContextMenuService)), ( __param(13, IEditorGroupsService)), ( __param(14, ITextResourceConfigurationService)), ( __param(15, INotebookExecutionStateService)), ( __param(16, IExtensionService)), ( __param(17, IAccessibilityService))], ReplEditor));
687
+ function isReplEditorControl(control) {
688
+ const candidate = control;
689
+ return candidate?.activeCodeEditor instanceof CodeEditorWidget && candidate?.notebookEditor instanceof NotebookEditorWidget;
690
+ }
691
+
692
+ export { ReplEditor, isReplEditorControl };