@codingame/monaco-vscode-xterm-common 32.0.0 → 32.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +61 -61
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +27 -27
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-xterm-common",
|
|
3
|
-
"version": "32.0.
|
|
3
|
+
"version": "32.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - common package depending on xterm",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "32.0.
|
|
19
|
-
"@codingame/monaco-vscode-xterm-addons-common": "32.0.
|
|
18
|
+
"@codingame/monaco-vscode-api": "32.0.1",
|
|
19
|
+
"@codingame/monaco-vscode-xterm-addons-common": "32.0.1",
|
|
20
20
|
"@xterm/xterm": "6.1.0-beta.219"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
@@ -83,7 +83,7 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
83
83
|
}
|
|
84
84
|
} else if (displaying < entries.length) {
|
|
85
85
|
desiredProfiles.set("__quickpick__", {
|
|
86
|
-
name: ( localize(
|
|
86
|
+
name: ( localize(13777, "Agent Host…")),
|
|
87
87
|
address: "__quickpick__",
|
|
88
88
|
getConnection: () => undefined
|
|
89
89
|
});
|
|
@@ -104,7 +104,7 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
104
104
|
infos.push({
|
|
105
105
|
extensionIdentifier: AGENT_HOST_PROFILE_EXT_ID,
|
|
106
106
|
profileId: key,
|
|
107
|
-
title: key === "__quickpick__" ? ( localize(
|
|
107
|
+
title: key === "__quickpick__" ? ( localize(13777, "Agent Host…")) : ( localize(13778, "Agent Host ({0})", desiredProfiles.get(key).name)),
|
|
108
108
|
address: key
|
|
109
109
|
});
|
|
110
110
|
}
|
|
@@ -119,12 +119,12 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
119
119
|
let displayName = entry.name;
|
|
120
120
|
if (key === "__quickpick__") {
|
|
121
121
|
const picks = ( allEntries.map(e => ({
|
|
122
|
-
label: ( localize(
|
|
122
|
+
label: ( localize(13778, "Agent Host ({0})", e.name)),
|
|
123
123
|
address: e.address,
|
|
124
124
|
hostName: e.name
|
|
125
125
|
})));
|
|
126
126
|
const pick = await this._quickInputService.pick(picks, {
|
|
127
|
-
placeHolder: ( localize(
|
|
127
|
+
placeHolder: ( localize(13779, "Select an agent host to open a terminal on"))
|
|
128
128
|
});
|
|
129
129
|
if (!pick) {
|
|
130
130
|
return;
|
|
@@ -140,13 +140,13 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
await this.createTerminal(connection, {
|
|
143
|
-
name: ( localize(
|
|
143
|
+
name: ( localize(13778, "Agent Host ({0})", displayName)),
|
|
144
144
|
cwd: options.cwd ? (typeof options.cwd === "string" ? URI.file(options.cwd) : options.cwd) : this._defaultCwd,
|
|
145
145
|
location: options.location
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
};
|
|
149
|
-
const title = key === "__quickpick__" ? ( localize(
|
|
149
|
+
const title = key === "__quickpick__" ? ( localize(13777, "Agent Host…")) : ( localize(13778, "Agent Host ({0})", entry.name));
|
|
150
150
|
const store = ( new DisposableStore());
|
|
151
151
|
store.add(
|
|
152
152
|
this._terminalProfileService.registerTerminalProfileProvider(AGENT_HOST_PROFILE_EXT_ID, key, provider)
|
|
@@ -175,7 +175,7 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
175
175
|
scheme: "agenthost-terminal",
|
|
176
176
|
path: `/${generateUuid()}`
|
|
177
177
|
}));
|
|
178
|
-
const name = options?.name ?? ( localize(
|
|
178
|
+
const name = options?.name ?? ( localize(13780, "Agent Host Terminal"));
|
|
179
179
|
const key = ( terminalUri.toString());
|
|
180
180
|
const instance = await this._terminalService.createTerminal({
|
|
181
181
|
config: {
|
|
@@ -241,7 +241,7 @@ let AgentHostTerminalService = class AgentHostTerminalService extends Disposable
|
|
|
241
241
|
});
|
|
242
242
|
return pty;
|
|
243
243
|
},
|
|
244
|
-
name: ( localize(
|
|
244
|
+
name: ( localize(13781, "Agent Host Terminal")),
|
|
245
245
|
isFeatureTerminal: true,
|
|
246
246
|
hideFromUser: true
|
|
247
247
|
}
|
|
@@ -24,7 +24,7 @@ let EnvironmentVariableInfoStale = class EnvironmentVariableInfoStale {
|
|
|
24
24
|
addExtensionIdentifiers(extSet, ( this._diff.removed.values()));
|
|
25
25
|
addExtensionIdentifiers(extSet, ( this._diff.changed.values()));
|
|
26
26
|
let message = ( localize(
|
|
27
|
-
|
|
27
|
+
13786,
|
|
28
28
|
"The following extensions want to relaunch the terminal to contribute to its environment:"
|
|
29
29
|
));
|
|
30
30
|
message += getMergedDescription(this._collection, scope, this._extensionService, extSet);
|
|
@@ -32,7 +32,7 @@ let EnvironmentVariableInfoStale = class EnvironmentVariableInfoStale {
|
|
|
32
32
|
}
|
|
33
33
|
_getActions() {
|
|
34
34
|
return [{
|
|
35
|
-
label: ( localize(
|
|
35
|
+
label: ( localize(13787, "Relaunch Terminal")),
|
|
36
36
|
run: () => this._terminalService.getInstanceFromId(this._terminalId)?.relaunch(),
|
|
37
37
|
commandId: TerminalCommandId.Relaunch
|
|
38
38
|
}];
|
|
@@ -59,7 +59,7 @@ let EnvironmentVariableInfoChangesActive = class EnvironmentVariableInfoChangesA
|
|
|
59
59
|
const extSet = ( new Set());
|
|
60
60
|
addExtensionIdentifiers(extSet, ( this._collection.getVariableMap(scope).values()));
|
|
61
61
|
let message = ( localize(
|
|
62
|
-
|
|
62
|
+
13788,
|
|
63
63
|
"The following extensions have contributed to this terminal's environment:"
|
|
64
64
|
));
|
|
65
65
|
message += getMergedDescription(this._collection, scope, this._extensionService, extSet);
|
|
@@ -67,7 +67,7 @@ let EnvironmentVariableInfoChangesActive = class EnvironmentVariableInfoChangesA
|
|
|
67
67
|
}
|
|
68
68
|
_getActions(scope) {
|
|
69
69
|
return [{
|
|
70
|
-
label: ( localize(
|
|
70
|
+
label: ( localize(13789, "Show Environment Contributions")),
|
|
71
71
|
run: () => this._commandService.executeCommand(TerminalCommandId.ShowEnvironmentContributions, scope),
|
|
72
72
|
commandId: TerminalCommandId.ShowEnvironmentContributions
|
|
73
73
|
}];
|
|
@@ -95,7 +95,7 @@ function getMergedDescription(collection, scope, extensionService, extSet) {
|
|
|
95
95
|
}
|
|
96
96
|
const workspaceDescription = workspaceDescriptions.get(ext);
|
|
97
97
|
if (workspaceDescription) {
|
|
98
|
-
const workspaceSuffix = globalDescription ? ` (${( localize(
|
|
98
|
+
const workspaceSuffix = globalDescription ? ` (${( localize(13790, "workspace"))})` : "";
|
|
99
99
|
message.push(`\n- \`${getExtensionName(ext, extensionService)}${workspaceSuffix}\``);
|
|
100
100
|
message.push(`: ${workspaceDescription}`);
|
|
101
101
|
}
|
|
@@ -63,7 +63,7 @@ import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workb
|
|
|
63
63
|
import { SeparatorSelectOption } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/selectBox/selectBox';
|
|
64
64
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
65
65
|
|
|
66
|
-
const switchTerminalShowTabsTitle = ( localize(
|
|
66
|
+
const switchTerminalShowTabsTitle = ( localize(13793, "Show Tabs"));
|
|
67
67
|
const category = terminalStrings.actionCategory;
|
|
68
68
|
const sharedWhenClause = (() => {
|
|
69
69
|
const terminalAvailable = ( ContextKeyExpr.or(
|
|
@@ -86,7 +86,7 @@ async function getCwdForSplit(instance, folders, commandService, configService)
|
|
|
86
86
|
return folders[0].uri;
|
|
87
87
|
} else if (folders.length > 1) {
|
|
88
88
|
const options = {
|
|
89
|
-
placeHolder: ( localize(
|
|
89
|
+
placeHolder: ( localize(13794, "Select current working directory for new terminal"))
|
|
90
90
|
};
|
|
91
91
|
const workspace = await commandService.executeCommand(PICK_WORKSPACE_FOLDER_COMMAND_ID, [options]);
|
|
92
92
|
if (!workspace) {
|
|
@@ -104,7 +104,7 @@ async function getCwdForSplit(instance, folders, commandService, configService)
|
|
|
104
104
|
}
|
|
105
105
|
let TerminalLaunchHelpAction = class TerminalLaunchHelpAction extends Action {
|
|
106
106
|
constructor(_openerService) {
|
|
107
|
-
super("workbench.action.terminal.launchHelp", ( localize(
|
|
107
|
+
super("workbench.action.terminal.launchHelp", ( localize(13795, "Open Help")));
|
|
108
108
|
this._openerService = _openerService;
|
|
109
109
|
}
|
|
110
110
|
async run() {
|
|
@@ -205,7 +205,7 @@ function getTerminalServices(accessor) {
|
|
|
205
205
|
function registerTerminalActions() {
|
|
206
206
|
registerTerminalAction({
|
|
207
207
|
id: TerminalCommandId.NewInActiveWorkspace,
|
|
208
|
-
title: ( localize2(
|
|
208
|
+
title: ( localize2(13796, "Create New Terminal (In Active Workspace)")),
|
|
209
209
|
run: async c => {
|
|
210
210
|
if (c.service.isProcessSupportRegistered) {
|
|
211
211
|
const instance = await c.service.createTerminal({
|
|
@@ -222,7 +222,7 @@ function registerTerminalActions() {
|
|
|
222
222
|
refreshTerminalActions([]);
|
|
223
223
|
registerTerminalAction({
|
|
224
224
|
id: TerminalCommandId.CreateTerminalEditor,
|
|
225
|
-
title: ( localize2(
|
|
225
|
+
title: ( localize2(13797, "Create New Terminal in Editor Area")),
|
|
226
226
|
run: async (c, _, args) => {
|
|
227
227
|
function isCreateTerminalOptions(obj) {
|
|
228
228
|
return isObject(obj) && "location" in obj;
|
|
@@ -238,7 +238,7 @@ function registerTerminalActions() {
|
|
|
238
238
|
});
|
|
239
239
|
registerTerminalAction({
|
|
240
240
|
id: TerminalCommandId.CreateTerminalEditorSameGroup,
|
|
241
|
-
title: ( localize2(
|
|
241
|
+
title: ( localize2(13797, "Create New Terminal in Editor Area")),
|
|
242
242
|
f1: false,
|
|
243
243
|
run: async (c, accessor, args) => {
|
|
244
244
|
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
@@ -252,7 +252,7 @@ function registerTerminalActions() {
|
|
|
252
252
|
});
|
|
253
253
|
registerTerminalAction({
|
|
254
254
|
id: TerminalCommandId.CreateTerminalEditorSide,
|
|
255
|
-
title: ( localize2(
|
|
255
|
+
title: ( localize2(13798, "Create New Terminal in Editor Area to the Side")),
|
|
256
256
|
run: async c => {
|
|
257
257
|
const instance = await c.service.createTerminal({
|
|
258
258
|
location: {
|
|
@@ -313,7 +313,7 @@ function registerTerminalActions() {
|
|
|
313
313
|
});
|
|
314
314
|
registerTerminalAction({
|
|
315
315
|
id: TerminalCommandId.FocusPreviousPane,
|
|
316
|
-
title: ( localize2(
|
|
316
|
+
title: ( localize2(13799, "Focus Previous Terminal in Terminal Group")),
|
|
317
317
|
keybinding: {
|
|
318
318
|
primary: KeyMod.Alt | KeyCode.LeftArrow,
|
|
319
319
|
secondary: [KeyMod.Alt | KeyCode.UpArrow],
|
|
@@ -332,7 +332,7 @@ function registerTerminalActions() {
|
|
|
332
332
|
});
|
|
333
333
|
registerTerminalAction({
|
|
334
334
|
id: TerminalCommandId.FocusNextPane,
|
|
335
|
-
title: ( localize2(
|
|
335
|
+
title: ( localize2(13800, "Focus Next Terminal in Terminal Group")),
|
|
336
336
|
keybinding: {
|
|
337
337
|
primary: KeyMod.Alt | KeyCode.RightArrow,
|
|
338
338
|
secondary: [KeyMod.Alt | KeyCode.DownArrow],
|
|
@@ -351,7 +351,7 @@ function registerTerminalActions() {
|
|
|
351
351
|
});
|
|
352
352
|
registerTerminalAction({
|
|
353
353
|
id: TerminalCommandId.ResizePaneLeft,
|
|
354
|
-
title: ( localize2(
|
|
354
|
+
title: ( localize2(13801, "Resize Terminal Left")),
|
|
355
355
|
keybinding: {
|
|
356
356
|
linux: {
|
|
357
357
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.LeftArrow
|
|
@@ -367,7 +367,7 @@ function registerTerminalActions() {
|
|
|
367
367
|
});
|
|
368
368
|
registerTerminalAction({
|
|
369
369
|
id: TerminalCommandId.ResizePaneRight,
|
|
370
|
-
title: ( localize2(
|
|
370
|
+
title: ( localize2(13802, "Resize Terminal Right")),
|
|
371
371
|
keybinding: {
|
|
372
372
|
linux: {
|
|
373
373
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.RightArrow
|
|
@@ -383,7 +383,7 @@ function registerTerminalActions() {
|
|
|
383
383
|
});
|
|
384
384
|
registerTerminalAction({
|
|
385
385
|
id: TerminalCommandId.ResizePaneUp,
|
|
386
|
-
title: ( localize2(
|
|
386
|
+
title: ( localize2(13803, "Resize Terminal Up")),
|
|
387
387
|
keybinding: {
|
|
388
388
|
mac: {
|
|
389
389
|
primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.UpArrow
|
|
@@ -396,7 +396,7 @@ function registerTerminalActions() {
|
|
|
396
396
|
});
|
|
397
397
|
registerTerminalAction({
|
|
398
398
|
id: TerminalCommandId.ResizePaneDown,
|
|
399
|
-
title: ( localize2(
|
|
399
|
+
title: ( localize2(13804, "Resize Terminal Down")),
|
|
400
400
|
keybinding: {
|
|
401
401
|
mac: {
|
|
402
402
|
primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.DownArrow
|
|
@@ -433,7 +433,7 @@ function registerTerminalActions() {
|
|
|
433
433
|
});
|
|
434
434
|
registerTerminalAction({
|
|
435
435
|
id: TerminalCommandId.FocusTabs,
|
|
436
|
-
title: ( localize2(
|
|
436
|
+
title: ( localize2(13805, "Focus Terminal Tabs View")),
|
|
437
437
|
keybinding: {
|
|
438
438
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backslash,
|
|
439
439
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -444,7 +444,7 @@ function registerTerminalActions() {
|
|
|
444
444
|
});
|
|
445
445
|
registerTerminalAction({
|
|
446
446
|
id: TerminalCommandId.FocusNext,
|
|
447
|
-
title: ( localize2(
|
|
447
|
+
title: ( localize2(13806, "Focus Next Terminal Group")),
|
|
448
448
|
precondition: sharedWhenClause.terminalAvailable,
|
|
449
449
|
keybinding: {
|
|
450
450
|
primary: KeyMod.CtrlCmd | KeyCode.PageDown,
|
|
@@ -461,7 +461,7 @@ function registerTerminalActions() {
|
|
|
461
461
|
});
|
|
462
462
|
registerTerminalAction({
|
|
463
463
|
id: TerminalCommandId.FocusPrevious,
|
|
464
|
-
title: ( localize2(
|
|
464
|
+
title: ( localize2(13807, "Focus Previous Terminal Group")),
|
|
465
465
|
precondition: sharedWhenClause.terminalAvailable,
|
|
466
466
|
keybinding: {
|
|
467
467
|
primary: KeyMod.CtrlCmd | KeyCode.PageUp,
|
|
@@ -478,7 +478,7 @@ function registerTerminalActions() {
|
|
|
478
478
|
});
|
|
479
479
|
registerTerminalAction({
|
|
480
480
|
id: TerminalCommandId.RunSelectedText,
|
|
481
|
-
title: ( localize2(
|
|
481
|
+
title: ( localize2(13808, "Run Selected Text In Active Terminal")),
|
|
482
482
|
run: async (c, accessor) => {
|
|
483
483
|
const codeEditorService = accessor.get(ICodeEditorService);
|
|
484
484
|
const editor = codeEditorService.getActiveCodeEditor();
|
|
@@ -502,7 +502,7 @@ function registerTerminalActions() {
|
|
|
502
502
|
});
|
|
503
503
|
registerTerminalAction({
|
|
504
504
|
id: TerminalCommandId.RunActiveFile,
|
|
505
|
-
title: ( localize2(
|
|
505
|
+
title: ( localize2(13809, "Run Active File In Active Terminal")),
|
|
506
506
|
precondition: sharedWhenClause.terminalAvailable,
|
|
507
507
|
run: async (c, accessor) => {
|
|
508
508
|
const codeEditorService = accessor.get(ICodeEditorService);
|
|
@@ -518,7 +518,7 @@ function registerTerminalActions() {
|
|
|
518
518
|
const isRemote = instance ? instance.hasRemoteAuthority : (workbenchEnvironmentService.remoteAuthority ? true : false);
|
|
519
519
|
const uri = editor.getModel().uri;
|
|
520
520
|
if ((!isRemote && uri.scheme !== Schemas.file && uri.scheme !== Schemas.vscodeUserData) || (isRemote && uri.scheme !== Schemas.vscodeRemote)) {
|
|
521
|
-
notificationService.warn(( localize(
|
|
521
|
+
notificationService.warn(( localize(13810, "Only files on disk can be run in the terminal")));
|
|
522
522
|
return;
|
|
523
523
|
}
|
|
524
524
|
await instance.sendPath(uri, true);
|
|
@@ -527,7 +527,7 @@ function registerTerminalActions() {
|
|
|
527
527
|
});
|
|
528
528
|
registerActiveXtermAction({
|
|
529
529
|
id: TerminalCommandId.ScrollDownLine,
|
|
530
|
-
title: ( localize2(
|
|
530
|
+
title: ( localize2(13811, "Scroll Down (Line)")),
|
|
531
531
|
keybinding: {
|
|
532
532
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown,
|
|
533
533
|
linux: {
|
|
@@ -541,7 +541,7 @@ function registerTerminalActions() {
|
|
|
541
541
|
});
|
|
542
542
|
registerActiveXtermAction({
|
|
543
543
|
id: TerminalCommandId.ScrollDownPage,
|
|
544
|
-
title: ( localize2(
|
|
544
|
+
title: ( localize2(13812, "Scroll Down (Page)")),
|
|
545
545
|
keybinding: {
|
|
546
546
|
primary: KeyMod.Shift | KeyCode.PageDown,
|
|
547
547
|
mac: {
|
|
@@ -555,7 +555,7 @@ function registerTerminalActions() {
|
|
|
555
555
|
});
|
|
556
556
|
registerActiveXtermAction({
|
|
557
557
|
id: TerminalCommandId.ScrollToBottom,
|
|
558
|
-
title: ( localize2(
|
|
558
|
+
title: ( localize2(13813, "Scroll to Bottom")),
|
|
559
559
|
keybinding: {
|
|
560
560
|
primary: KeyMod.CtrlCmd | KeyCode.End,
|
|
561
561
|
linux: {
|
|
@@ -569,7 +569,7 @@ function registerTerminalActions() {
|
|
|
569
569
|
});
|
|
570
570
|
registerActiveXtermAction({
|
|
571
571
|
id: TerminalCommandId.ScrollUpLine,
|
|
572
|
-
title: ( localize2(
|
|
572
|
+
title: ( localize2(13814, "Scroll Up (Line)")),
|
|
573
573
|
keybinding: {
|
|
574
574
|
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp,
|
|
575
575
|
linux: {
|
|
@@ -583,7 +583,7 @@ function registerTerminalActions() {
|
|
|
583
583
|
});
|
|
584
584
|
registerActiveXtermAction({
|
|
585
585
|
id: TerminalCommandId.ScrollUpPage,
|
|
586
|
-
title: ( localize2(
|
|
586
|
+
title: ( localize2(13815, "Scroll Up (Page)")),
|
|
587
587
|
f1: true,
|
|
588
588
|
keybinding: {
|
|
589
589
|
primary: KeyMod.Shift | KeyCode.PageUp,
|
|
@@ -598,7 +598,7 @@ function registerTerminalActions() {
|
|
|
598
598
|
});
|
|
599
599
|
registerActiveXtermAction({
|
|
600
600
|
id: TerminalCommandId.ScrollToTop,
|
|
601
|
-
title: ( localize2(
|
|
601
|
+
title: ( localize2(13816, "Scroll to Top")),
|
|
602
602
|
keybinding: {
|
|
603
603
|
primary: KeyMod.CtrlCmd | KeyCode.Home,
|
|
604
604
|
linux: {
|
|
@@ -612,7 +612,7 @@ function registerTerminalActions() {
|
|
|
612
612
|
});
|
|
613
613
|
registerActiveXtermAction({
|
|
614
614
|
id: TerminalCommandId.ClearSelection,
|
|
615
|
-
title: ( localize2(
|
|
615
|
+
title: ( localize2(13817, "Clear Selection")),
|
|
616
616
|
keybinding: {
|
|
617
617
|
primary: KeyCode.Escape,
|
|
618
618
|
when: ( ContextKeyExpr.and(
|
|
@@ -731,12 +731,12 @@ function registerTerminalActions() {
|
|
|
731
731
|
});
|
|
732
732
|
registerActiveInstanceAction({
|
|
733
733
|
id: TerminalCommandId.DetachSession,
|
|
734
|
-
title: ( localize2(
|
|
734
|
+
title: ( localize2(13818, "Detach Session")),
|
|
735
735
|
run: activeInstance => activeInstance.detachProcessAndDispose(TerminalExitReason.User)
|
|
736
736
|
});
|
|
737
737
|
registerTerminalAction({
|
|
738
738
|
id: TerminalCommandId.AttachToSession,
|
|
739
|
-
title: ( localize2(
|
|
739
|
+
title: ( localize2(13819, "Attach to Session")),
|
|
740
740
|
run: async (c, accessor) => {
|
|
741
741
|
const quickInputService = accessor.get(IQuickInputService);
|
|
742
742
|
const labelService = accessor.get(ILabelService);
|
|
@@ -760,7 +760,7 @@ function registerTerminalActions() {
|
|
|
760
760
|
};
|
|
761
761
|
}));
|
|
762
762
|
if (items.length === 0) {
|
|
763
|
-
notificationService.info(( localize(
|
|
763
|
+
notificationService.info(( localize(13820, "There are no unattached terminals to attach to")));
|
|
764
764
|
return;
|
|
765
765
|
}
|
|
766
766
|
const selected = await quickInputService.pick(items, {
|
|
@@ -832,7 +832,7 @@ function registerTerminalActions() {
|
|
|
832
832
|
});
|
|
833
833
|
registerActiveInstanceAction({
|
|
834
834
|
id: TerminalCommandId.SelectToPreviousCommand,
|
|
835
|
-
title: ( localize2(
|
|
835
|
+
title: ( localize2(13821, "Select to Previous Command")),
|
|
836
836
|
keybinding: {
|
|
837
837
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.UpArrow,
|
|
838
838
|
when: TerminalContextKeys.focus,
|
|
@@ -846,7 +846,7 @@ function registerTerminalActions() {
|
|
|
846
846
|
});
|
|
847
847
|
registerActiveInstanceAction({
|
|
848
848
|
id: TerminalCommandId.SelectToNextCommand,
|
|
849
|
-
title: ( localize2(
|
|
849
|
+
title: ( localize2(13822, "Select to Next Command")),
|
|
850
850
|
keybinding: {
|
|
851
851
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.DownArrow,
|
|
852
852
|
when: TerminalContextKeys.focus,
|
|
@@ -860,7 +860,7 @@ function registerTerminalActions() {
|
|
|
860
860
|
});
|
|
861
861
|
registerActiveXtermAction({
|
|
862
862
|
id: TerminalCommandId.SelectToPreviousLine,
|
|
863
|
-
title: ( localize2(
|
|
863
|
+
title: ( localize2(13823, "Select to Previous Line")),
|
|
864
864
|
precondition: sharedWhenClause.terminalAvailable,
|
|
865
865
|
run: async (xterm, _, instance) => {
|
|
866
866
|
xterm.markTracker.selectToPreviousLine();
|
|
@@ -869,7 +869,7 @@ function registerTerminalActions() {
|
|
|
869
869
|
});
|
|
870
870
|
registerActiveXtermAction({
|
|
871
871
|
id: TerminalCommandId.SelectToNextLine,
|
|
872
|
-
title: ( localize2(
|
|
872
|
+
title: ( localize2(13824, "Select to Next Line")),
|
|
873
873
|
precondition: sharedWhenClause.terminalAvailable,
|
|
874
874
|
run: async (xterm, _, instance) => {
|
|
875
875
|
xterm.markTracker.selectToNextLine();
|
|
@@ -888,7 +888,7 @@ function registerTerminalActions() {
|
|
|
888
888
|
required: ["cwd"],
|
|
889
889
|
properties: {
|
|
890
890
|
cwd: {
|
|
891
|
-
description: ( localize(
|
|
891
|
+
description: ( localize(13825, "The directory to start the terminal at")),
|
|
892
892
|
type: "string"
|
|
893
893
|
}
|
|
894
894
|
}
|
|
@@ -919,7 +919,7 @@ function registerTerminalActions() {
|
|
|
919
919
|
required: ["name"],
|
|
920
920
|
properties: {
|
|
921
921
|
name: {
|
|
922
|
-
description: ( localize(
|
|
922
|
+
description: ( localize(13826, "The new name for the terminal")),
|
|
923
923
|
type: "string",
|
|
924
924
|
minLength: 1
|
|
925
925
|
}
|
|
@@ -933,7 +933,7 @@ function registerTerminalActions() {
|
|
|
933
933
|
const notificationService = accessor.get(INotificationService);
|
|
934
934
|
const name = args ? toOptionalString(args.name) : undefined;
|
|
935
935
|
if (!name) {
|
|
936
|
-
notificationService.warn(( localize(
|
|
936
|
+
notificationService.warn(( localize(13827, "No name argument provided")));
|
|
937
937
|
return;
|
|
938
938
|
}
|
|
939
939
|
activeInstance.rename(name);
|
|
@@ -941,7 +941,7 @@ function registerTerminalActions() {
|
|
|
941
941
|
});
|
|
942
942
|
registerActiveInstanceAction({
|
|
943
943
|
id: TerminalCommandId.Relaunch,
|
|
944
|
-
title: ( localize2(
|
|
944
|
+
title: ( localize2(13828, "Relaunch Active Terminal")),
|
|
945
945
|
run: activeInstance => activeInstance.relaunch()
|
|
946
946
|
});
|
|
947
947
|
registerTerminalAction({
|
|
@@ -1033,7 +1033,7 @@ function registerTerminalActions() {
|
|
|
1033
1033
|
});
|
|
1034
1034
|
registerTerminalAction({
|
|
1035
1035
|
id: TerminalCommandId.JoinActiveTab,
|
|
1036
|
-
title: ( localize2(
|
|
1036
|
+
title: ( localize2(13829, "Join Terminals")),
|
|
1037
1037
|
precondition: ( ContextKeyExpr.and(sharedWhenClause.terminalAvailable, ( TerminalContextKeys.tabsSingularSelection.toNegated()))),
|
|
1038
1038
|
run: async (c, accessor) => {
|
|
1039
1039
|
const instances = getSelectedViewInstances(accessor);
|
|
@@ -1044,7 +1044,7 @@ function registerTerminalActions() {
|
|
|
1044
1044
|
});
|
|
1045
1045
|
registerTerminalAction({
|
|
1046
1046
|
id: TerminalCommandId.Join,
|
|
1047
|
-
title: ( localize2(
|
|
1047
|
+
title: ( localize2(13830, "Join Terminals...")),
|
|
1048
1048
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1049
1049
|
run: async (c, accessor) => {
|
|
1050
1050
|
const themeService = accessor.get(IThemeService);
|
|
@@ -1052,7 +1052,7 @@ function registerTerminalActions() {
|
|
|
1052
1052
|
const quickInputService = accessor.get(IQuickInputService);
|
|
1053
1053
|
const picks = [];
|
|
1054
1054
|
if (c.groupService.instances.length <= 1) {
|
|
1055
|
-
notificationService.warn(( localize(
|
|
1055
|
+
notificationService.warn(( localize(13831, "Insufficient terminals for the join action")));
|
|
1056
1056
|
return;
|
|
1057
1057
|
}
|
|
1058
1058
|
const otherInstances = c.groupService.instances.filter(i => i.instanceId !== c.groupService.activeInstance?.instanceId);
|
|
@@ -1078,7 +1078,7 @@ function registerTerminalActions() {
|
|
|
1078
1078
|
}
|
|
1079
1079
|
}
|
|
1080
1080
|
if (picks.length === 0) {
|
|
1081
|
-
notificationService.warn(( localize(
|
|
1081
|
+
notificationService.warn(( localize(13832, "All terminals are joined already")));
|
|
1082
1082
|
return;
|
|
1083
1083
|
}
|
|
1084
1084
|
const result = await quickInputService.pick(picks, {});
|
|
@@ -1089,7 +1089,7 @@ function registerTerminalActions() {
|
|
|
1089
1089
|
});
|
|
1090
1090
|
registerActiveInstanceAction({
|
|
1091
1091
|
id: TerminalCommandId.SplitInActiveWorkspace,
|
|
1092
|
-
title: ( localize2(
|
|
1092
|
+
title: ( localize2(13833, "Split Terminal (In Active Workspace)")),
|
|
1093
1093
|
run: async (instance, c) => {
|
|
1094
1094
|
const newInstance = await c.service.createTerminal({
|
|
1095
1095
|
location: {
|
|
@@ -1103,7 +1103,7 @@ function registerTerminalActions() {
|
|
|
1103
1103
|
});
|
|
1104
1104
|
registerActiveXtermAction({
|
|
1105
1105
|
id: TerminalCommandId.SelectAll,
|
|
1106
|
-
title: ( localize2(
|
|
1106
|
+
title: ( localize2(13834, "Select All")),
|
|
1107
1107
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1108
1108
|
keybinding: [{
|
|
1109
1109
|
primary: 0,
|
|
@@ -1117,7 +1117,7 @@ function registerTerminalActions() {
|
|
|
1117
1117
|
});
|
|
1118
1118
|
registerTerminalAction({
|
|
1119
1119
|
id: TerminalCommandId.New,
|
|
1120
|
-
title: ( localize2(
|
|
1120
|
+
title: ( localize2(13835, "Create New Terminal")),
|
|
1121
1121
|
precondition: ( ContextKeyExpr.or(
|
|
1122
1122
|
TerminalContextKeys.processSupported,
|
|
1123
1123
|
TerminalContextKeys.webExtensionContributedProfile
|
|
@@ -1184,7 +1184,7 @@ function registerTerminalActions() {
|
|
|
1184
1184
|
}
|
|
1185
1185
|
registerTerminalAction({
|
|
1186
1186
|
id: TerminalCommandId.Kill,
|
|
1187
|
-
title: ( localize2(
|
|
1187
|
+
title: ( localize2(13836, "Kill the Active Terminal Instance")),
|
|
1188
1188
|
precondition: ( ContextKeyExpr.or(sharedWhenClause.terminalAvailable, TerminalContextKeys.isOpen)),
|
|
1189
1189
|
icon: killTerminalIcon,
|
|
1190
1190
|
run: async c => killInstance(c, c.groupService.activeInstance)
|
|
@@ -1198,7 +1198,7 @@ function registerTerminalActions() {
|
|
|
1198
1198
|
});
|
|
1199
1199
|
registerTerminalAction({
|
|
1200
1200
|
id: TerminalCommandId.KillAll,
|
|
1201
|
-
title: ( localize2(
|
|
1201
|
+
title: ( localize2(13837, "Kill All Terminals")),
|
|
1202
1202
|
precondition: ( ContextKeyExpr.or(sharedWhenClause.terminalAvailable, TerminalContextKeys.isOpen)),
|
|
1203
1203
|
icon: Codicon.trash,
|
|
1204
1204
|
run: async c => {
|
|
@@ -1211,7 +1211,7 @@ function registerTerminalActions() {
|
|
|
1211
1211
|
});
|
|
1212
1212
|
registerTerminalAction({
|
|
1213
1213
|
id: TerminalCommandId.KillEditor,
|
|
1214
|
-
title: ( localize2(
|
|
1214
|
+
title: ( localize2(13838, "Kill the Active Terminal in Editor Area")),
|
|
1215
1215
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1216
1216
|
keybinding: {
|
|
1217
1217
|
primary: KeyMod.CtrlCmd | KeyCode.KeyW,
|
|
@@ -1260,7 +1260,7 @@ function registerTerminalActions() {
|
|
|
1260
1260
|
});
|
|
1261
1261
|
registerActiveInstanceAction({
|
|
1262
1262
|
id: TerminalCommandId.Clear,
|
|
1263
|
-
title: ( localize2(
|
|
1263
|
+
title: ( localize2(13839, "Clear")),
|
|
1264
1264
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1265
1265
|
keybinding: [{
|
|
1266
1266
|
primary: 0,
|
|
@@ -1274,12 +1274,12 @@ function registerTerminalActions() {
|
|
|
1274
1274
|
});
|
|
1275
1275
|
registerTerminalAction({
|
|
1276
1276
|
id: TerminalCommandId.SelectDefaultProfile,
|
|
1277
|
-
title: ( localize2(
|
|
1277
|
+
title: ( localize2(13840, "Select Default Profile")),
|
|
1278
1278
|
run: c => c.service.showProfileQuickPick("setDefault")
|
|
1279
1279
|
});
|
|
1280
1280
|
registerTerminalAction({
|
|
1281
1281
|
id: TerminalCommandId.ConfigureTerminalSettings,
|
|
1282
|
-
title: ( localize2(
|
|
1282
|
+
title: ( localize2(13841, "Configure Terminal Settings")),
|
|
1283
1283
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1284
1284
|
run: (c, accessor) => accessor.get(IPreferencesService).openSettings({
|
|
1285
1285
|
jsonEditor: false,
|
|
@@ -1288,7 +1288,7 @@ function registerTerminalActions() {
|
|
|
1288
1288
|
});
|
|
1289
1289
|
registerActiveInstanceAction({
|
|
1290
1290
|
id: TerminalCommandId.SetDimensions,
|
|
1291
|
-
title: ( localize2(
|
|
1291
|
+
title: ( localize2(13842, "Set Fixed Dimensions")),
|
|
1292
1292
|
precondition: sharedWhenClause.terminalAvailable_and_opened,
|
|
1293
1293
|
run: activeInstance => activeInstance.setFixedDimensions()
|
|
1294
1294
|
});
|
|
@@ -1305,7 +1305,7 @@ function registerTerminalActions() {
|
|
|
1305
1305
|
});
|
|
1306
1306
|
registerTerminalAction({
|
|
1307
1307
|
id: TerminalCommandId.SwitchTerminal,
|
|
1308
|
-
title: ( localize2(
|
|
1308
|
+
title: ( localize2(13843, "Switch Terminal")),
|
|
1309
1309
|
precondition: sharedWhenClause.terminalAvailable,
|
|
1310
1310
|
run: async (c, accessor, args) => {
|
|
1311
1311
|
const item = toOptionalString(args);
|
|
@@ -1388,7 +1388,7 @@ function getSelectedViewInstances(accessor, args, args2) {
|
|
|
1388
1388
|
function validateTerminalName(name) {
|
|
1389
1389
|
if (!name || name.trim().length === 0) {
|
|
1390
1390
|
return {
|
|
1391
|
-
content: ( localize(
|
|
1391
|
+
content: ( localize(13844, "Providing no name will reset it to the default value")),
|
|
1392
1392
|
severity: Severity.Info
|
|
1393
1393
|
};
|
|
1394
1394
|
}
|
|
@@ -1414,7 +1414,7 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1414
1414
|
constructor() {
|
|
1415
1415
|
super({
|
|
1416
1416
|
id: TerminalCommandId.NewWithProfile,
|
|
1417
|
-
title: ( localize2(
|
|
1417
|
+
title: ( localize2(13845, "Create New Terminal (With Profile)")),
|
|
1418
1418
|
f1: true,
|
|
1419
1419
|
precondition: ( ContextKeyExpr.or(
|
|
1420
1420
|
TerminalContextKeys.processSupported,
|
|
@@ -1429,16 +1429,16 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1429
1429
|
required: ["profileName"],
|
|
1430
1430
|
properties: {
|
|
1431
1431
|
profileName: {
|
|
1432
|
-
description: ( localize(
|
|
1432
|
+
description: ( localize(13846, "The name of the profile to create")),
|
|
1433
1433
|
type: "string",
|
|
1434
1434
|
enum: profileEnum.values,
|
|
1435
1435
|
markdownEnumDescriptions: profileEnum.markdownDescriptions
|
|
1436
1436
|
},
|
|
1437
1437
|
location: {
|
|
1438
|
-
description: ( localize(
|
|
1438
|
+
description: ( localize(13847, "Where to create the terminal")),
|
|
1439
1439
|
type: "string",
|
|
1440
1440
|
enum: ["view", "editor"],
|
|
1441
|
-
enumDescriptions: [( localize(
|
|
1441
|
+
enumDescriptions: [( localize(13848, "Create the terminal in the terminal view")), ( localize(13849, "Create the terminal in the editor"))]
|
|
1442
1442
|
}
|
|
1443
1443
|
}
|
|
1444
1444
|
}
|
|
@@ -1500,7 +1500,7 @@ function refreshTerminalActions(detectedProfiles) {
|
|
|
1500
1500
|
const folders = workspaceContextService.getWorkspace().folders;
|
|
1501
1501
|
if (folders.length > 1) {
|
|
1502
1502
|
const options = {
|
|
1503
|
-
placeHolder: ( localize(
|
|
1503
|
+
placeHolder: ( localize(13794, "Select current working directory for new terminal"))
|
|
1504
1504
|
};
|
|
1505
1505
|
const workspace = await commandService.executeCommand(PICK_WORKSPACE_FOLDER_COMMAND_ID, [options]);
|
|
1506
1506
|
if (!workspace) {
|
|
@@ -1546,7 +1546,7 @@ async function pickTerminalCwd(accessor, cancel) {
|
|
|
1546
1546
|
}
|
|
1547
1547
|
const folderPicks = ( shrinkedPairs.map(pair => {
|
|
1548
1548
|
const label = pair.folder.name;
|
|
1549
|
-
const description = pair.isOverridden ? ( localize(
|
|
1549
|
+
const description = pair.isOverridden ? ( localize(13850, "(Overridden) {0}", labelService.getUriLabel(pair.cwd, {
|
|
1550
1550
|
relative: !pair.isAbsolute
|
|
1551
1551
|
}))) : labelService.getUriLabel(dirname(pair.cwd), {
|
|
1552
1552
|
relative: true
|
|
@@ -1559,7 +1559,7 @@ async function pickTerminalCwd(accessor, cancel) {
|
|
|
1559
1559
|
};
|
|
1560
1560
|
}));
|
|
1561
1561
|
const options = {
|
|
1562
|
-
placeHolder: ( localize(
|
|
1562
|
+
placeHolder: ( localize(13794, "Select current working directory for new terminal")),
|
|
1563
1563
|
matchOnDescription: true,
|
|
1564
1564
|
canPickMany: false
|
|
1565
1565
|
};
|
|
@@ -1626,7 +1626,7 @@ async function renameWithQuickPick(c, accessor, resource) {
|
|
|
1626
1626
|
if (instance) {
|
|
1627
1627
|
const title = await accessor.get(IQuickInputService).input({
|
|
1628
1628
|
value: instance.title,
|
|
1629
|
-
prompt: ( localize(
|
|
1629
|
+
prompt: ( localize(13851, "Enter terminal name"))
|
|
1630
1630
|
});
|
|
1631
1631
|
if (title) {
|
|
1632
1632
|
instance.rename(title);
|
|
@@ -774,13 +774,13 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
774
774
|
}
|
|
775
775
|
xtermConstructor = Promises.withAsyncBody(async resolve => {
|
|
776
776
|
const Terminal = (await import('@xterm/xterm')).Terminal;
|
|
777
|
-
Terminal.strings.promptLabel = ( localize(
|
|
777
|
+
Terminal.strings.promptLabel = ( localize(13869, "Terminal input"));
|
|
778
778
|
Terminal.strings.tooMuchOutput = keybinding ? ( localize(
|
|
779
|
-
|
|
779
|
+
13870,
|
|
780
780
|
"Use the accessible buffer {0} to manually review output",
|
|
781
781
|
keybinding.getLabel()
|
|
782
782
|
)) : ( localize(
|
|
783
|
-
|
|
783
|
+
13871,
|
|
784
784
|
"Use the Terminal: Focus Accessible Buffer command to manually review output"
|
|
785
785
|
));
|
|
786
786
|
resolve(Terminal);
|
|
@@ -842,7 +842,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
842
842
|
id: TerminalStatus.Bell,
|
|
843
843
|
severity: Severity.Warning,
|
|
844
844
|
icon: Codicon.bell,
|
|
845
|
-
tooltip: ( localize(
|
|
845
|
+
tooltip: ( localize(13872, "Bell"))
|
|
846
846
|
}, this._terminalConfigurationService.config.bellDuration);
|
|
847
847
|
}
|
|
848
848
|
this._accessibilitySignalService.playSignal(AccessibilitySignal.terminalBell);
|
|
@@ -920,7 +920,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
920
920
|
if (!instance.xterm) {
|
|
921
921
|
return;
|
|
922
922
|
}
|
|
923
|
-
const cmdDetectionType = (instance.capabilities.get(TerminalCapability.CommandDetection)?.hasRichCommandDetection ? ( localize(
|
|
923
|
+
const cmdDetectionType = (instance.capabilities.get(TerminalCapability.CommandDetection)?.hasRichCommandDetection ? ( localize(13873, "Rich")) : ( instance.capabilities.has(TerminalCapability.CommandDetection)) ? ( localize(13874, "Basic")) : instance.usedShellIntegrationInjection ? ( localize(13875, "Injection failed to activate")) : ( localize(13876, "No")));
|
|
924
924
|
const detailedAdditions = [];
|
|
925
925
|
if (instance.shellType) {
|
|
926
926
|
detailedAdditions.push(`Shell type: \`${instance.shellType}\``);
|
|
@@ -945,8 +945,8 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
945
945
|
instance.statusList.add({
|
|
946
946
|
id: TerminalStatus.ShellIntegrationInfo,
|
|
947
947
|
severity: Severity.Info,
|
|
948
|
-
tooltip: `${( localize(
|
|
949
|
-
detailedTooltip: `${( localize(
|
|
948
|
+
tooltip: `${( localize(13877, "Shell integration"))}: ${cmdDetectionType}`,
|
|
949
|
+
detailedTooltip: `${( localize(13877, "Shell integration"))}: ${cmdDetectionType}${detailedAdditionsString}`
|
|
950
950
|
});
|
|
951
951
|
}
|
|
952
952
|
async runCommand(
|
|
@@ -1415,7 +1415,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1415
1415
|
id: TerminalStatus.Disconnected,
|
|
1416
1416
|
severity: Severity.Error,
|
|
1417
1417
|
icon: Codicon.debugDisconnect,
|
|
1418
|
-
tooltip: ( localize(
|
|
1418
|
+
tooltip: ( localize(13878, "Lost connection to process"))
|
|
1419
1419
|
});
|
|
1420
1420
|
}));
|
|
1421
1421
|
this._register(processManager.onPtyReconnect(() => {
|
|
@@ -1433,12 +1433,12 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1433
1433
|
const trusted = await this._trust();
|
|
1434
1434
|
if (!trusted && !this.remoteAuthority && !this._workbenchEnvironmentService.remoteAuthority) {
|
|
1435
1435
|
this._onProcessExit({
|
|
1436
|
-
message: ( localize(
|
|
1436
|
+
message: ( localize(13879, "Cannot launch a terminal process in an untrusted workspace"))
|
|
1437
1437
|
});
|
|
1438
1438
|
} else if (this._workspaceContextService.getWorkspace().folders.length === 0 && this._cwd && this._userHome && normalizeDriveLetter(this._cwd) !== normalizeDriveLetter(this._userHome)) {
|
|
1439
1439
|
this._onProcessExit({
|
|
1440
1440
|
message: ( localize(
|
|
1441
|
-
|
|
1441
|
+
13880,
|
|
1442
1442
|
"Cannot launch a terminal process in an empty workspace with cwd {0} different from userHome {1}",
|
|
1443
1443
|
this._cwd,
|
|
1444
1444
|
this._userHome
|
|
@@ -1608,10 +1608,10 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1608
1608
|
id: TerminalStatus.ShellIntegrationAttentionNeeded,
|
|
1609
1609
|
severity: Severity.Warning,
|
|
1610
1610
|
icon: Codicon.warning,
|
|
1611
|
-
tooltip: `${exitMessage} ` + ( localize(
|
|
1611
|
+
tooltip: `${exitMessage} ` + ( localize(13881, "Disabling shell integration in user settings might help.")),
|
|
1612
1612
|
hoverActions: [{
|
|
1613
1613
|
commandId: TerminalCommandId.ShellIntegrationLearnMore,
|
|
1614
|
-
label: ( localize(
|
|
1614
|
+
label: ( localize(13882, "Learn more about shell integration")),
|
|
1615
1615
|
run: () => {
|
|
1616
1616
|
this._openerService.open(
|
|
1617
1617
|
"https://code.visualstudio.com/docs/editor/integrated-terminal#_shell-integration"
|
|
@@ -1619,7 +1619,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1619
1619
|
}
|
|
1620
1620
|
}, {
|
|
1621
1621
|
commandId: "workbench.action.openSettings",
|
|
1622
|
-
label: ( localize(
|
|
1622
|
+
label: ( localize(13883, "Open user settings")),
|
|
1623
1623
|
run: () => {
|
|
1624
1624
|
this._commandService.executeCommand(
|
|
1625
1625
|
"workbench.action.openSettings",
|
|
@@ -1753,7 +1753,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1753
1753
|
return true;
|
|
1754
1754
|
}
|
|
1755
1755
|
const trustRequest = await this._workspaceTrustRequestService.requestWorkspaceTrust({
|
|
1756
|
-
message: ( localize(
|
|
1756
|
+
message: ( localize(13884, "Creating a terminal process requires executing code"))
|
|
1757
1757
|
});
|
|
1758
1758
|
return trustRequest === true;
|
|
1759
1759
|
}
|
|
@@ -1881,21 +1881,21 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1881
1881
|
const labelParts = [];
|
|
1882
1882
|
if (xterm && xterm.textarea) {
|
|
1883
1883
|
if (title && title.length > 0) {
|
|
1884
|
-
labelParts.push(( localize(
|
|
1884
|
+
labelParts.push(( localize(13885, "Terminal {0}, {1}", terminalId, title)));
|
|
1885
1885
|
} else {
|
|
1886
|
-
labelParts.push(( localize(
|
|
1886
|
+
labelParts.push(( localize(13886, "Terminal {0}", terminalId)));
|
|
1887
1887
|
}
|
|
1888
1888
|
const screenReaderOptimized = this._accessibilityService.isScreenReaderOptimized();
|
|
1889
1889
|
if (!screenReaderOptimized) {
|
|
1890
1890
|
labelParts.push(( localize(
|
|
1891
|
-
|
|
1891
|
+
13887,
|
|
1892
1892
|
"Run the command: Toggle Screen Reader Accessibility Mode for an optimized screen reader experience"
|
|
1893
1893
|
)));
|
|
1894
1894
|
}
|
|
1895
1895
|
const accessibilityHelpKeybinding = this._keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
|
|
1896
1896
|
if (this._configurationService.getValue(AccessibilityVerbositySettingId.Terminal) && accessibilityHelpKeybinding) {
|
|
1897
1897
|
labelParts.push(( localize(
|
|
1898
|
-
|
|
1898
|
+
13888,
|
|
1899
1899
|
"Use {0} for terminal accessibility help",
|
|
1900
1900
|
accessibilityHelpKeybinding
|
|
1901
1901
|
)));
|
|
@@ -1949,7 +1949,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1949
1949
|
}
|
|
1950
1950
|
async setFixedDimensions() {
|
|
1951
1951
|
const cols = await this._quickInputService.input({
|
|
1952
|
-
title: ( localize(
|
|
1952
|
+
title: ( localize(13889, "Set Fixed Dimensions: Column")),
|
|
1953
1953
|
placeHolder: "Enter a number of columns or leave empty for automatic width",
|
|
1954
1954
|
validateInput: async text => text.length > 0 && !text.match(/^\d+$/) ? {
|
|
1955
1955
|
content: "Enter a number or leave empty size automatically",
|
|
@@ -1963,7 +1963,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
1963
1963
|
this._labelComputer?.refreshLabel(this);
|
|
1964
1964
|
this._terminalHasFixedWidth.set(!!this._fixedCols);
|
|
1965
1965
|
const rows = await this._quickInputService.input({
|
|
1966
|
-
title: ( localize(
|
|
1966
|
+
title: ( localize(13890, "Set Fixed Dimensions: Row")),
|
|
1967
1967
|
placeHolder: "Enter a number of rows or leave empty for automatic height",
|
|
1968
1968
|
validateInput: async text => text.length > 0 && !text.match(/^\d+$/) ? {
|
|
1969
1969
|
content: "Enter a number or leave empty size automatically",
|
|
@@ -2073,7 +2073,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
2073
2073
|
_onEnvironmentVariableInfoChanged(info) {
|
|
2074
2074
|
if (info.requiresAction) {
|
|
2075
2075
|
this.xterm?.raw.textarea?.setAttribute("aria-label", ( localize(
|
|
2076
|
-
|
|
2076
|
+
13891,
|
|
2077
2077
|
"Terminal {0} environment is stale, run the 'Show Environment Information' command for more information",
|
|
2078
2078
|
this._instanceId
|
|
2079
2079
|
)));
|
|
@@ -2229,7 +2229,7 @@ let TerminalInstance = class TerminalInstance extends Disposable {
|
|
|
2229
2229
|
disposables.push(quickPick);
|
|
2230
2230
|
quickPick.items = items;
|
|
2231
2231
|
quickPick.matchOnDescription = true;
|
|
2232
|
-
quickPick.placeholder = ( localize(
|
|
2232
|
+
quickPick.placeholder = ( localize(13892, "Select a color for the terminal"));
|
|
2233
2233
|
quickPick.show();
|
|
2234
2234
|
const result = await ( new Promise(r => {
|
|
2235
2235
|
disposables.push(quickPick.onDidHide(() => r(undefined)));
|
|
@@ -2566,24 +2566,24 @@ function parseExitResult(exitCodeOrError, shellLaunchConfig, processState, initi
|
|
|
2566
2566
|
if (processState === ProcessState.KilledDuringLaunch) {
|
|
2567
2567
|
if (commandLine) {
|
|
2568
2568
|
message = ( localize(
|
|
2569
|
-
|
|
2569
|
+
13893,
|
|
2570
2570
|
"The terminal process \"{0}\" failed to launch (exit code: {1}).",
|
|
2571
2571
|
commandLine,
|
|
2572
2572
|
code
|
|
2573
2573
|
));
|
|
2574
2574
|
} else {
|
|
2575
|
-
message = ( localize(
|
|
2575
|
+
message = ( localize(13894, "The terminal process failed to launch (exit code: {0}).", code));
|
|
2576
2576
|
}
|
|
2577
2577
|
} else {
|
|
2578
2578
|
if (commandLine) {
|
|
2579
2579
|
message = ( localize(
|
|
2580
|
-
|
|
2580
|
+
13895,
|
|
2581
2581
|
"The terminal process \"{0}\" terminated with exit code: {1}.",
|
|
2582
2582
|
commandLine,
|
|
2583
2583
|
code
|
|
2584
2584
|
));
|
|
2585
2585
|
} else {
|
|
2586
|
-
message = ( localize(
|
|
2586
|
+
message = ( localize(13896, "The terminal process terminated with exit code: {0}.", code));
|
|
2587
2587
|
}
|
|
2588
2588
|
}
|
|
2589
2589
|
break;
|
|
@@ -2609,7 +2609,7 @@ function parseExitResult(exitCodeOrError, shellLaunchConfig, processState, initi
|
|
|
2609
2609
|
break;
|
|
2610
2610
|
}
|
|
2611
2611
|
}
|
|
2612
|
-
message = ( localize(
|
|
2612
|
+
message = ( localize(13897, "The terminal process failed to launch: {0}.", innerMessage));
|
|
2613
2613
|
break;
|
|
2614
2614
|
}
|
|
2615
2615
|
}
|
|
@@ -202,7 +202,7 @@ let TerminalProcessManager = class TerminalProcessManager extends Disposable {
|
|
|
202
202
|
} catch (e) {
|
|
203
203
|
this._notificationService.notify({
|
|
204
204
|
message: ( localize(
|
|
205
|
-
|
|
205
|
+
13928,
|
|
206
206
|
"Could not kill process listening on port {0}, command exited with error {1}",
|
|
207
207
|
port,
|
|
208
208
|
e
|
|
@@ -538,7 +538,7 @@ let TerminalProcessManager = class TerminalProcessManager extends Disposable {
|
|
|
538
538
|
this._onExit(-1);
|
|
539
539
|
} else {
|
|
540
540
|
const message = ( localize(
|
|
541
|
-
|
|
541
|
+
13929,
|
|
542
542
|
"Restarting the terminal because the connection to the shell process was lost..."
|
|
543
543
|
));
|
|
544
544
|
let postRestartMessage = "";
|
|
@@ -435,7 +435,7 @@ let TerminalTabsRenderer = class TerminalTabsRenderer {
|
|
|
435
435
|
};
|
|
436
436
|
}
|
|
437
437
|
},
|
|
438
|
-
ariaLabel: ( localize(
|
|
438
|
+
ariaLabel: ( localize(13956, "Type terminal name. Press Enter to confirm or Escape to cancel.")),
|
|
439
439
|
inputBoxStyles: defaultInputBoxStyles
|
|
440
440
|
}));
|
|
441
441
|
inputBox.element.style.height = "22px";
|
|
@@ -566,7 +566,7 @@ let TerminalTabsAccessibilityProvider = class TerminalTabsAccessibilityProvider
|
|
|
566
566
|
this._terminalGroupService = _terminalGroupService;
|
|
567
567
|
}
|
|
568
568
|
getWidgetAriaLabel() {
|
|
569
|
-
return localize(
|
|
569
|
+
return localize(13957, "Terminal tabs");
|
|
570
570
|
}
|
|
571
571
|
getAriaLabel(instance) {
|
|
572
572
|
let ariaLabel = "";
|
|
@@ -574,7 +574,7 @@ let TerminalTabsAccessibilityProvider = class TerminalTabsAccessibilityProvider
|
|
|
574
574
|
if (tab && tab.terminalInstances?.length > 1) {
|
|
575
575
|
const terminalIndex = tab.terminalInstances.indexOf(instance);
|
|
576
576
|
ariaLabel = ( localize(
|
|
577
|
-
|
|
577
|
+
13958,
|
|
578
578
|
"Terminal {0} {1}, split {2} of {3}",
|
|
579
579
|
instance.instanceId,
|
|
580
580
|
instance.title,
|
|
@@ -582,7 +582,7 @@ let TerminalTabsAccessibilityProvider = class TerminalTabsAccessibilityProvider
|
|
|
582
582
|
tab.terminalInstances.length
|
|
583
583
|
));
|
|
584
584
|
} else {
|
|
585
|
-
ariaLabel = ( localize(
|
|
585
|
+
ariaLabel = ( localize(13959, "Terminal {0} {1}", instance.instanceId, instance.title));
|
|
586
586
|
}
|
|
587
587
|
return ariaLabel;
|
|
588
588
|
}
|
|
@@ -770,7 +770,7 @@ let TabDecorationsProvider = class TabDecorationsProvider extends Disposable {
|
|
|
770
770
|
constructor(_terminalService) {
|
|
771
771
|
super();
|
|
772
772
|
this._terminalService = _terminalService;
|
|
773
|
-
this.label = ( localize(
|
|
773
|
+
this.label = ( localize(13960, "Terminal"));
|
|
774
774
|
this._onDidChange = this._register(( new Emitter()));
|
|
775
775
|
this.onDidChange = this._onDidChange.event;
|
|
776
776
|
this._register(
|
|
@@ -29,7 +29,7 @@ function getInstanceHoverInfo(instance, storageService) {
|
|
|
29
29
|
}
|
|
30
30
|
actions.push({
|
|
31
31
|
commandId: "toggleDetailedInfo",
|
|
32
|
-
label: showDetailed ? ( localize(
|
|
32
|
+
label: showDetailed ? ( localize(13961, "Hide Details")) : ( localize(13962, "Show Details")),
|
|
33
33
|
run() {
|
|
34
34
|
storageService.store(
|
|
35
35
|
TerminalStorageKeys.TabsShowDetailed,
|
|
@@ -51,7 +51,7 @@ function getInstanceHoverInfo(instance, storageService) {
|
|
|
51
51
|
function getShellProcessTooltip(instance, showDetailed) {
|
|
52
52
|
const lines = [];
|
|
53
53
|
if (instance.processId && instance.processId > 0) {
|
|
54
|
-
lines.push(( localize(
|
|
54
|
+
lines.push(( localize(13963, "Process ID ({0}): {1}", "PID", instance.processId)) + "\n");
|
|
55
55
|
}
|
|
56
56
|
if (instance.shellLaunchConfig.executable) {
|
|
57
57
|
let commandLine = "";
|
|
@@ -67,7 +67,7 @@ function getShellProcessTooltip(instance, showDetailed) {
|
|
|
67
67
|
if (args) {
|
|
68
68
|
commandLine += ` ${args}`;
|
|
69
69
|
}
|
|
70
|
-
lines.push(( localize(
|
|
70
|
+
lines.push(( localize(13964, "Command line: {0}", commandLine)));
|
|
71
71
|
}
|
|
72
72
|
return lines.length ? `\n\n---\n\n${lines.join("\n")}` : "";
|
|
73
73
|
}
|
|
@@ -3,7 +3,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
3
3
|
import { registerColor } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
4
4
|
|
|
5
5
|
const terminalStickyScrollBackground = registerColor("terminalStickyScroll.background", null, ( localize(
|
|
6
|
-
|
|
6
|
+
14679,
|
|
7
7
|
"The background color of the sticky scroll overlay in the terminal."
|
|
8
8
|
)));
|
|
9
9
|
const terminalStickyScrollHoverBackground = registerColor("terminalStickyScrollHover.background", {
|
|
@@ -12,7 +12,7 @@ const terminalStickyScrollHoverBackground = registerColor("terminalStickyScrollH
|
|
|
12
12
|
hcDark: "#E48B39",
|
|
13
13
|
hcLight: "#0f4a85"
|
|
14
14
|
}, ( localize(
|
|
15
|
-
|
|
15
|
+
14680,
|
|
16
16
|
"The background color of the sticky scroll overlay in the terminal when hovered."
|
|
17
17
|
)));
|
|
18
18
|
registerColor("terminalStickyScroll.border", {
|
|
@@ -20,6 +20,6 @@ registerColor("terminalStickyScroll.border", {
|
|
|
20
20
|
light: null,
|
|
21
21
|
hcDark: "#6fc3df",
|
|
22
22
|
hcLight: "#0f4a85"
|
|
23
|
-
}, ( localize(
|
|
23
|
+
}, ( localize(14681, "The border of the sticky scroll overlay in the terminal.")));
|
|
24
24
|
|
|
25
25
|
export { terminalStickyScrollBackground, terminalStickyScrollHoverBackground };
|
|
@@ -304,19 +304,19 @@ let TerminalStickyScrollOverlay = class TerminalStickyScrollOverlay extends Disp
|
|
|
304
304
|
this._element = $(".terminal-sticky-scroll", undefined, hoverOverlay);
|
|
305
305
|
this._xterm.raw.element.parentElement.append(this._element);
|
|
306
306
|
this._register(toDisposable(() => this._element?.remove()));
|
|
307
|
-
let hoverTitle = ( localize(
|
|
307
|
+
let hoverTitle = ( localize(14682, "Navigate to Command"));
|
|
308
308
|
const scrollToPreviousCommandKeybinding = this._keybindingService.lookupKeybinding(TerminalCommandId.ScrollToPreviousCommand);
|
|
309
309
|
if (scrollToPreviousCommandKeybinding) {
|
|
310
310
|
const label = scrollToPreviousCommandKeybinding.getLabel();
|
|
311
311
|
if (label) {
|
|
312
|
-
hoverTitle += "\n" + ( localize(
|
|
312
|
+
hoverTitle += "\n" + ( localize(14683, "{0} ({1})", terminalStrings.scrollToPreviousCommand.value, label));
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
const scrollToNextCommandKeybinding = this._keybindingService.lookupKeybinding(TerminalCommandId.ScrollToNextCommand);
|
|
316
316
|
if (scrollToNextCommandKeybinding) {
|
|
317
317
|
const label = scrollToNextCommandKeybinding.getLabel();
|
|
318
318
|
if (label) {
|
|
319
|
-
hoverTitle += "\n" + ( localize(
|
|
319
|
+
hoverTitle += "\n" + ( localize(14683, "{0} ({1})", terminalStrings.scrollToNextCommand.value, label));
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
hoverOverlay.title = hoverTitle;
|