@codingame/monaco-vscode-xterm-addons-common 24.2.0 → 25.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.
Files changed (16) hide show
  1. package/package.json +10 -10
  2. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +3 -3
  3. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +18 -18
  4. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +1 -1
  5. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +8 -8
  6. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +8 -8
  7. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
  8. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +17 -17
  9. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +21 -21
  10. package/vscode/src/vs/workbench/contrib/chat/browser/{chatPasteProviders.js → widget/input/editor/chatPasteProviders.js} +9 -9
  11. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.d.ts +1 -1
  12. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +17 -17
  13. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +0 -3
  14. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +5 -0
  15. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +23 -5
  16. /package/vscode/src/vs/workbench/contrib/chat/browser/{chatPasteProviders.d.ts → widget/input/editor/chatPasteProviders.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-xterm-addons-common",
3
- "version": "24.2.0",
3
+ "version": "25.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - common package depending on xterm addons",
6
6
  "keywords": [],
@@ -15,15 +15,15 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "24.2.0",
19
- "@xterm/addon-clipboard": "0.2.0-beta.120",
20
- "@xterm/addon-image": "0.9.0-beta.137",
21
- "@xterm/addon-ligatures": "0.10.0-beta.137",
22
- "@xterm/addon-progress": "0.2.0-beta.43",
23
- "@xterm/addon-search": "0.16.0-beta.137",
24
- "@xterm/addon-serialize": "0.14.0-beta.137",
25
- "@xterm/addon-unicode11": "0.9.0-beta.137",
26
- "@xterm/addon-webgl": "0.19.0-beta.137"
18
+ "@codingame/monaco-vscode-api": "25.0.0",
19
+ "@xterm/addon-clipboard": "0.3.0-beta.97",
20
+ "@xterm/addon-image": "0.10.0-beta.97",
21
+ "@xterm/addon-ligatures": "0.11.0-beta.97",
22
+ "@xterm/addon-progress": "0.3.0-beta.97",
23
+ "@xterm/addon-search": "0.17.0-beta.97",
24
+ "@xterm/addon-serialize": "0.15.0-beta.97",
25
+ "@xterm/addon-unicode11": "0.10.0-beta.97",
26
+ "@xterm/addon-webgl": "0.20.0-beta.96"
27
27
  },
28
28
  "exports": {
29
29
  ".": {
@@ -2,9 +2,9 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
2
2
  import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
3
3
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
4
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
5
- import { IChatContextValueItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService";
6
- import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service";
7
- import { IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries";
5
+ import { IChatContextValueItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService";
6
+ import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service";
7
+ import { IChatRequestVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
8
8
  import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
9
9
  import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
10
10
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
@@ -16,16 +16,16 @@ import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/s
16
16
  import { UntitledTextEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/untitled/common/untitledTextEditorInput';
17
17
  import { FileEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/browser/editors/fileEditorInput';
18
18
  import { NotebookEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput';
19
- import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service';
20
- import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
21
- import { toToolSetVariableEntry, toToolVariableEntry, OmittedState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
22
- import { ToolSet, ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
23
- import { isImage } from '../chatPasteProviders.js';
24
- import { convertBufferToScreenshotVariable } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contrib/screenshot';
25
- import { imageToHash } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/imageUtils';
19
+ import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service';
20
+ import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service';
21
+ import { toToolSetVariableEntry, toToolVariableEntry, OmittedState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
22
+ import { ToolSet, ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
23
+ import { isImage } from '../widget/input/editor/chatPasteProviders.js';
24
+ import { convertBufferToScreenshotVariable } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext';
26
25
  import { ChatInstructionsPickerPick } from '../promptSyntax/attachInstructionsAction.js';
27
26
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
28
27
  import { TerminalCapability } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities';
28
+ import { imageToHash } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
29
29
 
30
30
  let ChatContextContributions = class ChatContextContributions extends Disposable {
31
31
  static { this.ID = 'chat.contextContributions'; }
@@ -46,7 +46,7 @@ ChatContextContributions = ( __decorate([
46
46
  class ToolsContextPickerPick {
47
47
  constructor() {
48
48
  this.type = 'pickerPick';
49
- this.label = ( localize(4681, 'Tools...'));
49
+ this.label = ( localize(4707, 'Tools...'));
50
50
  this.icon = Codicon.tools;
51
51
  this.ordinal = -500;
52
52
  }
@@ -95,7 +95,7 @@ class ToolsContextPickerPick {
95
95
  picks.push(item);
96
96
  }
97
97
  return {
98
- placeholder: ( localize(4682, 'Select a tool')),
98
+ placeholder: ( localize(4708, 'Select a tool')),
99
99
  picks: Promise.resolve(picks)
100
100
  };
101
101
  }
@@ -105,7 +105,7 @@ let OpenEditorContextValuePick = class OpenEditorContextValuePick {
105
105
  this._editorService = _editorService;
106
106
  this._labelService = _labelService;
107
107
  this.type = 'valuePick';
108
- this.label = ( localize(4683, 'Open Editors'));
108
+ this.label = ( localize(4709, 'Open Editors'));
109
109
  this.icon = Codicon.file;
110
110
  this.ordinal = 800;
111
111
  }
@@ -141,7 +141,7 @@ let RelatedFilesContextPickerPick = class RelatedFilesContextPickerPick {
141
141
  this._chatEditingService = _chatEditingService;
142
142
  this._labelService = _labelService;
143
143
  this.type = 'pickerPick';
144
- this.label = ( localize(4684, 'Related Files'));
144
+ this.label = ( localize(4710, 'Related Files'));
145
145
  this.icon = Codicon.sparkle;
146
146
  this.ordinal = 300;
147
147
  }
@@ -183,7 +183,7 @@ let RelatedFilesContextPickerPick = class RelatedFilesContextPickerPick {
183
183
  }, []));
184
184
  })();
185
185
  return {
186
- placeholder: ( localize(4685, 'Add related files to your working set')),
186
+ placeholder: ( localize(4711, 'Add related files to your working set')),
187
187
  picks,
188
188
  };
189
189
  }
@@ -196,7 +196,7 @@ let ClipboardImageContextValuePick = class ClipboardImageContextValuePick {
196
196
  constructor(_clipboardService) {
197
197
  this._clipboardService = _clipboardService;
198
198
  this.type = 'valuePick';
199
- this.label = ( localize(4686, 'Image from Clipboard'));
199
+ this.label = ( localize(4712, 'Image from Clipboard'));
200
200
  this.icon = Codicon.fileMedia;
201
201
  }
202
202
  async isEnabled(widget) {
@@ -213,8 +213,8 @@ let ClipboardImageContextValuePick = class ClipboardImageContextValuePick {
213
213
  const fileBuffer = await this._clipboardService.readImage();
214
214
  return {
215
215
  id: await imageToHash(fileBuffer),
216
- name: ( localize(4687, 'Pasted Image')),
217
- fullName: ( localize(4687, 'Pasted Image')),
216
+ name: ( localize(4713, 'Pasted Image')),
217
+ fullName: ( localize(4713, 'Pasted Image')),
218
218
  value: fileBuffer,
219
219
  kind: 'image',
220
220
  };
@@ -229,7 +229,7 @@ let TerminalContext = class TerminalContext {
229
229
  this._terminalService = _terminalService;
230
230
  this.type = 'valuePick';
231
231
  this.icon = Codicon.terminal;
232
- this.label = ( localize(4688, 'Terminal'));
232
+ this.label = ( localize(4714, 'Terminal'));
233
233
  }
234
234
  isEnabled(widget) {
235
235
  const terminal = this._terminalService.getInstanceFromResource(this._resource);
@@ -297,8 +297,8 @@ let ScreenshotContextValuePick = class ScreenshotContextValuePick {
297
297
  this.type = 'valuePick';
298
298
  this.icon = Codicon.deviceCamera;
299
299
  this.label = (isElectron
300
- ? ( localize(4689, 'Screenshot Window'))
301
- : ( localize(4690, 'Screenshot')));
300
+ ? ( localize(4715, 'Screenshot Window'))
301
+ : ( localize(4716, 'Screenshot')));
302
302
  }
303
303
  async isEnabled(widget) {
304
304
  return !!widget.attachmentCapabilities.supportsImageAttachments && !!widget.input.selectedLanguageModel?.metadata.capabilities?.vision;
@@ -1,6 +1,6 @@
1
1
  import { IChatWidget } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
2
2
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
3
- import { IChatContextPickerItem, IChatContextPicker } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService";
3
+ import { IChatContextPickerItem, IChatContextPicker } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService";
4
4
  /**
5
5
  * Helper to register the `Attach Prompt` action.
6
6
  */
@@ -3,7 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
4
4
  import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
5
5
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
6
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
7
7
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
8
8
  import { PromptFilePickers } from './pickers/promptFilePickers.js';
9
9
  import { Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
@@ -13,7 +13,7 @@ import { getCleanPromptName } from '@codingame/monaco-vscode-api/vscode/vs/workb
13
13
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
14
14
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
15
15
  import { compare } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
16
- import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariableEntries';
16
+ import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
17
17
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
18
18
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
19
19
 
@@ -23,8 +23,8 @@ class ManageInstructionsFilesAction extends Action2 {
23
23
  constructor() {
24
24
  super({
25
25
  id: CONFIGURE_INSTRUCTIONS_ACTION_ID,
26
- title: ( localize2(5750, "Configure Instructions...")),
27
- shortTitle: ( localize2(5751, "Chat Instructions")),
26
+ title: ( localize2(5452, "Configure Instructions...")),
27
+ shortTitle: ( localize2(5453, "Chat Instructions")),
28
28
  icon: Codicon.bookmark,
29
29
  f1: true,
30
30
  precondition: ChatContextKeys.enabled,
@@ -41,7 +41,7 @@ class ManageInstructionsFilesAction extends Action2 {
41
41
  const openerService = accessor.get(IOpenerService);
42
42
  const instaService = accessor.get(IInstantiationService);
43
43
  const pickers = instaService.createInstance(PromptFilePickers);
44
- const placeholder = ( localize(5752, 'Select the instructions file to open'));
44
+ const placeholder = ( localize(5454, 'Select the instructions file to open'));
45
45
  const result = await pickers.selectPromptFile({ placeholder, type: PromptsType.instructions, optionEdit: false });
46
46
  if (result !== undefined) {
47
47
  await openerService.open(result.promptFile);
@@ -55,7 +55,7 @@ let ChatInstructionsPickerPick = class ChatInstructionsPickerPick {
55
55
  constructor(promptsService) {
56
56
  this.promptsService = promptsService;
57
57
  this.type = 'pickerPick';
58
- this.label = ( localize(5753, 'Instructions...'));
58
+ this.label = ( localize(5455, 'Instructions...'));
59
59
  this.icon = Codicon.bookmark;
60
60
  this.commandId = ATTACH_INSTRUCTIONS_ACTION_ID;
61
61
  }
@@ -85,10 +85,10 @@ let ChatInstructionsPickerPick = class ChatInstructionsPickerPick {
85
85
  return result;
86
86
  });
87
87
  return {
88
- placeholder: ( localize(5754, 'Select instructions files to attach')),
88
+ placeholder: ( localize(5456, 'Select instructions files to attach')),
89
89
  picks,
90
90
  configure: {
91
- label: ( localize(5755, 'Configure Instructions...')),
91
+ label: ( localize(5457, 'Configure Instructions...')),
92
92
  commandId: CONFIGURE_INSTRUCTIONS_ACTION_ID
93
93
  }
94
94
  };
@@ -18,7 +18,7 @@ import { SyncResource } from '@codingame/monaco-vscode-api/vscode/vs/platform/us
18
18
  import { IUserDataSyncEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service';
19
19
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
20
20
  import { CONFIGURE_SYNC_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataSync/common/userDataSync';
21
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
21
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
22
22
  import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
23
23
  import { askForPromptFileName } from './pickers/askForPromptName.js';
24
24
  import { askForPromptSourceFolder } from './pickers/askForPromptSourceFolder.js';
@@ -82,11 +82,11 @@ class AbstractNewPromptFileAction extends Action2 {
82
82
  return;
83
83
  }
84
84
  notificationService.prompt(Severity.Info, ( localize(
85
- 5761,
85
+ 5463,
86
86
  "Do you want to backup and sync your user prompt, instruction and custom agent files with Setting Sync?'"
87
87
  )), [
88
88
  {
89
- label: ( localize(5762, "Enable")),
89
+ label: ( localize(5464, "Enable")),
90
90
  run: () => {
91
91
  commandService.executeCommand(CONFIGURE_SYNC_COMMAND_ID)
92
92
  .catch((error) => {
@@ -95,7 +95,7 @@ class AbstractNewPromptFileAction extends Action2 {
95
95
  },
96
96
  },
97
97
  {
98
- label: ( localize(5763, "Learn More")),
98
+ label: ( localize(5465, "Learn More")),
99
99
  run: () => {
100
100
  openerService.open(( URI.parse('https://aka.ms/vscode-settings-sync-help')));
101
101
  },
@@ -143,24 +143,24 @@ const NEW_INSTRUCTIONS_COMMAND_ID = 'workbench.command.new.instructions';
143
143
  const NEW_AGENT_COMMAND_ID = 'workbench.command.new.agent';
144
144
  class NewPromptFileAction extends AbstractNewPromptFileAction {
145
145
  constructor() {
146
- super(NEW_PROMPT_COMMAND_ID, ( localize(5764, "New Prompt File...")), PromptsType.prompt);
146
+ super(NEW_PROMPT_COMMAND_ID, ( localize(5466, "New Prompt File...")), PromptsType.prompt);
147
147
  }
148
148
  }
149
149
  class NewInstructionsFileAction extends AbstractNewPromptFileAction {
150
150
  constructor() {
151
- super(NEW_INSTRUCTIONS_COMMAND_ID, ( localize(5765, "New Instructions File...")), PromptsType.instructions);
151
+ super(NEW_INSTRUCTIONS_COMMAND_ID, ( localize(5467, "New Instructions File...")), PromptsType.instructions);
152
152
  }
153
153
  }
154
154
  class NewAgentFileAction extends AbstractNewPromptFileAction {
155
155
  constructor() {
156
- super(NEW_AGENT_COMMAND_ID, ( localize(5766, "New Custom Agent...")), PromptsType.agent);
156
+ super(NEW_AGENT_COMMAND_ID, ( localize(5468, "New Custom Agent...")), PromptsType.agent);
157
157
  }
158
158
  }
159
159
  class NewUntitledPromptFileAction extends Action2 {
160
160
  constructor() {
161
161
  super({
162
162
  id: 'workbench.command.new.untitled.prompt',
163
- title: ( localize2(5767, "New Untitled Prompt File")),
163
+ title: ( localize2(5469, "New Untitled Prompt File")),
164
164
  f1: true,
165
165
  precondition: ChatContextKeys.enabled,
166
166
  category: CHAT_CATEGORY,
@@ -25,20 +25,20 @@ async function askForPromptFileName(accessor, type, selectedFolder, existingFile
25
25
  const fileName = sanitizeInput(value);
26
26
  if (!fileName) {
27
27
  return {
28
- content: ( localize(5768, "Please enter a name.")),
28
+ content: ( localize(5470, "Please enter a name.")),
29
29
  severity: Severity.Warning
30
30
  };
31
31
  }
32
32
  if (!isValidBasename(fileName)) {
33
33
  return {
34
- content: ( localize(5769, "The name contains invalid characters.")),
34
+ content: ( localize(5471, "The name contains invalid characters.")),
35
35
  severity: Severity.Error
36
36
  };
37
37
  }
38
38
  const fileUri = URI.joinPath(selectedFolder, fileName);
39
39
  if (await fileService.exists(fileUri)) {
40
40
  return {
41
- content: ( localize(5770, "A file for the given name already exists.")),
41
+ content: ( localize(5472, "A file for the given name already exists.")),
42
42
  severity: Severity.Error
43
43
  };
44
44
  }
@@ -54,11 +54,11 @@ async function askForPromptFileName(accessor, type, selectedFolder, existingFile
54
54
  function getPlaceholderStringForNew(type) {
55
55
  switch (type) {
56
56
  case PromptsType.instructions:
57
- return localize(5771, "Enter the name of the instructions file");
57
+ return localize(5473, "Enter the name of the instructions file");
58
58
  case PromptsType.prompt:
59
- return localize(5772, "Enter the name of the prompt file");
59
+ return localize(5474, "Enter the name of the prompt file");
60
60
  case PromptsType.agent:
61
- return localize(5773, "Enter the name of the agent file");
61
+ return localize(5475, "Enter the name of the agent file");
62
62
  default:
63
63
  throw ( new Error('Unknown prompt type'));
64
64
  }
@@ -66,11 +66,11 @@ function getPlaceholderStringForNew(type) {
66
66
  function getPlaceholderStringForRename(type) {
67
67
  switch (type) {
68
68
  case PromptsType.instructions:
69
- return localize(5774, "Enter a new name of the instructions file");
69
+ return localize(5476, "Enter a new name of the instructions file");
70
70
  case PromptsType.prompt:
71
- return localize(5775, "Enter a new name of the prompt file");
71
+ return localize(5477, "Enter a new name of the prompt file");
72
72
  case PromptsType.agent:
73
- return localize(5776, "Enter a new name of the agent file");
73
+ return localize(5478, "Enter a new name of the agent file");
74
74
  default:
75
75
  throw ( new Error('Unknown prompt type'));
76
76
  }
@@ -27,7 +27,7 @@ async function askForPromptSourceFolder(accessor, type, existingFolder, isMove =
27
27
  };
28
28
  const foldersList = ( folders.map(folder => {
29
29
  const uri = folder.uri;
30
- const detail = (existingFolder && isEqual(uri, existingFolder)) ? ( localize(5777, "Current Location")) : undefined;
30
+ const detail = (existingFolder && isEqual(uri, existingFolder)) ? ( localize(5479, "Current Location")) : undefined;
31
31
  if (folder.storage !== PromptsStorage.local) {
32
32
  return {
33
33
  type: 'item',
@@ -51,7 +51,7 @@ async function askForPromptSourceFolder(accessor, type, existingFolder, isMove =
51
51
  }
52
52
  return {
53
53
  type: 'item',
54
- label: ( localize(5778, "Current Workspace")),
54
+ label: ( localize(5480, "Current Workspace")),
55
55
  detail,
56
56
  tooltip: labelService.getUriLabel(uri),
57
57
  folder,
@@ -66,11 +66,11 @@ async function askForPromptSourceFolder(accessor, type, existingFolder, isMove =
66
66
  function getPlaceholderStringforNew(type) {
67
67
  switch (type) {
68
68
  case PromptsType.instructions:
69
- return localize(5779, "Select a location to create the instructions file in...");
69
+ return localize(5481, "Select a location to create the instructions file");
70
70
  case PromptsType.prompt:
71
- return localize(5780, "Select a location to create the prompt file in...");
71
+ return localize(5482, "Select a location to create the prompt file");
72
72
  case PromptsType.agent:
73
- return localize(5781, "Select a location to create the agent file in...");
73
+ return localize(5483, "Select a location to create the agent file");
74
74
  default:
75
75
  throw ( new Error('Unknown prompt type'));
76
76
  }
@@ -79,22 +79,22 @@ function getPlaceholderStringforMove(type, isMove) {
79
79
  if (isMove) {
80
80
  switch (type) {
81
81
  case PromptsType.instructions:
82
- return localize(5782, "Select a location to move the instructions file to...");
82
+ return localize(5484, "Select a location to move the instructions file to");
83
83
  case PromptsType.prompt:
84
- return localize(5783, "Select a location to move the prompt file to...");
84
+ return localize(5485, "Select a location to move the prompt file to");
85
85
  case PromptsType.agent:
86
- return localize(5784, "Select a location to move the agent file to...");
86
+ return localize(5486, "Select a location to move the agent file to");
87
87
  default:
88
88
  throw ( new Error('Unknown prompt type'));
89
89
  }
90
90
  }
91
91
  switch (type) {
92
92
  case PromptsType.instructions:
93
- return localize(5785, "Select a location to copy the instructions file to...");
93
+ return localize(5487, "Select a location to copy the instructions file to");
94
94
  case PromptsType.prompt:
95
- return localize(5786, "Select a location to copy the prompt file to...");
95
+ return localize(5488, "Select a location to copy the prompt file to");
96
96
  case PromptsType.agent:
97
- return localize(5787, "Select a location to copy the agent file to...");
97
+ return localize(5489, "Select a location to copy the agent file to");
98
98
  default:
99
99
  throw ( new Error('Unknown prompt type'));
100
100
  }
@@ -120,11 +120,11 @@ async function showNoFoldersDialog(accessor, type) {
120
120
  function getLearnLabel(type) {
121
121
  switch (type) {
122
122
  case PromptsType.prompt:
123
- return localize(5788, 'Learn how to configure reusable prompts');
123
+ return localize(5490, 'Learn how to configure reusable prompts');
124
124
  case PromptsType.instructions:
125
- return localize(5789, 'Learn how to configure reusable instructions');
125
+ return localize(5491, 'Learn how to configure reusable instructions');
126
126
  case PromptsType.agent:
127
- return localize(5790, 'Learn how to configure custom agents');
127
+ return localize(5492, 'Learn how to configure custom agents');
128
128
  default:
129
129
  throw ( new Error('Unknown prompt type'));
130
130
  }
@@ -132,11 +132,11 @@ function getLearnLabel(type) {
132
132
  function getMissingSourceFolderString(type) {
133
133
  switch (type) {
134
134
  case PromptsType.instructions:
135
- return localize(5791, 'No instruction source folders found.');
135
+ return localize(5493, 'No instruction source folders found.');
136
136
  case PromptsType.prompt:
137
- return localize(5792, 'No prompt source folders found.');
137
+ return localize(5494, 'No prompt source folders found.');
138
138
  case PromptsType.agent:
139
- return localize(5793, 'No agent source folders found.');
139
+ return localize(5495, 'No agent source folders found.');
140
140
  default:
141
141
  throw ( new Error('Unknown prompt type'));
142
142
  }
@@ -30,19 +30,19 @@ function newHelpButton(type) {
30
30
  switch (type) {
31
31
  case PromptsType.prompt:
32
32
  return {
33
- tooltip: ( localize(5794, "Show help on prompt files")),
33
+ tooltip: ( localize(5496, "Show help on prompt files")),
34
34
  helpURI: ( URI.parse(PROMPT_DOCUMENTATION_URL)),
35
35
  iconClass
36
36
  };
37
37
  case PromptsType.instructions:
38
38
  return {
39
- tooltip: ( localize(5795, "Show help on instruction files")),
39
+ tooltip: ( localize(5497, "Show help on instruction files")),
40
40
  helpURI: ( URI.parse(INSTRUCTIONS_DOCUMENTATION_URL)),
41
41
  iconClass
42
42
  };
43
43
  case PromptsType.agent:
44
44
  return {
45
- tooltip: ( localize(5796, "Show help on custom agent files")),
45
+ tooltip: ( localize(5498, "Show help on custom agent files")),
46
46
  helpURI: ( URI.parse(AGENT_DOCUMENTATION_URL)),
47
47
  iconClass
48
48
  };
@@ -56,7 +56,7 @@ function isPromptFileItem(item) {
56
56
  }
57
57
  const NEW_PROMPT_FILE_OPTION = {
58
58
  type: 'item',
59
- label: `$(plus) ${( localize(5797, 'New prompt file...'))}`,
59
+ label: `$(plus) ${( localize(5499, 'New prompt file...'))}`,
60
60
  pickable: false,
61
61
  alwaysShow: true,
62
62
  buttons: [newHelpButton(PromptsType.prompt)],
@@ -64,7 +64,7 @@ const NEW_PROMPT_FILE_OPTION = {
64
64
  };
65
65
  const NEW_INSTRUCTIONS_FILE_OPTION = {
66
66
  type: 'item',
67
- label: `$(plus) ${( localize(5798, 'New instruction file...'))}`,
67
+ label: `$(plus) ${( localize(5500, 'New instruction file...'))}`,
68
68
  pickable: false,
69
69
  alwaysShow: true,
70
70
  buttons: [newHelpButton(PromptsType.instructions)],
@@ -72,7 +72,7 @@ const NEW_INSTRUCTIONS_FILE_OPTION = {
72
72
  };
73
73
  const UPDATE_INSTRUCTIONS_OPTION = {
74
74
  type: 'item',
75
- label: `$(refresh) ${( localize(5799, 'Generate agent instructions...'))}`,
75
+ label: `$(refresh) ${( localize(5501, 'Generate agent instructions...'))}`,
76
76
  pickable: false,
77
77
  alwaysShow: true,
78
78
  buttons: [newHelpButton(PromptsType.instructions)],
@@ -80,35 +80,35 @@ const UPDATE_INSTRUCTIONS_OPTION = {
80
80
  };
81
81
  const NEW_AGENT_FILE_OPTION = {
82
82
  type: 'item',
83
- label: `$(plus) ${( localize(5800, 'Create new custom agent...'))}`,
83
+ label: `$(plus) ${( localize(5502, 'Create new custom agent...'))}`,
84
84
  pickable: false,
85
85
  alwaysShow: true,
86
86
  buttons: [newHelpButton(PromptsType.agent)],
87
87
  commandId: NEW_AGENT_COMMAND_ID,
88
88
  };
89
89
  const EDIT_BUTTON = {
90
- tooltip: ( localize(5801, "Open in Editor")),
90
+ tooltip: ( localize(5503, "Open in Editor")),
91
91
  iconClass: ThemeIcon.asClassName(Codicon.fileCode),
92
92
  };
93
93
  const DELETE_BUTTON = {
94
- tooltip: ( localize(5802, "Delete")),
94
+ tooltip: ( localize(5504, "Delete")),
95
95
  iconClass: ThemeIcon.asClassName(Codicon.trash),
96
96
  };
97
97
  const RENAME_BUTTON = {
98
- tooltip: ( localize(5803, "Move and/or Rename")),
98
+ tooltip: ( localize(5505, "Move and/or Rename")),
99
99
  iconClass: ThemeIcon.asClassName(Codicon.replace),
100
100
  };
101
101
  const COPY_BUTTON = {
102
- tooltip: ( localize(5804, "Copy")),
102
+ tooltip: ( localize(5506, "Make a Copy")),
103
103
  iconClass: ThemeIcon.asClassName(Codicon.copy),
104
104
  };
105
105
  const MAKE_VISIBLE_BUTTON = {
106
- tooltip: ( localize(5805, "Hidden from chat view agent picker. Click to show.")),
106
+ tooltip: ( localize(5507, "Hidden from chat view agent picker. Click to show.")),
107
107
  iconClass: ThemeIcon.asClassName(Codicon.eyeClosed),
108
108
  alwaysVisible: true,
109
109
  };
110
110
  const MAKE_INVISIBLE_BUTTON = {
111
- tooltip: ( localize(5806, "Hide from agent picker")),
111
+ tooltip: ( localize(5508, "Hide from agent picker")),
112
112
  iconClass: ThemeIcon.asClassName(Codicon.eyeClosed),
113
113
  };
114
114
  let PromptFilePickers = class PromptFilePickers {
@@ -127,7 +127,7 @@ let PromptFilePickers = class PromptFilePickers {
127
127
  const cts = ( new CancellationTokenSource());
128
128
  const quickPick = this._quickInputService.createQuickPick({ useSeparators: true });
129
129
  quickPick.busy = true;
130
- quickPick.placeholder = ( localize(5807, 'Searching file system...'));
130
+ quickPick.placeholder = ( localize(5509, 'Searching file system...'));
131
131
  try {
132
132
  const fileOptions = await this._createPromptPickItems(options, cts.token);
133
133
  const activeItem = options.resource && fileOptions.find(f => f.type === 'item' && extUri.isEqual(f.promptFileUri, options.resource));
@@ -213,7 +213,7 @@ let PromptFilePickers = class PromptFilePickers {
213
213
  }
214
214
  const locals = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.local, token);
215
215
  if (locals.length) {
216
- result.push({ type: 'separator', label: ( localize(5808, "Workspace")) });
216
+ result.push({ type: 'separator', label: ( localize(5510, "Workspace")) });
217
217
  result.push(...(await Promise.all(( locals.map(l => this._createPromptPickItem(l, buttons, getVisibility(l), token))))));
218
218
  }
219
219
  let agentInstructionFiles = [];
@@ -236,12 +236,12 @@ let PromptFilePickers = class PromptFilePickers {
236
236
  }
237
237
  if (agentInstructionFiles.length) {
238
238
  const agentButtons = buttons.filter(b => b !== RENAME_BUTTON);
239
- result.push({ type: 'separator', label: ( localize(5809, "Agent Instructions")) });
239
+ result.push({ type: 'separator', label: ( localize(5511, "Agent Instructions")) });
240
240
  result.push(...(await Promise.all(( agentInstructionFiles.map(l => this._createPromptPickItem(l, agentButtons, getVisibility(l), token))))));
241
241
  }
242
242
  const exts = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.extension, token);
243
243
  if (exts.length) {
244
- result.push({ type: 'separator', label: ( localize(5810, "Extensions")) });
244
+ result.push({ type: 'separator', label: ( localize(5512, "Extensions")) });
245
245
  const extButtons = [];
246
246
  if (options.optionEdit !== false) {
247
247
  extButtons.push(EDIT_BUTTON);
@@ -253,7 +253,7 @@ let PromptFilePickers = class PromptFilePickers {
253
253
  }
254
254
  const users = await this._promptsService.listPromptFilesForStorage(options.type, PromptsStorage.user, token);
255
255
  if (users.length) {
256
- result.push({ type: 'separator', label: ( localize(5811, "User Data")) });
256
+ result.push({ type: 'separator', label: ( localize(5513, "User Data")) });
257
257
  result.push(...(await Promise.all(( users.map(u => this._createPromptPickItem(u, buttons, getVisibility(u), token))))));
258
258
  }
259
259
  return result;
@@ -289,8 +289,8 @@ let PromptFilePickers = class PromptFilePickers {
289
289
  let iconClass;
290
290
  if (visibility === false) {
291
291
  buttons = (buttons ?? []).concat(MAKE_VISIBLE_BUTTON);
292
- promptName = ( localize(5812, "{0} (hidden)", promptName));
293
- tooltip = ( localize(5813, "Hidden from chat view agent picker"));
292
+ promptName = ( localize(5514, "{0} (hidden)", promptName));
293
+ tooltip = ( localize(5515, "Hidden from chat view agent picker"));
294
294
  }
295
295
  else if (visibility === true) {
296
296
  buttons = (buttons ?? []).concat(MAKE_INVISIBLE_BUTTON);
@@ -358,7 +358,7 @@ let PromptFilePickers = class PromptFilePickers {
358
358
  if (button === DELETE_BUTTON) {
359
359
  return await this.keepQuickPickOpen(quickPick, async () => {
360
360
  const filename = getCleanPromptName(value);
361
- const message = ( localize(5814, "Are you sure you want to delete '{0}'?", filename));
361
+ const message = ( localize(5516, "Are you sure you want to delete '{0}'?", filename));
362
362
  const { confirmed } = await this._dialogService.confirm({ message });
363
363
  if (!confirmed) {
364
364
  return false;
@@ -18,10 +18,10 @@ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
18
18
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
19
19
  import { isProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
20
20
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
21
- import { IChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatVariables.service';
21
+ import { IChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables.service';
22
22
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
23
- import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables';
24
- import { cleanupOldImages, createFileForMedia, resizeImage, imageToHash } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/imageUtils';
23
+ import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
24
+ import { cleanupOldImages, createFileForMedia, resizeImage, imageToHash } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
25
25
 
26
26
  var CopyAttachmentsProvider_1;
27
27
  const COPY_MIME_TYPES = 'application/vnd.code.additional-editor-data';
@@ -72,7 +72,7 @@ let PasteImageProvider = class PasteImageProvider {
72
72
  return;
73
73
  }
74
74
  const attachedVariables = widget.attachmentModel.attachments;
75
- const displayName = ( localize(5457, 'Pasted Image'));
75
+ const displayName = ( localize(5845, 'Pasted Image'));
76
76
  let tempDisplayName = displayName;
77
77
  for (let appendValue = 2; ( attachedVariables.some(attachment => attachment.name === tempDisplayName)); appendValue++) {
78
78
  tempDisplayName = `${displayName} ${appendValue}`;
@@ -93,7 +93,7 @@ let PasteImageProvider = class PasteImageProvider {
93
93
  if (( currentContextIds.has(scaledImageContext.id))) {
94
94
  return;
95
95
  }
96
- const edit = createCustomPasteEdit(model, [scaledImageContext], mimeType, this.kind, ( localize(5458, 'Pasted Image Attachment')), this.chatWidgetService);
96
+ const edit = createCustomPasteEdit(model, [scaledImageContext], mimeType, this.kind, ( localize(5846, 'Pasted Image Attachment')), this.chatWidgetService);
97
97
  return createEditSession(edit);
98
98
  }
99
99
  };
@@ -202,7 +202,7 @@ let CopyAttachmentsProvider = class CopyAttachmentsProvider {
202
202
  }
203
203
  const edit = {
204
204
  insertText: textdata,
205
- title: ( localize(5459, 'Insert Prompt & Attachments')),
205
+ title: ( localize(5847, 'Insert Prompt & Attachments')),
206
206
  kind: this.kind,
207
207
  handledMimeType: CopyAttachmentsProvider_1.ATTACHMENT_MIME_TYPE,
208
208
  additionalEdit: {
@@ -276,7 +276,7 @@ class PasteTextProvider {
276
276
  if (( currentContextIds.has(copiedContext.id))) {
277
277
  return;
278
278
  }
279
- const edit = createCustomPasteEdit(model, [copiedContext], Mimes.text, this.kind, ( localize(5460, 'Pasted Code Attachment')), this.chatWidgetService);
279
+ const edit = createCustomPasteEdit(model, [copiedContext], Mimes.text, this.kind, ( localize(5848, 'Pasted Code Attachment')), this.chatWidgetService);
280
280
  edit.yieldTo = [{ kind: HierarchicalKind.Empty.append('text', 'plain') }];
281
281
  return createEditSession(edit);
282
282
  }
@@ -286,7 +286,7 @@ function getCopiedContext(code, file, language, range) {
286
286
  const start = range.startLineNumber;
287
287
  const end = range.endLineNumber;
288
288
  const resultText = `Copied Selection of Code: \n\n\n From the file: ${fileName} From lines ${start} to ${end} \n \`\`\`${code}\`\`\``;
289
- const pastedLines = start === end ? ( localize(5461, '1 line')) : ( localize(5462, '{0} lines', end + 1 - start));
289
+ const pastedLines = start === end ? ( localize(5849, '1 line')) : ( localize(5850, '{0} lines', end + 1 - start));
290
290
  return {
291
291
  kind: 'paste',
292
292
  value: resultText,
@@ -310,7 +310,7 @@ function getCopiedContext(code, file, language, range) {
310
310
  function createCustomPasteEdit(model, context, handledMimeType, kind, title, chatWidgetService) {
311
311
  const label = context.length === 1
312
312
  ? context[0].name
313
- : ( localize(5463, '{0} and {1} more', context[0].name, context.length - 1));
313
+ : ( localize(5851, '{0} and {1} more', context[0].name, context.length - 1));
314
314
  const customEdit = {
315
315
  resource: model.uri,
316
316
  variable: context,
@@ -14,7 +14,7 @@ import { type IDecorationAddon } from "@codingame/monaco-vscode-api/vscode/vs/pl
14
14
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
15
15
  import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service";
16
16
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
17
- import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service";
17
+ import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service";
18
18
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
19
19
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
20
20
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
@@ -25,7 +25,7 @@ import { TERMINAL_COMMAND_DECORATION_DEFAULT_BACKGROUND_COLOR, TERMINAL_COMMAND_
25
25
  import { ILifecycleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
26
26
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
27
27
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
28
- import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service';
28
+ import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service';
29
29
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
30
30
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
31
31
  import { TerminalContext } from '../../../chat/browser/actions/chatContext.js';
@@ -371,7 +371,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
371
371
  ];
372
372
  }
373
373
  _getContextMenuActions() {
374
- const label = ( localize(11647, "Toggle Visibility"));
374
+ const label = ( localize(11677, "Toggle Visibility"));
375
375
  return [
376
376
  {
377
377
  class: undefined, tooltip: label, id: 'terminal.toggleVisibility', label, enabled: true,
@@ -392,7 +392,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
392
392
  actions.push(attachToChatAction, ( new Separator()));
393
393
  }
394
394
  if (command.command !== '') {
395
- const labelRun = ( localize(11648, 'Rerun Command'));
395
+ const labelRun = ( localize(11678, 'Rerun Command'));
396
396
  actions.push({
397
397
  class: undefined, tooltip: labelRun, id: 'terminal.rerunCommand', label: labelRun, enabled: true,
398
398
  run: async () => {
@@ -401,11 +401,11 @@ let DecorationAddon = class DecorationAddon extends Disposable {
401
401
  }
402
402
  if (!command.isTrusted) {
403
403
  const shouldRun = await ( new Promise(r => {
404
- this._notificationService.prompt(Severity.Info, ( localize(11649, 'Do you want to run the command: {0}', command.command)), [{
405
- label: ( localize(11650, 'Yes')),
404
+ this._notificationService.prompt(Severity.Info, ( localize(11679, 'Do you want to run the command: {0}', command.command)), [{
405
+ label: ( localize(11680, 'Yes')),
406
406
  run: () => r(true)
407
407
  }, {
408
- label: ( localize(11651, 'No')),
408
+ label: ( localize(11681, 'No')),
409
409
  run: () => r(false)
410
410
  }]);
411
411
  }));
@@ -417,14 +417,14 @@ let DecorationAddon = class DecorationAddon extends Disposable {
417
417
  }
418
418
  });
419
419
  actions.push(( new Separator()));
420
- const labelCopy = ( localize(11652, 'Copy Command'));
420
+ const labelCopy = ( localize(11682, 'Copy Command'));
421
421
  actions.push({
422
422
  class: undefined, tooltip: labelCopy, id: 'terminal.copyCommand', label: labelCopy, enabled: true,
423
423
  run: () => this._clipboardService.writeText(command.command)
424
424
  });
425
425
  }
426
426
  if (command.hasOutput()) {
427
- const labelCopyCommandAndOutput = ( localize(11653, 'Copy Command and Output'));
427
+ const labelCopyCommandAndOutput = ( localize(11683, 'Copy Command and Output'));
428
428
  actions.push({
429
429
  class: undefined, tooltip: labelCopyCommandAndOutput, id: 'terminal.copyCommandAndOutput', label: labelCopyCommandAndOutput, enabled: true,
430
430
  run: () => {
@@ -434,7 +434,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
434
434
  }
435
435
  }
436
436
  });
437
- const labelText = ( localize(11654, 'Copy Output'));
437
+ const labelText = ( localize(11684, 'Copy Output'));
438
438
  actions.push({
439
439
  class: undefined, tooltip: labelText, id: 'terminal.copyOutput', label: labelText, enabled: true,
440
440
  run: () => {
@@ -444,7 +444,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
444
444
  }
445
445
  }
446
446
  });
447
- const labelHtml = ( localize(11655, 'Copy Output as HTML'));
447
+ const labelHtml = ( localize(11685, 'Copy Output as HTML'));
448
448
  actions.push({
449
449
  class: undefined, tooltip: labelHtml, id: 'terminal.copyOutputAsHtml', label: labelHtml, enabled: true,
450
450
  run: () => this._onDidRequestCopyAsHtml.fire({ command })
@@ -453,18 +453,18 @@ let DecorationAddon = class DecorationAddon extends Disposable {
453
453
  if (actions.length > 0) {
454
454
  actions.push(( new Separator()));
455
455
  }
456
- const labelRunRecent = ( localize(11656, "Run Recent Command"));
456
+ const labelRunRecent = ( localize(11686, "Run Recent Command"));
457
457
  actions.push({
458
458
  class: undefined, tooltip: labelRunRecent, id: 'workbench.action.terminal.runRecentCommand', label: labelRunRecent, enabled: true,
459
459
  run: () => this._commandService.executeCommand('workbench.action.terminal.runRecentCommand')
460
460
  });
461
- const labelGoToRecent = ( localize(11657, "Go To Recent Directory"));
461
+ const labelGoToRecent = ( localize(11687, "Go To Recent Directory"));
462
462
  actions.push({
463
463
  class: undefined, tooltip: labelRunRecent, id: 'workbench.action.terminal.goToRecentDirectory', label: labelGoToRecent, enabled: true,
464
464
  run: () => this._commandService.executeCommand('workbench.action.terminal.goToRecentDirectory')
465
465
  });
466
466
  actions.push(( new Separator()));
467
- const labelAbout = ( localize(11658, 'Learn About Shell Integration'));
467
+ const labelAbout = ( localize(11688, 'Learn About Shell Integration'));
468
468
  actions.push({
469
469
  class: undefined, tooltip: labelAbout, id: 'terminal.learnShellIntegration', label: labelAbout, enabled: true,
470
470
  run: () => this._openerService.open('https://code.visualstudio.com/docs/terminal/shell-integration')
@@ -476,7 +476,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
476
476
  if (!chatIsEnabled) {
477
477
  return undefined;
478
478
  }
479
- const labelAttachToChat = ( localize(11659, 'Attach To Chat'));
479
+ const labelAttachToChat = ( localize(11689, 'Attach To Chat'));
480
480
  return {
481
481
  class: undefined, tooltip: labelAttachToChat, id: 'terminal.attachToChat', label: labelAttachToChat, enabled: true,
482
482
  run: async () => {
@@ -513,14 +513,14 @@ let DecorationAddon = class DecorationAddon extends Disposable {
513
513
  quickPick.hideInput = true;
514
514
  quickPick.hideCheckAll = true;
515
515
  quickPick.canSelectMany = true;
516
- quickPick.title = ( localize(11660, 'Toggle visibility'));
516
+ quickPick.title = ( localize(11690, 'Toggle visibility'));
517
517
  const configValue = this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationsEnabled);
518
518
  const gutterIcon = {
519
- label: ( localize(11661, 'Gutter command decorations')),
519
+ label: ( localize(11691, 'Gutter command decorations')),
520
520
  picked: configValue !== 'never' && configValue !== 'overviewRuler'
521
521
  };
522
522
  const overviewRulerIcon = {
523
- label: ( localize(11662, 'Overview ruler command decorations')),
523
+ label: ( localize(11692, 'Overview ruler command decorations')),
524
524
  picked: configValue !== 'never' && configValue !== 'gutter'
525
525
  };
526
526
  quickPick.items = [gutterIcon, overviewRulerIcon];
@@ -281,9 +281,6 @@ let MarkNavigationAddon = class MarkNavigationAddon extends Disposable {
281
281
  element.classList.add('bottom');
282
282
  }
283
283
  }
284
- if (this._terminal?.element) {
285
- element.style.marginLeft = `-${getWindow(this._terminal.element).getComputedStyle(this._terminal.element).paddingLeft}`;
286
- }
287
284
  }));
288
285
  }
289
286
  }
@@ -75,6 +75,7 @@ export declare class XtermTerminal extends Disposable implements IXtermTerminal,
75
75
  private _searchAddon?;
76
76
  private _unicode11Addon?;
77
77
  private _webglAddon?;
78
+ private _webglAddonCustomGlyphs?;
78
79
  private _serializeAddon?;
79
80
  private _imageAddon?;
80
81
  private readonly _ligaturesAddon;
@@ -105,6 +106,10 @@ export declare class XtermTerminal extends Disposable implements IXtermTerminal,
105
106
  resultIndex: number;
106
107
  resultCount: number;
107
108
  }>;
109
+ private readonly _onBeforeSearch;
110
+ readonly onBeforeSearch: Event<void>;
111
+ private readonly _onAfterSearch;
112
+ readonly onAfterSearch: Event<void>;
108
113
  private readonly _onDidChangeSelection;
109
114
  readonly onDidChangeSelection: Event<void>;
110
115
  private readonly _onDidChangeFocus;
@@ -102,6 +102,7 @@ let XtermTerminal = class XtermTerminal extends Disposable {
102
102
  this._accessibilitySignalService = _accessibilitySignalService;
103
103
  this._isPhysicalMouseWheel = MouseWheelClassifier.INSTANCE.isPhysicalMouseWheel();
104
104
  this._progressState = { state: 0, value: 0 };
105
+ this._webglAddonCustomGlyphs = false;
105
106
  this._ligaturesAddon = this._register(( new MutableDisposable()));
106
107
  this._attachedDisposables = this._register(( new DisposableStore()));
107
108
  this._onDidRequestRunCommand = this._register(( new Emitter()));
@@ -112,6 +113,10 @@ let XtermTerminal = class XtermTerminal extends Disposable {
112
113
  this.onDidRequestRefreshDimensions = this._onDidRequestRefreshDimensions.event;
113
114
  this._onDidChangeFindResults = this._register(( new Emitter()));
114
115
  this.onDidChangeFindResults = this._onDidChangeFindResults.event;
116
+ this._onBeforeSearch = this._register(( new Emitter()));
117
+ this.onBeforeSearch = this._onBeforeSearch.event;
118
+ this._onAfterSearch = this._register(( new Emitter()));
119
+ this.onAfterSearch = this._onAfterSearch.event;
115
120
  this._onDidChangeSelection = this._register(( new Emitter()));
116
121
  this.onDidChangeSelection = this._onDidChangeSelection.event;
117
122
  this._onDidChangeFocus = this._register(( new Emitter()));
@@ -152,7 +157,6 @@ let XtermTerminal = class XtermTerminal extends Disposable {
152
157
  macOptionIsMeta: config.macOptionIsMeta,
153
158
  macOptionClickForcesSelection: config.macOptionClickForcesSelection,
154
159
  rightClickSelectsWord: config.rightClickBehavior === 'selectWord',
155
- fastScrollModifier: 'alt',
156
160
  fastScrollSensitivity: config.fastScrollSensitivity,
157
161
  scrollSensitivity: config.mouseWheelScrollSensitivity,
158
162
  scrollOnEraseInDisplay: true,
@@ -426,7 +430,6 @@ let XtermTerminal = class XtermTerminal extends Disposable {
426
430
  this.raw.options.macOptionClickForcesSelection = config.macOptionClickForcesSelection;
427
431
  this.raw.options.rightClickSelectsWord = config.rightClickBehavior === 'selectWord';
428
432
  this.raw.options.wordSeparator = config.wordSeparators;
429
- this.raw.options.customGlyphs = config.customGlyphs;
430
433
  this.raw.options.ignoreBracketedPasteMode = config.ignoreBracketedPasteMode;
431
434
  this.raw.options.rescaleOverlappingGlyphs = config.rescaleOverlappingGlyphs;
432
435
  this._updateSmoothScrolling();
@@ -495,6 +498,12 @@ let XtermTerminal = class XtermTerminal extends Disposable {
495
498
  this._lastFindResult = results;
496
499
  this._onDidChangeFindResults.fire(results);
497
500
  });
501
+ this._searchAddon.onBeforeSearch(() => {
502
+ this._onBeforeSearch.fire();
503
+ });
504
+ this._searchAddon.onAfterSearch(() => {
505
+ this._onAfterSearch.fire();
506
+ });
498
507
  return this._searchAddon;
499
508
  });
500
509
  }
@@ -617,7 +626,7 @@ let XtermTerminal = class XtermTerminal extends Disposable {
617
626
  }
618
627
  }
619
628
  else {
620
- this._notificationService.warn(( localize(11673, 'The terminal has no selection to copy')));
629
+ this._notificationService.warn(( localize(11703, 'The terminal has no selection to copy')));
621
630
  }
622
631
  }
623
632
  _setCursorBlink(blink) {
@@ -644,11 +653,15 @@ let XtermTerminal = class XtermTerminal extends Disposable {
644
653
  }
645
654
  }
646
655
  async _enableWebglRenderer() {
647
- if (!this.raw.element || this._webglAddon) {
656
+ if (!this.raw.element || this._webglAddon && this._webglAddonCustomGlyphs === this._terminalConfigurationService.config.customGlyphs) {
648
657
  return;
649
658
  }
659
+ this._disposeOfWebglRenderer();
660
+ this._webglAddonCustomGlyphs = this._terminalConfigurationService.config.customGlyphs;
650
661
  const Addon = await this._xtermAddonLoader.importAddon('webgl');
651
- this._webglAddon = ( new Addon());
662
+ this._webglAddon = ( new Addon({
663
+ customGlyphs: this._terminalConfigurationService.config.customGlyphs
664
+ }));
652
665
  try {
653
666
  this.raw.loadAddon(this._webglAddon);
654
667
  this._logService.trace('Webgl was loaded');
@@ -718,12 +731,16 @@ let XtermTerminal = class XtermTerminal extends Disposable {
718
731
  }
719
732
  }
720
733
  _disposeOfWebglRenderer() {
734
+ if (!this._webglAddon) {
735
+ return;
736
+ }
721
737
  try {
722
738
  this._webglAddon?.dispose();
723
739
  }
724
740
  catch {
725
741
  }
726
742
  this._webglAddon = undefined;
743
+ this._webglAddonCustomGlyphs = undefined;
727
744
  this._refreshImageAddon();
728
745
  this._onDidRequestRefreshDimensions.fire();
729
746
  }
@@ -811,6 +828,7 @@ let XtermTerminal = class XtermTerminal extends Disposable {
811
828
  dispose() {
812
829
  this._anyTerminalFocusContextKey.reset();
813
830
  this._anyFocusedTerminalHasSelection.reset();
831
+ this._disposeOfWebglRenderer();
814
832
  this._onDidDispose.fire();
815
833
  super.dispose();
816
834
  }