@codingame/monaco-vscode-notebook-service-override 14.0.6 → 15.0.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.
- package/package.json +26 -29
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.d.ts +34 -0
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +216 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +8 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +29 -28
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticEditorContrib.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticEditorContrib.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticsActions.js +9 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/diagnosticCellStatusBarContrib.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/diagnosticCellStatusBarContrib.js +5 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/contribution.js +10 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookCellDecorators.d.ts +4 -40
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookCellDecorators.js +13 -217
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatActionsOverlay.js +22 -33
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditController.js +17 -20
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookOriginalCellModelFactory.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookOriginalCellModelFactory.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookOriginalModelRefFactory.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookOriginalModelRefFactory.js +8 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookSynchronizer.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookSynchronizer.js +47 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookSynchronizerService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookSynchronizerService.js +28 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +13 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +12 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +4 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/multicursor/notebookMulticursor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/multicursor/notebookMulticursor.js +14 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/multicursor/notebookSelectionHighlight.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +18 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookInlineVariables.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookInlineVariables.js +328 -116
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +8 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +16 -16
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +19 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +39 -37
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +99 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +40 -35
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +31 -31
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +37 -33
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +22 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +11 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +17 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/variablesActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +58 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +99 -87
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityHelp.js +12 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibleView.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +33 -33
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +7 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +8 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.d.ts +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.js +3 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookSimpleWorker.js +20 -16
- package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.d.ts +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +14 -14
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +3 -3
- package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.d.ts +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +2 -2
|
@@ -10,24 +10,25 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
10
10
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
11
11
|
import { InputFocusedContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
|
|
12
12
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
13
|
-
import { CTX_INLINE_CHAT_FOCUSED, CTX_INLINE_CHAT_INNER_CURSOR_FIRST, CTX_INLINE_CHAT_INNER_CURSOR_LAST, CTX_INLINE_CHAT_RESPONSE_TYPE, InlineChatResponseType, MENU_INLINE_CHAT_WIDGET_STATUS, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_VISIBLE } from '@codingame/monaco-vscode-
|
|
14
|
-
import { CTX_NOTEBOOK_CHAT_HAS_ACTIVE_REQUEST, MENU_CELL_CHAT_INPUT, CTX_NOTEBOOK_CELL_CHAT_FOCUSED, MENU_CELL_CHAT_WIDGET, MENU_CELL_CHAT_WIDGET_STATUS, CTX_NOTEBOOK_CHAT_USER_DID_EDIT, CTX_NOTEBOOK_CHAT_OUTER_FOCUS_POSITION, CTX_NOTEBOOK_CHAT_HAS_AGENT } from '@codingame/monaco-vscode-
|
|
15
|
-
import { NotebookChatController } from '@codingame/monaco-vscode-
|
|
16
|
-
import { NotebookAction, NotebookCellAction, getEditorFromArgsOrActivePane, CELL_TITLE_CELL_GROUP_ID, getContextFromActiveEditor } from '@codingame/monaco-vscode-
|
|
13
|
+
import { CTX_INLINE_CHAT_FOCUSED, CTX_INLINE_CHAT_INNER_CURSOR_FIRST, CTX_INLINE_CHAT_INNER_CURSOR_LAST, CTX_INLINE_CHAT_RESPONSE_TYPE, InlineChatResponseType, MENU_INLINE_CHAT_WIDGET_STATUS, CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_VISIBLE } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
14
|
+
import { CTX_NOTEBOOK_CHAT_HAS_ACTIVE_REQUEST, MENU_CELL_CHAT_INPUT, CTX_NOTEBOOK_CELL_CHAT_FOCUSED, MENU_CELL_CHAT_WIDGET, MENU_CELL_CHAT_WIDGET_STATUS, CTX_NOTEBOOK_CHAT_USER_DID_EDIT, CTX_NOTEBOOK_CHAT_OUTER_FOCUS_POSITION, CTX_NOTEBOOK_CHAT_HAS_AGENT } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext';
|
|
15
|
+
import { NotebookChatController } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController';
|
|
16
|
+
import { NotebookAction, NotebookCellAction, getEditorFromArgsOrActivePane, CELL_TITLE_CELL_GROUP_ID, getContextFromActiveEditor } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/coreActions';
|
|
17
17
|
import { insertNewCell } from '../insertCellActions.js';
|
|
18
|
-
import { CellEditState } from '@codingame/monaco-vscode-
|
|
18
|
+
import { CellEditState } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
19
19
|
import { CellKind, NOTEBOOK_EDITOR_CURSOR_BOUNDARY, NotebookSetting } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
20
|
-
import { NOTEBOOK_CELL_EDITOR_FOCUSED, NOTEBOOK_EDITOR_FOCUSED, IS_COMPOSITE_NOTEBOOK, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_GENERATED_BY_CHAT } from '@codingame/monaco-vscode-
|
|
20
|
+
import { NOTEBOOK_CELL_EDITOR_FOCUSED, NOTEBOOK_EDITOR_FOCUSED, IS_COMPOSITE_NOTEBOOK, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_GENERATED_BY_CHAT } from '@codingame/monaco-vscode-52bb4d5b-ba1a-57fd-9bee-b28824214eac-common/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
|
|
21
21
|
import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
|
|
22
22
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
23
23
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
|
|
24
|
-
import {
|
|
24
|
+
import { InlineChatController } from '@codingame/monaco-vscode-29bc1406-2925-5b8f-b25e-d04a7772d896-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
25
|
+
import { EditorAction2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
|
|
25
26
|
|
|
26
27
|
registerAction2(class extends NotebookAction {
|
|
27
28
|
constructor() {
|
|
28
29
|
super({
|
|
29
30
|
id: 'notebook.cell.chat.accept',
|
|
30
|
-
title: ( localize2(
|
|
31
|
+
title: ( localize2(7660, "Make Request")),
|
|
31
32
|
icon: Codicon.send,
|
|
32
33
|
keybinding: {
|
|
33
34
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED, ( NOTEBOOK_CELL_EDITOR_FOCUSED.negate()))),
|
|
@@ -51,7 +52,7 @@ registerAction2(class extends NotebookCellAction {
|
|
|
51
52
|
constructor() {
|
|
52
53
|
super({
|
|
53
54
|
id: 'notebook.cell.chat.arrowOutUp',
|
|
54
|
-
title: ( localize(
|
|
55
|
+
title: ( localize(7661, 'Cursor Up')),
|
|
55
56
|
keybinding: {
|
|
56
57
|
when: ( ContextKeyExpr.and(
|
|
57
58
|
CTX_NOTEBOOK_CELL_CHAT_FOCUSED,
|
|
@@ -86,7 +87,7 @@ registerAction2(class extends NotebookAction {
|
|
|
86
87
|
constructor() {
|
|
87
88
|
super({
|
|
88
89
|
id: 'notebook.cell.chat.arrowOutDown',
|
|
89
|
-
title: ( localize(
|
|
90
|
+
title: ( localize(7662, 'Cursor Down')),
|
|
90
91
|
keybinding: {
|
|
91
92
|
when: ( ContextKeyExpr.and(
|
|
92
93
|
CTX_NOTEBOOK_CELL_CHAT_FOCUSED,
|
|
@@ -109,7 +110,7 @@ registerAction2(class extends NotebookCellAction {
|
|
|
109
110
|
constructor() {
|
|
110
111
|
super({
|
|
111
112
|
id: 'notebook.cell.focusChatWidget',
|
|
112
|
-
title: ( localize(
|
|
113
|
+
title: ( localize(7663, 'Focus Chat Widget')),
|
|
113
114
|
keybinding: {
|
|
114
115
|
when: ( ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, ( CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()), ( ContextKeyExpr.and(( ContextKeyExpr.has(InputFocusedContextKey)), EditorContextKeys.editorTextFocus, ( NOTEBOOK_EDITOR_CURSOR_BOUNDARY.notEqualsTo('bottom')), ( NOTEBOOK_EDITOR_CURSOR_BOUNDARY.notEqualsTo('none')))), ( EditorContextKeys.isEmbeddedDiffEditor.negate()))),
|
|
115
116
|
weight: KeybindingWeight.EditorCore + 7,
|
|
@@ -127,7 +128,7 @@ registerAction2(class extends NotebookCellAction {
|
|
|
127
128
|
constructor() {
|
|
128
129
|
super({
|
|
129
130
|
id: 'notebook.cell.focusNextChatWidget',
|
|
130
|
-
title: ( localize(
|
|
131
|
+
title: ( localize(7664, 'Focus Next Cell Chat Widget')),
|
|
131
132
|
keybinding: {
|
|
132
133
|
when: ( ContextKeyExpr.and(( CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()), ( ContextKeyExpr.and(( ContextKeyExpr.has(InputFocusedContextKey)), EditorContextKeys.editorTextFocus, ( NOTEBOOK_EDITOR_CURSOR_BOUNDARY.notEqualsTo('top')), ( NOTEBOOK_EDITOR_CURSOR_BOUNDARY.notEqualsTo('none')))), ( EditorContextKeys.isEmbeddedDiffEditor.negate()))),
|
|
133
134
|
weight: KeybindingWeight.EditorCore + 7,
|
|
@@ -146,7 +147,7 @@ registerAction2(class extends NotebookAction {
|
|
|
146
147
|
constructor() {
|
|
147
148
|
super({
|
|
148
149
|
id: 'notebook.cell.chat.stop',
|
|
149
|
-
title: ( localize2(
|
|
150
|
+
title: ( localize2(7665, "Stop Request")),
|
|
150
151
|
icon: Codicon.debugStop,
|
|
151
152
|
menu: {
|
|
152
153
|
id: MENU_CELL_CHAT_INPUT,
|
|
@@ -165,7 +166,7 @@ registerAction2(class extends NotebookAction {
|
|
|
165
166
|
constructor() {
|
|
166
167
|
super({
|
|
167
168
|
id: 'notebook.cell.chat.close',
|
|
168
|
-
title: ( localize2(
|
|
169
|
+
title: ( localize2(7666, "Close Chat")),
|
|
169
170
|
icon: Codicon.close,
|
|
170
171
|
menu: {
|
|
171
172
|
id: MENU_CELL_CHAT_WIDGET,
|
|
@@ -183,10 +184,10 @@ registerAction2(class extends NotebookAction {
|
|
|
183
184
|
constructor() {
|
|
184
185
|
super({
|
|
185
186
|
id: 'notebook.cell.chat.acceptChanges',
|
|
186
|
-
title: ( localize2(
|
|
187
|
-
shortTitle: ( localize(
|
|
187
|
+
title: ( localize2(7667, "Accept Changes")),
|
|
188
|
+
shortTitle: ( localize(7668, 'Accept')),
|
|
188
189
|
icon: Codicon.check,
|
|
189
|
-
tooltip: ( localize(
|
|
190
|
+
tooltip: ( localize(7669, 'Accept Changes')),
|
|
190
191
|
keybinding: [
|
|
191
192
|
{
|
|
192
193
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED, ( NOTEBOOK_CELL_EDITOR_FOCUSED.negate()))),
|
|
@@ -233,7 +234,7 @@ registerAction2(class extends NotebookAction {
|
|
|
233
234
|
constructor() {
|
|
234
235
|
super({
|
|
235
236
|
id: 'notebook.cell.chat.discard',
|
|
236
|
-
title: ( localize(
|
|
237
|
+
title: ( localize(7670, 'Discard')),
|
|
237
238
|
icon: Codicon.discard,
|
|
238
239
|
keybinding: {
|
|
239
240
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED, ( CTX_NOTEBOOK_CHAT_USER_DID_EDIT.negate()), ( NOTEBOOK_CELL_EDITOR_FOCUSED.negate()))),
|
|
@@ -274,12 +275,12 @@ registerAction2(class extends NotebookAction {
|
|
|
274
275
|
super({
|
|
275
276
|
id: 'notebook.cell.chat.start',
|
|
276
277
|
title: {
|
|
277
|
-
value: '$(sparkle) ' + ( localize(
|
|
278
|
+
value: '$(sparkle) ' + ( localize(7671, "Generate")),
|
|
278
279
|
original: '$(sparkle) Generate',
|
|
279
280
|
},
|
|
280
|
-
tooltip: ( localize(
|
|
281
|
+
tooltip: ( localize(7672, "Start Chat to Generate Code")),
|
|
281
282
|
metadata: {
|
|
282
|
-
description: ( localize(
|
|
283
|
+
description: ( localize(7672, "Start Chat to Generate Code")),
|
|
283
284
|
args: [
|
|
284
285
|
{
|
|
285
286
|
name: 'args',
|
|
@@ -361,10 +362,10 @@ registerAction2(class extends NotebookAction {
|
|
|
361
362
|
super({
|
|
362
363
|
id: 'notebook.cell.chat.startAtTop',
|
|
363
364
|
title: {
|
|
364
|
-
value: '$(sparkle) ' + ( localize(
|
|
365
|
+
value: '$(sparkle) ' + ( localize(7671, "Generate")),
|
|
365
366
|
original: '$(sparkle) Generate',
|
|
366
367
|
},
|
|
367
|
-
tooltip: ( localize(
|
|
368
|
+
tooltip: ( localize(7672, "Start Chat to Generate Code")),
|
|
368
369
|
f1: false,
|
|
369
370
|
menu: [
|
|
370
371
|
{
|
|
@@ -384,8 +385,8 @@ MenuRegistry.appendMenuItem(MenuId.NotebookToolbar, {
|
|
|
384
385
|
command: {
|
|
385
386
|
id: 'notebook.cell.chat.start',
|
|
386
387
|
icon: Codicon.sparkle,
|
|
387
|
-
title: ( localize(
|
|
388
|
-
tooltip: ( localize(
|
|
388
|
+
title: ( localize(7673, "Generate")),
|
|
389
|
+
tooltip: ( localize(7674, "Start Chat to Generate Code"))
|
|
389
390
|
},
|
|
390
391
|
order: -10,
|
|
391
392
|
group: 'navigation/add',
|
|
@@ -395,7 +396,7 @@ registerAction2(class extends NotebookAction {
|
|
|
395
396
|
constructor() {
|
|
396
397
|
super({
|
|
397
398
|
id: 'notebook.cell.chat.focus',
|
|
398
|
-
title: ( localize(
|
|
399
|
+
title: ( localize(7675, 'Focus Chat')),
|
|
399
400
|
keybinding: [
|
|
400
401
|
{
|
|
401
402
|
when: ( ContextKeyExpr.and(
|
|
@@ -427,7 +428,7 @@ registerAction2(class extends NotebookAction {
|
|
|
427
428
|
constructor() {
|
|
428
429
|
super({
|
|
429
430
|
id: 'notebook.cell.chat.focusNextCell',
|
|
430
|
-
title: ( localize(
|
|
431
|
+
title: ( localize(7676, 'Focus Next Cell')),
|
|
431
432
|
keybinding: [
|
|
432
433
|
{
|
|
433
434
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
@@ -446,7 +447,7 @@ registerAction2(class extends NotebookAction {
|
|
|
446
447
|
constructor() {
|
|
447
448
|
super({
|
|
448
449
|
id: 'notebook.cell.chat.focusPreviousCell',
|
|
449
|
-
title: ( localize(
|
|
450
|
+
title: ( localize(7677, 'Focus Previous Cell')),
|
|
450
451
|
keybinding: [
|
|
451
452
|
{
|
|
452
453
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
@@ -465,7 +466,7 @@ registerAction2(class extends NotebookAction {
|
|
|
465
466
|
constructor() {
|
|
466
467
|
super({
|
|
467
468
|
id: 'notebook.cell.chat.previousFromHistory',
|
|
468
|
-
title: ( localize2(
|
|
469
|
+
title: ( localize2(7678, "Previous From History")),
|
|
469
470
|
precondition: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
470
471
|
keybinding: {
|
|
471
472
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
@@ -483,7 +484,7 @@ registerAction2(class extends NotebookAction {
|
|
|
483
484
|
constructor() {
|
|
484
485
|
super({
|
|
485
486
|
id: 'notebook.cell.chat.nextFromHistory',
|
|
486
|
-
title: ( localize2(
|
|
487
|
+
title: ( localize2(7679, "Next From History")),
|
|
487
488
|
precondition: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
488
489
|
keybinding: {
|
|
489
490
|
when: ( ContextKeyExpr.and(CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_INLINE_CHAT_FOCUSED)),
|
|
@@ -501,7 +502,7 @@ registerAction2(class extends NotebookCellAction {
|
|
|
501
502
|
constructor() {
|
|
502
503
|
super({
|
|
503
504
|
id: 'notebook.cell.chat.restore',
|
|
504
|
-
title: ( localize2(
|
|
505
|
+
title: ( localize2(7680, "Generate")),
|
|
505
506
|
icon: Codicon.sparkle,
|
|
506
507
|
menu: {
|
|
507
508
|
id: MenuId.NotebookCellTitle,
|
|
@@ -528,13 +529,13 @@ registerAction2(class extends NotebookCellAction {
|
|
|
528
529
|
}
|
|
529
530
|
}
|
|
530
531
|
});
|
|
531
|
-
class AcceptChangesAndRun extends
|
|
532
|
+
class AcceptChangesAndRun extends EditorAction2 {
|
|
532
533
|
constructor() {
|
|
533
534
|
super({
|
|
534
535
|
id: 'notebook.inlineChat.acceptChangesAndRun',
|
|
535
|
-
title: ( localize2(
|
|
536
|
-
shortTitle: ( localize(
|
|
537
|
-
tooltip: ( localize(
|
|
536
|
+
title: ( localize2(7681, "Accept and Run")),
|
|
537
|
+
shortTitle: ( localize(7682, 'Accept & Run')),
|
|
538
|
+
tooltip: ( localize(7683, 'Accept the changes and run the cell')),
|
|
538
539
|
icon: Codicon.check,
|
|
539
540
|
f1: true,
|
|
540
541
|
precondition: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)), CTX_INLINE_CHAT_VISIBLE)),
|
|
@@ -547,9 +548,10 @@ class AcceptChangesAndRun extends AbstractInlineChatAction {
|
|
|
547
548
|
}]
|
|
548
549
|
});
|
|
549
550
|
}
|
|
550
|
-
|
|
551
|
+
runEditorCommand(accessor, codeEditor) {
|
|
551
552
|
const editor = getContextFromActiveEditor(accessor.get(IEditorService));
|
|
552
|
-
|
|
553
|
+
const ctrl = InlineChatController.get(codeEditor);
|
|
554
|
+
if (!editor || !ctrl) {
|
|
553
555
|
return;
|
|
554
556
|
}
|
|
555
557
|
const matchedCell = editor.notebookEditor.codeEditors.find(e => e[1] === codeEditor);
|
|
@@ -5,24 +5,29 @@ import { codiconsLibrary } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
5
5
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
7
7
|
import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
8
|
-
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures';
|
|
8
|
+
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
|
|
9
9
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
-
import { Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
10
|
+
import { Action2, registerAction2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
11
|
+
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
11
12
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
12
13
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
13
14
|
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
14
15
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
15
16
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
16
|
-
import { ChatInputPart } from '@codingame/monaco-vscode-
|
|
17
|
+
import { ChatInputPart } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/browser/chatInputPart';
|
|
17
18
|
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
|
|
18
19
|
import { computeCompletionRanges } from '@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions';
|
|
19
20
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents';
|
|
20
21
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
|
|
21
|
-
import { chatVariableLeader } from '@codingame/monaco-vscode-
|
|
22
|
+
import { chatVariableLeader } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
|
|
23
|
+
import { NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_OUTPUT_MIMETYPE } from '@codingame/monaco-vscode-52bb4d5b-ba1a-57fd-9bee-b28824214eac-common/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
|
|
22
24
|
import { INotebookKernelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookKernelService.service';
|
|
23
|
-
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-
|
|
25
|
+
import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
26
|
+
import { copyIcon } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/notebookIcons';
|
|
27
|
+
import { getOutputViewModelFromId } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/cellOutputActions';
|
|
28
|
+
import { NOTEBOOK_ACTIONS_CATEGORY } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/coreActions';
|
|
24
29
|
import './cellChatActions.js';
|
|
25
|
-
import { CTX_NOTEBOOK_CHAT_HAS_AGENT } from '@codingame/monaco-vscode-
|
|
30
|
+
import { CTX_NOTEBOOK_CHAT_HAS_AGENT } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext';
|
|
26
31
|
|
|
27
32
|
const NotebookKernelVariableKey = 'kernelVariable';
|
|
28
33
|
let NotebookChatContribution = class NotebookChatContribution extends Disposable {
|
|
@@ -66,7 +71,7 @@ let NotebookChatContribution = class NotebookChatContribution extends Disposable
|
|
|
66
71
|
result.suggestions.push({
|
|
67
72
|
label: `${chatVariableLeader}${NotebookKernelVariableKey}`,
|
|
68
73
|
insertText: `${chatVariableLeader}${NotebookKernelVariableKey}:`,
|
|
69
|
-
detail: ( localize(
|
|
74
|
+
detail: ( localize(7684, "Pick a variable from the kernel")),
|
|
70
75
|
range,
|
|
71
76
|
kind: CompletionItemKind.Text,
|
|
72
77
|
command: { id: SelectAndInsertKernelVariableAction.ID, title: SelectAndInsertKernelVariableAction.ID, arguments: [{ widget, range: afterRange }] },
|
|
@@ -76,6 +81,7 @@ let NotebookChatContribution = class NotebookChatContribution extends Disposable
|
|
|
76
81
|
return result;
|
|
77
82
|
}
|
|
78
83
|
}));
|
|
84
|
+
NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT.bindTo(contextKeyService).set(['image/png']);
|
|
79
85
|
}
|
|
80
86
|
async addKernelVariableCompletion(widget, result, info, token) {
|
|
81
87
|
let pattern;
|
|
@@ -189,11 +195,96 @@ class SelectAndInsertKernelVariableAction extends Action2 {
|
|
|
189
195
|
name: variableName,
|
|
190
196
|
value: variableName,
|
|
191
197
|
icon: codiconsLibrary.variable,
|
|
192
|
-
isDynamic: true
|
|
193
198
|
});
|
|
194
199
|
}
|
|
195
200
|
}
|
|
196
201
|
}
|
|
202
|
+
registerAction2(class CopyCellOutputAction extends Action2 {
|
|
203
|
+
constructor() {
|
|
204
|
+
super({
|
|
205
|
+
id: 'notebook.cellOutput.addToChat',
|
|
206
|
+
title: ( localize(7685, "Add Cell Output to Chat")),
|
|
207
|
+
menu: {
|
|
208
|
+
id: MenuId.NotebookOutputToolbar,
|
|
209
|
+
when: ( ContextKeyExpr.and(
|
|
210
|
+
NOTEBOOK_CELL_HAS_OUTPUTS,
|
|
211
|
+
ContextKeyExpr.in(NOTEBOOK_CELL_OUTPUT_MIMETYPE.key, NOTEBOOK_CELL_OUTPUT_MIME_TYPE_LIST_FOR_CHAT.key)
|
|
212
|
+
)),
|
|
213
|
+
order: 10
|
|
214
|
+
},
|
|
215
|
+
category: NOTEBOOK_ACTIONS_CATEGORY,
|
|
216
|
+
icon: copyIcon,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
getNoteboookEditor(editorService, outputContext) {
|
|
220
|
+
if (outputContext && 'notebookEditor' in outputContext) {
|
|
221
|
+
return outputContext.notebookEditor;
|
|
222
|
+
}
|
|
223
|
+
return getNotebookEditorFromEditorPane(editorService.activeEditorPane);
|
|
224
|
+
}
|
|
225
|
+
async run(accessor, outputContext) {
|
|
226
|
+
const notebookEditor = this.getNoteboookEditor(accessor.get(IEditorService), outputContext);
|
|
227
|
+
if (!notebookEditor) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
let outputViewModel;
|
|
231
|
+
if (outputContext && 'outputId' in outputContext && typeof outputContext.outputId === 'string') {
|
|
232
|
+
outputViewModel = getOutputViewModelFromId(outputContext.outputId, notebookEditor);
|
|
233
|
+
}
|
|
234
|
+
else if (outputContext && 'outputViewModel' in outputContext) {
|
|
235
|
+
outputViewModel = outputContext.outputViewModel;
|
|
236
|
+
}
|
|
237
|
+
if (!outputViewModel) {
|
|
238
|
+
const activeCell = notebookEditor.getActiveCell();
|
|
239
|
+
if (!activeCell) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (activeCell.focusedOutputId !== undefined) {
|
|
243
|
+
outputViewModel = activeCell.outputsViewModels.find(output => {
|
|
244
|
+
return output.model.outputId === activeCell.focusedOutputId;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
outputViewModel = activeCell.outputsViewModels.find(output => output.pickedMimeType?.isTrusted);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (!outputViewModel) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const mimeType = outputViewModel.pickedMimeType?.mimeType;
|
|
255
|
+
if (mimeType === 'image/png') {
|
|
256
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
257
|
+
const widget = chatWidgetService.lastFocusedWidget;
|
|
258
|
+
if (!widget) {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
const imageOutput = outputViewModel.model.outputs.find(output => output.mime === mimeType);
|
|
262
|
+
if (!imageOutput) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const attachedVariables = widget.attachmentModel.attachments;
|
|
266
|
+
const displayName = ( localize(7686, 'Notebook Cell Output Image'));
|
|
267
|
+
let tempDisplayName = displayName;
|
|
268
|
+
for (let appendValue = 2; ( attachedVariables.some(attachment => attachment.name === tempDisplayName)); appendValue++) {
|
|
269
|
+
tempDisplayName = `${displayName} ${appendValue}`;
|
|
270
|
+
}
|
|
271
|
+
const imageData = imageOutput.data;
|
|
272
|
+
const variableEntry = {
|
|
273
|
+
kind: 'paste',
|
|
274
|
+
code: '',
|
|
275
|
+
language: '',
|
|
276
|
+
pastedLines: '',
|
|
277
|
+
fileName: 'notebook-cell-output-image-' + outputViewModel.model.outputId,
|
|
278
|
+
copiedFrom: undefined,
|
|
279
|
+
id: 'notebook-cell-output-image-' + outputViewModel.model.outputId,
|
|
280
|
+
name: tempDisplayName,
|
|
281
|
+
isImage: true,
|
|
282
|
+
value: imageData.buffer,
|
|
283
|
+
};
|
|
284
|
+
widget.attachmentModel.addContext(variableEntry);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
});
|
|
197
288
|
registerAction2(SelectAndInsertKernelVariableAction);
|
|
198
289
|
registerWorkbenchContribution2(NotebookChatContribution.ID, NotebookChatContribution, WorkbenchPhase.BlockRestore);
|
|
199
290
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
import { KeyCode, KeyMod } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
2
|
+
import { KeyCode, KeyMod, KeyChord } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
3
3
|
import { Mimes } from '@codingame/monaco-vscode-api/vscode/vs/base/common/mime';
|
|
4
4
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
5
5
|
import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/selection';
|
|
6
6
|
import { CommandExecutor } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/cursor/cursor';
|
|
7
7
|
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
8
|
-
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language';
|
|
9
|
-
import { ILanguageConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/languageConfigurationRegistry';
|
|
8
|
+
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
|
|
9
|
+
import { ILanguageConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/languageConfigurationRegistry.service';
|
|
10
10
|
import { TrackedRangeStickiness } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
|
|
11
11
|
import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
|
|
12
|
-
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model';
|
|
12
|
+
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
13
13
|
import { LineCommentCommand, Type } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/comment/browser/lineCommentCommand';
|
|
14
14
|
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
15
15
|
import { registerAction2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
@@ -21,15 +21,15 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
21
21
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
22
22
|
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
23
23
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
24
|
-
import { InlineChatController } from '@codingame/monaco-vscode-
|
|
25
|
-
import { CTX_INLINE_CHAT_FOCUSED } from '@codingame/monaco-vscode-
|
|
26
|
-
import { runDeleteAction, changeCellToKind } from '@codingame/monaco-vscode-
|
|
27
|
-
import { NotebookCellAction, CELL_TITLE_CELL_GROUP_ID, CellToolbarOrder, findTargetCellEditor, NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT, CELL_TITLE_OUTPUT_GROUP_ID, executeNotebookCondition, NotebookAction, NotebookMultiCellAction } from '@codingame/monaco-vscode-
|
|
24
|
+
import { InlineChatController } from '@codingame/monaco-vscode-29bc1406-2925-5b8f-b25e-d04a7772d896-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
25
|
+
import { CTX_INLINE_CHAT_FOCUSED } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
26
|
+
import { runDeleteAction, changeCellToKind } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/cellOperations';
|
|
27
|
+
import { NotebookCellAction, CELL_TITLE_CELL_GROUP_ID, CellToolbarOrder, findTargetCellEditor, NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT, CELL_TITLE_OUTPUT_GROUP_ID, executeNotebookCondition, NotebookAction, NotebookMultiCellAction } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/controller/coreActions';
|
|
28
28
|
import { NotebookIndentUsingTabs, NotebookIndentUsingSpaces, NotebookChangeTabDisplaySize, NotebookIndentationToTabsAction, NotebookIndentationToSpacesAction } from './notebookIndentationActions.js';
|
|
29
|
-
import { QUIT_EDIT_CELL_COMMAND_ID, CellEditState, CHANGE_CELL_LANGUAGE, DETECT_CELL_LANGUAGE, getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-
|
|
30
|
-
import { editIcon, stopEditIcon, deleteCellIcon, clearIcon } from '@codingame/monaco-vscode-
|
|
29
|
+
import { QUIT_EDIT_CELL_COMMAND_ID, CellEditState, CHANGE_CELL_LANGUAGE, DETECT_CELL_LANGUAGE, getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
|
|
30
|
+
import { editIcon, stopEditIcon, deleteCellIcon, clearIcon } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/browser/notebookIcons';
|
|
31
31
|
import { CellKind, NotebookCellExecutionState, NotebookSetting, CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
32
|
-
import { NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_EDITABLE, NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_USE_CONSOLIDATED_OUTPUT_BUTTON, NOTEBOOK_CELL_IS_FIRST_OUTPUT,
|
|
32
|
+
import { NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_EDITABLE, NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_USE_CONSOLIDATED_OUTPUT_BUTTON, NOTEBOOK_CELL_IS_FIRST_OUTPUT, NOTEBOOK_IS_ACTIVE_EDITOR, NOTEBOOK_HAS_OUTPUTS } from '@codingame/monaco-vscode-52bb4d5b-ba1a-57fd-9bee-b28824214eac-common/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys';
|
|
33
33
|
import { INotebookExecutionStateService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service';
|
|
34
34
|
import { INotebookKernelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookKernelService.service';
|
|
35
35
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
@@ -46,7 +46,7 @@ registerAction2(class EditCellAction extends NotebookCellAction {
|
|
|
46
46
|
constructor() {
|
|
47
47
|
super({
|
|
48
48
|
id: EDIT_CELL_COMMAND_ID,
|
|
49
|
-
title: ( localize(
|
|
49
|
+
title: ( localize(7698, "Edit Cell")),
|
|
50
50
|
keybinding: {
|
|
51
51
|
when: ( ContextKeyExpr.and(
|
|
52
52
|
NOTEBOOK_CELL_LIST_FOCUSED,
|
|
@@ -82,7 +82,7 @@ registerAction2(class QuitEditCellAction extends NotebookCellAction {
|
|
|
82
82
|
constructor() {
|
|
83
83
|
super({
|
|
84
84
|
id: QUIT_EDIT_CELL_COMMAND_ID,
|
|
85
|
-
title: ( localize(
|
|
85
|
+
title: ( localize(7699, "Stop Editing Cell")),
|
|
86
86
|
menu: {
|
|
87
87
|
id: MenuId.NotebookCellTitle,
|
|
88
88
|
when: ( ContextKeyExpr.and(( NOTEBOOK_CELL_TYPE.isEqualTo('markup')), NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_EDITABLE)),
|
|
@@ -123,7 +123,7 @@ registerAction2(class DeleteCellAction extends NotebookCellAction {
|
|
|
123
123
|
constructor() {
|
|
124
124
|
super({
|
|
125
125
|
id: DELETE_CELL_COMMAND_ID,
|
|
126
|
-
title: ( localize(
|
|
126
|
+
title: ( localize(7700, "Delete Cell")),
|
|
127
127
|
keybinding: {
|
|
128
128
|
primary: KeyCode.Delete,
|
|
129
129
|
mac: {
|
|
@@ -160,13 +160,13 @@ registerAction2(class DeleteCellAction extends NotebookCellAction {
|
|
|
160
160
|
const configService = accessor.get(IConfigurationService);
|
|
161
161
|
if (runState === NotebookCellExecutionState.Executing && configService.getValue(NotebookSetting.confirmDeleteRunningCell)) {
|
|
162
162
|
const dialogService = accessor.get(IDialogService);
|
|
163
|
-
const primaryButton = ( localize(
|
|
163
|
+
const primaryButton = ( localize(7701, "Delete"));
|
|
164
164
|
confirmation = await dialogService.confirm({
|
|
165
165
|
type: 'question',
|
|
166
|
-
message: ( localize(
|
|
166
|
+
message: ( localize(7702, "This cell is running, are you sure you want to delete it?")),
|
|
167
167
|
primaryButton: primaryButton,
|
|
168
168
|
checkbox: {
|
|
169
|
-
label: ( localize(
|
|
169
|
+
label: ( localize(7703, "Do not ask me again"))
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
172
|
}
|
|
@@ -186,7 +186,7 @@ registerAction2(class ClearCellOutputsAction extends NotebookCellAction {
|
|
|
186
186
|
constructor() {
|
|
187
187
|
super({
|
|
188
188
|
id: CLEAR_CELL_OUTPUTS_COMMAND_ID,
|
|
189
|
-
title: ( localize(
|
|
189
|
+
title: ( localize(7704, 'Clear Cell Outputs')),
|
|
190
190
|
menu: [
|
|
191
191
|
{
|
|
192
192
|
id: MenuId.NotebookCellTitle,
|
|
@@ -250,7 +250,7 @@ registerAction2(class ClearAllCellOutputsAction extends NotebookAction {
|
|
|
250
250
|
constructor() {
|
|
251
251
|
super({
|
|
252
252
|
id: CLEAR_ALL_CELLS_OUTPUTS_COMMAND_ID,
|
|
253
|
-
title: ( localize(
|
|
253
|
+
title: ( localize(7705, 'Clear All Outputs')),
|
|
254
254
|
precondition: NOTEBOOK_HAS_OUTPUTS,
|
|
255
255
|
menu: [
|
|
256
256
|
{
|
|
@@ -307,9 +307,14 @@ registerAction2(class ChangeCellLanguageAction extends NotebookCellAction {
|
|
|
307
307
|
constructor() {
|
|
308
308
|
super({
|
|
309
309
|
id: CHANGE_CELL_LANGUAGE,
|
|
310
|
-
title: ( localize(
|
|
310
|
+
title: ( localize(7706, 'Change Cell Language')),
|
|
311
|
+
keybinding: {
|
|
312
|
+
weight: KeybindingWeight.WorkbenchContrib,
|
|
313
|
+
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyCode.KeyM),
|
|
314
|
+
when: ( ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE))
|
|
315
|
+
},
|
|
311
316
|
metadata: {
|
|
312
|
-
description: ( localize(
|
|
317
|
+
description: ( localize(7706, 'Change Cell Language')),
|
|
313
318
|
args: [
|
|
314
319
|
{
|
|
315
320
|
name: 'range',
|
|
@@ -382,10 +387,10 @@ registerAction2(class ChangeCellLanguageAction extends NotebookCellAction {
|
|
|
382
387
|
providerLanguages.forEach(languageId => {
|
|
383
388
|
let description;
|
|
384
389
|
if (context.cell.cellKind === CellKind.Markup ? (languageId === 'markdown') : (languageId === context.cell.language)) {
|
|
385
|
-
description = ( localize(
|
|
390
|
+
description = ( localize(7707, "({0}) - Current Language", languageId));
|
|
386
391
|
}
|
|
387
392
|
else {
|
|
388
|
-
description = ( localize(
|
|
393
|
+
description = ( localize(7708, "({0})", languageId));
|
|
389
394
|
}
|
|
390
395
|
const languageName = languageService.getLanguageName(languageId);
|
|
391
396
|
if (!languageName) {
|
|
@@ -408,16 +413,16 @@ registerAction2(class ChangeCellLanguageAction extends NotebookCellAction {
|
|
|
408
413
|
return a.description.localeCompare(b.description);
|
|
409
414
|
});
|
|
410
415
|
const autoDetectMode = {
|
|
411
|
-
label: ( localize(
|
|
416
|
+
label: ( localize(7709, "Auto Detect"))
|
|
412
417
|
};
|
|
413
418
|
const picks = [
|
|
414
419
|
autoDetectMode,
|
|
415
|
-
{ type: 'separator', label: ( localize(
|
|
420
|
+
{ type: 'separator', label: ( localize(7710, "languages (identifier)")) },
|
|
416
421
|
...topItems,
|
|
417
422
|
{ type: 'separator' },
|
|
418
423
|
...mainItems
|
|
419
424
|
];
|
|
420
|
-
const selection = await quickInputService.pick(picks, { placeHolder: ( localize(
|
|
425
|
+
const selection = await quickInputService.pick(picks, { placeHolder: ( localize(7711, "Select Language Mode")) });
|
|
421
426
|
const languageId = selection === autoDetectMode
|
|
422
427
|
? await languageDetectionService.detectLanguage(context.cell.uri)
|
|
423
428
|
: selection?.languageId;
|
|
@@ -450,7 +455,7 @@ registerAction2(class DetectCellLanguageAction extends NotebookCellAction {
|
|
|
450
455
|
constructor() {
|
|
451
456
|
super({
|
|
452
457
|
id: DETECT_CELL_LANGUAGE,
|
|
453
|
-
title: ( localize2(
|
|
458
|
+
title: ( localize2(7712, "Accept Detected Language for Cell")),
|
|
454
459
|
f1: true,
|
|
455
460
|
precondition: ( ContextKeyExpr.and(NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE)),
|
|
456
461
|
keybinding: { primary: KeyCode.KeyD | KeyMod.Alt | KeyMod.Shift, weight: KeybindingWeight.WorkbenchContrib }
|
|
@@ -468,7 +473,7 @@ registerAction2(class DetectCellLanguageAction extends NotebookCellAction {
|
|
|
468
473
|
setCellToLanguage(detection, context);
|
|
469
474
|
}
|
|
470
475
|
else {
|
|
471
|
-
notificationService.warn(( localize(
|
|
476
|
+
notificationService.warn(( localize(7713, "Unable to detect cell language")));
|
|
472
477
|
}
|
|
473
478
|
}
|
|
474
479
|
});
|
|
@@ -493,7 +498,7 @@ registerAction2(class SelectNotebookIndentation extends NotebookAction {
|
|
|
493
498
|
constructor() {
|
|
494
499
|
super({
|
|
495
500
|
id: SELECT_NOTEBOOK_INDENTATION_ID,
|
|
496
|
-
title: ( localize2(
|
|
501
|
+
title: ( localize2(7714, 'Select Indentation')),
|
|
497
502
|
f1: true,
|
|
498
503
|
precondition: ( ContextKeyExpr.and(
|
|
499
504
|
NOTEBOOK_IS_ACTIVE_EDITOR,
|
|
@@ -511,10 +516,10 @@ registerAction2(class SelectNotebookIndentation extends NotebookAction {
|
|
|
511
516
|
const instantiationService = accessor.get(IInstantiationService);
|
|
512
517
|
const activeNotebook = getNotebookEditorFromEditorPane(editorService.activeEditorPane);
|
|
513
518
|
if (!activeNotebook || activeNotebook.isDisposed) {
|
|
514
|
-
return quickInputService.pick([{ label: ( localize(
|
|
519
|
+
return quickInputService.pick([{ label: ( localize(7715, "No notebook editor active at this time")) }]);
|
|
515
520
|
}
|
|
516
521
|
if (activeNotebook.isReadOnly) {
|
|
517
|
-
return quickInputService.pick([{ label: ( localize(
|
|
522
|
+
return quickInputService.pick([{ label: ( localize(7716, "The active notebook editor is read-only.")) }]);
|
|
518
523
|
}
|
|
519
524
|
const picks = ( [
|
|
520
525
|
(
|
|
@@ -536,9 +541,9 @@ registerAction2(class SelectNotebookIndentation extends NotebookAction {
|
|
|
536
541
|
}
|
|
537
542
|
};
|
|
538
543
|
}));
|
|
539
|
-
picks.splice(3, 0, { type: 'separator', label: ( localize(
|
|
540
|
-
picks.unshift({ type: 'separator', label: ( localize(
|
|
541
|
-
const action = await quickInputService.pick(picks, { placeHolder: ( localize(
|
|
544
|
+
picks.splice(3, 0, { type: 'separator', label: ( localize(7717, "convert file")) });
|
|
545
|
+
picks.unshift({ type: 'separator', label: ( localize(7718, "change view")) });
|
|
546
|
+
const action = await quickInputService.pick(picks, { placeHolder: ( localize(7719, "Select Action")), matchOnDetail: true });
|
|
542
547
|
if (!action) {
|
|
543
548
|
return;
|
|
544
549
|
}
|
|
@@ -551,7 +556,7 @@ registerAction2(class CommentSelectedCellsAction extends NotebookMultiCellAction
|
|
|
551
556
|
constructor() {
|
|
552
557
|
super({
|
|
553
558
|
id: COMMENT_SELECTED_CELLS_ID,
|
|
554
|
-
title: ( localize(
|
|
559
|
+
title: ( localize(7720, "Comment Selected Cells")),
|
|
555
560
|
keybinding: {
|
|
556
561
|
when: ( ContextKeyExpr.and(
|
|
557
562
|
NOTEBOOK_EDITOR_FOCUSED,
|