@opensumi/ide-terminal-next 2.14.4 → 2.15.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 (119) hide show
  1. package/lib/browser/component/terminal.view.d.ts.map +1 -1
  2. package/lib/browser/component/terminal.view.js +7 -1
  3. package/lib/browser/component/terminal.view.js.map +1 -1
  4. package/lib/browser/component/terminal.widget.d.ts.map +1 -1
  5. package/lib/browser/component/terminal.widget.js +12 -3
  6. package/lib/browser/component/terminal.widget.js.map +1 -1
  7. package/lib/browser/contribution/index.d.ts +1 -0
  8. package/lib/browser/contribution/index.d.ts.map +1 -1
  9. package/lib/browser/contribution/index.js +1 -0
  10. package/lib/browser/contribution/index.js.map +1 -1
  11. package/lib/browser/contribution/terminal.preference.d.ts +6 -0
  12. package/lib/browser/contribution/terminal.preference.d.ts.map +1 -0
  13. package/lib/browser/contribution/terminal.preference.js +17 -0
  14. package/lib/browser/contribution/terminal.preference.js.map +1 -0
  15. package/lib/browser/index.d.ts.map +1 -1
  16. package/lib/browser/index.js +21 -1
  17. package/lib/browser/index.js.map +1 -1
  18. package/lib/browser/terminal.api.d.ts.map +1 -1
  19. package/lib/browser/terminal.api.js +11 -10
  20. package/lib/browser/terminal.api.js.map +1 -1
  21. package/lib/browser/terminal.client.d.ts +33 -16
  22. package/lib/browser/terminal.client.d.ts.map +1 -1
  23. package/lib/browser/terminal.client.js +248 -113
  24. package/lib/browser/terminal.client.js.map +1 -1
  25. package/lib/browser/terminal.contribution.d.ts +7 -0
  26. package/lib/browser/terminal.contribution.d.ts.map +1 -0
  27. package/lib/browser/terminal.contribution.js +32 -0
  28. package/lib/browser/terminal.contribution.js.map +1 -0
  29. package/lib/browser/terminal.controller.d.ts +14 -3
  30. package/lib/browser/terminal.controller.d.ts.map +1 -1
  31. package/lib/browser/terminal.controller.js +44 -9
  32. package/lib/browser/terminal.controller.js.map +1 -1
  33. package/lib/browser/terminal.internal.service.d.ts +6 -2
  34. package/lib/browser/terminal.internal.service.d.ts.map +1 -1
  35. package/lib/browser/terminal.internal.service.js +27 -0
  36. package/lib/browser/terminal.internal.service.js.map +1 -1
  37. package/lib/browser/terminal.profile.d.ts +28 -0
  38. package/lib/browser/terminal.profile.d.ts.map +1 -0
  39. package/lib/browser/terminal.profile.internal.d.ts +16 -0
  40. package/lib/browser/terminal.profile.internal.d.ts.map +1 -0
  41. package/lib/browser/terminal.profile.internal.js +106 -0
  42. package/lib/browser/terminal.profile.internal.js.map +1 -0
  43. package/lib/browser/terminal.profile.js +146 -0
  44. package/lib/browser/terminal.profile.js.map +1 -0
  45. package/lib/browser/terminal.service.d.ts +7 -4
  46. package/lib/browser/terminal.service.d.ts.map +1 -1
  47. package/lib/browser/terminal.service.js +35 -19
  48. package/lib/browser/terminal.service.js.map +1 -1
  49. package/lib/browser/xterm.d.ts +24 -0
  50. package/lib/browser/xterm.d.ts.map +1 -0
  51. package/lib/browser/xterm.js +55 -0
  52. package/lib/browser/xterm.js.map +1 -0
  53. package/lib/common/client.d.ts +4 -2
  54. package/lib/common/client.d.ts.map +1 -1
  55. package/lib/common/client.js +2 -1
  56. package/lib/common/client.js.map +1 -1
  57. package/lib/common/controller.d.ts +17 -1
  58. package/lib/common/controller.d.ts.map +1 -1
  59. package/lib/common/controller.js.map +1 -1
  60. package/lib/common/error.d.ts +8 -0
  61. package/lib/common/error.d.ts.map +1 -1
  62. package/lib/common/error.js +5 -1
  63. package/lib/common/error.js.map +1 -1
  64. package/lib/common/extension.d.ts +28 -2
  65. package/lib/common/extension.d.ts.map +1 -1
  66. package/lib/common/extension.js +6 -1
  67. package/lib/common/extension.js.map +1 -1
  68. package/lib/common/index.d.ts +2 -0
  69. package/lib/common/index.d.ts.map +1 -1
  70. package/lib/common/index.js +2 -0
  71. package/lib/common/index.js.map +1 -1
  72. package/lib/common/preference.d.ts +94 -0
  73. package/lib/common/preference.d.ts.map +1 -1
  74. package/lib/common/preference.js +140 -1
  75. package/lib/common/preference.js.map +1 -1
  76. package/lib/common/process.d.ts +8 -0
  77. package/lib/common/process.d.ts.map +1 -0
  78. package/lib/common/process.js +3 -0
  79. package/lib/common/process.js.map +1 -0
  80. package/lib/common/profile.d.ts +101 -0
  81. package/lib/common/profile.d.ts.map +1 -0
  82. package/lib/common/profile.js +28 -0
  83. package/lib/common/profile.js.map +1 -0
  84. package/lib/common/pty.d.ts +142 -24
  85. package/lib/common/pty.d.ts.map +1 -1
  86. package/lib/common/pty.js +2 -2
  87. package/lib/common/pty.js.map +1 -1
  88. package/lib/common/service.d.ts +11 -6
  89. package/lib/common/service.d.ts.map +1 -1
  90. package/lib/common/service.js.map +1 -1
  91. package/lib/node/index.d.ts.map +1 -1
  92. package/lib/node/index.js +6 -1
  93. package/lib/node/index.js.map +1 -1
  94. package/lib/node/pty.d.ts +29 -15
  95. package/lib/node/pty.d.ts.map +1 -1
  96. package/lib/node/pty.js +117 -41
  97. package/lib/node/pty.js.map +1 -1
  98. package/lib/node/shell.d.ts +11 -1
  99. package/lib/node/shell.d.ts.map +1 -1
  100. package/lib/node/shell.js +89 -9
  101. package/lib/node/shell.js.map +1 -1
  102. package/lib/node/{terminal-process.service.d.ts → terminal.process.service.d.ts} +1 -1
  103. package/lib/node/terminal.process.service.d.ts.map +1 -0
  104. package/lib/node/{terminal-process.service.js → terminal.process.service.js} +1 -1
  105. package/lib/node/{terminal-process.service.js.map → terminal.process.service.js.map} +1 -1
  106. package/lib/node/terminal.profile.service.d.ts +19 -0
  107. package/lib/node/terminal.profile.service.d.ts.map +1 -0
  108. package/lib/node/terminal.profile.service.js +229 -0
  109. package/lib/node/terminal.profile.service.js.map +1 -0
  110. package/lib/node/terminal.service.client.d.ts +8 -1
  111. package/lib/node/terminal.service.client.d.ts.map +1 -1
  112. package/lib/node/terminal.service.client.js +40 -13
  113. package/lib/node/terminal.service.client.js.map +1 -1
  114. package/lib/node/terminal.service.d.ts +7 -7
  115. package/lib/node/terminal.service.d.ts.map +1 -1
  116. package/lib/node/terminal.service.js +41 -23
  117. package/lib/node/terminal.service.js.map +1 -1
  118. package/package.json +15 -15
  119. package/lib/node/terminal-process.service.d.ts.map +0 -1
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
  var TerminalClient_1;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TerminalClientFactory = exports.TerminalClient = void 0;
4
+ exports.createTerminalClientFactory2 = exports.createTerminalClientFactory = exports.TerminalClientFactory = exports.TerminalClient = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const mobx_1 = require("mobx");
7
- const xterm_1 = require("xterm");
8
- const xterm_addon_fit_1 = require("xterm-addon-fit");
9
- const xterm_addon_search_1 = require("xterm-addon-search");
10
7
  const di_1 = require("@opensumi/di");
11
8
  const ide_core_common_1 = require("@opensumi/ide-core-common");
12
9
  const platform_1 = require("@opensumi/ide-core-common/lib/platform");
@@ -22,10 +19,11 @@ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
22
19
  const link_manager_1 = require("./links/link-manager");
23
20
  const environmentVariable_1 = require("../common/environmentVariable");
24
21
  const ide_overlay_1 = require("@opensumi/ide-overlay");
25
- const terminal_module_less_1 = (0, tslib_1.__importDefault)(require("./component/terminal.module.less"));
22
+ const xterm_1 = require("./xterm");
23
+ const terminal_ext_host_proxy_1 = require("./terminal.ext.host.proxy");
26
24
  let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_common_1.Disposable {
27
25
  constructor() {
28
- super(...arguments);
26
+ super();
29
27
  /** end */
30
28
  /** status */
31
29
  this._ready = false;
@@ -43,31 +41,40 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
43
41
  this._onResponseTime = new ide_core_common_1.Emitter();
44
42
  this.onResponseTime = this._onResponseTime.event;
45
43
  this.name = '';
46
- }
47
- async init(widget, options = {}) {
48
- var _a;
49
- this._uid = widget.id;
50
- this._options = options || {};
51
- this.name = this._options.name || '';
52
- this._container = document.createElement('div');
53
- this._container.className = terminal_module_less_1.default.terminalInstance;
54
- this._prepare();
55
- this._term = new xterm_1.Terminal(Object.assign(Object.assign({ theme: this.theme.terminalTheme }, this.preference.toJSON()), this.internalService.getOptions()));
56
- if (options.message) {
57
- this._term.writeln(options.message);
58
- }
59
- // 可能存在 env 为 undefined 的情况,做一下初始化
60
- if (!this._options.env) {
61
- this._options.env = {};
62
- }
63
- (_a = this.environmentService.mergedCollection) === null || _a === void 0 ? void 0 : _a.applyToProcessEnvironment(this._options.env, this.applicationService.backendOS, this.variableResolver.resolve.bind(this.variableResolver));
64
- this.addDispose(this.environmentService.onDidChangeCollections((collection) => {
65
- // 环境变量更新只会在新建的终端中生效,已有的终端需要重启才可以生效
66
- collection.applyToProcessEnvironment(this._options.env || {}, this.applicationService.backendOS, this.variableResolver.resolve.bind(this.variableResolver));
67
- }));
68
- this.addDispose(this._term.onTitleChange((e) => {
44
+ this.xterm = this.injector.get(xterm_1.XTerm, [
45
+ {
46
+ xtermOptions: Object.assign(Object.assign({ theme: this.theme.terminalTheme }, this.preference.toJSON()), this.internalService.getOptions()),
47
+ },
48
+ ]);
49
+ this.addDispose(this.xterm);
50
+ this.addDispose(this.xterm.raw.onTitleChange((e) => {
69
51
  this.updateOptions({ name: e });
70
52
  }));
53
+ this.addDispose(this.internalService.onError((error) => {
54
+ var _a;
55
+ this.messageService.error(error.message);
56
+ if ((_a = error.launchConfig) === null || _a === void 0 ? void 0 : _a.executable) {
57
+ this.updateOptions({
58
+ name: 'error: ' + error.launchConfig.executable,
59
+ });
60
+ }
61
+ else {
62
+ this.updateOptions({
63
+ name: 'error',
64
+ });
65
+ }
66
+ }));
67
+ }
68
+ onWidgetShow() {
69
+ if (this._show) {
70
+ this._show.resolve();
71
+ this._show = null;
72
+ }
73
+ this._layout();
74
+ }
75
+ async setupWidget(widget) {
76
+ this._widget = widget;
77
+ this._prepare();
71
78
  this.addDispose(ide_core_common_1.Disposable.create(() => {
72
79
  TerminalClient_1.WORKSPACE_PATH_CACHED.delete(widget.group.id);
73
80
  }));
@@ -80,46 +87,141 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
80
87
  }
81
88
  this._setOption(name, value);
82
89
  }));
83
- this.addDispose(widget.onShow((status) => {
84
- if (status) {
85
- if (this._show) {
86
- this._show.resolve();
87
- this._show = null;
90
+ // 在拆分终端时,widget 渲染的时机会比较早
91
+ // 如果 widget show 已经为 true,确保
92
+ // Deferred 已经 resolve, 否则无法监听
93
+ // 到后续的事件
94
+ if (widget.show) {
95
+ this.onWidgetShow();
96
+ }
97
+ else {
98
+ this.addDispose(widget.onShow((status) => {
99
+ if (status) {
100
+ this.onWidgetShow();
88
101
  }
89
- this._layout();
90
- }
91
- }));
102
+ }));
103
+ }
92
104
  this.addDispose(widget.onError((status) => {
105
+ var _a;
93
106
  if (status) {
94
107
  // fit 操作在对比行列没有发送变化的时候不会做任何操作,
95
108
  // 但是实际上是设置为 display none 了,所以手动 resize 一下
96
109
  // this._term.resize(1, 1);
97
110
  }
98
111
  else {
99
- this._error.resolve();
112
+ (_a = this._error) === null || _a === void 0 ? void 0 : _a.resolve();
100
113
  this._layout();
101
114
  }
102
115
  }));
103
- this.addDispose(this.internalService.onError((error) => {
104
- this.messageService.error(error.message);
116
+ this.addDispose(widget.onResize(async () => {
117
+ this._debounceResize();
105
118
  }));
106
- this._apply(widget);
119
+ }
120
+ convertTerminalOptionsToLaunchConfig() {
121
+ const options = this._terminalOptions;
122
+ const shellLaunchConfig = {
123
+ name: options.name,
124
+ executable: (0, ide_core_common_1.withNullAsUndefined)(options.shellPath),
125
+ args: (0, ide_core_common_1.withNullAsUndefined)(options.shellArgs),
126
+ cwd: (0, ide_core_common_1.withNullAsUndefined)(options.cwd),
127
+ env: (0, ide_core_common_1.withNullAsUndefined)(options.env),
128
+ icon: (0, ide_core_common_1.withNullAsUndefined)(asTerminalIcon(options.iconPath)),
129
+ // color: ThemeColor.isThemeColor(options.color) ? options.color.id : undefined,
130
+ initialText: (0, ide_core_common_1.withNullAsUndefined)(options.message),
131
+ strictEnv: (0, ide_core_common_1.withNullAsUndefined)(options.strictEnv),
132
+ hideFromUser: (0, ide_core_common_1.withNullAsUndefined)(options.hideFromUser),
133
+ // isFeatureTerminal: withNullAsUndefined(options?.isFeatureTerminal),
134
+ isExtensionOwnedTerminal: true,
135
+ // useShellEnvironment: withNullAsUndefined(internalOptions?.useShellEnvironment),
136
+ // location:
137
+ // internalOptions?.location ||
138
+ // this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier),
139
+ // disablePersistence: withNullAsUndefined(options.disablePersistence),
140
+ };
141
+ if (options.isExtensionTerminal) {
142
+ shellLaunchConfig.customPtyImplementation = (sessionId, cols, rows) => new terminal_ext_host_proxy_1.TerminalProcessExtHostProxy(sessionId, cols, rows, this.controller);
143
+ }
144
+ return shellLaunchConfig;
145
+ }
146
+ /**
147
+ * @deprecated Please use `init2` instead.
148
+ */
149
+ async init(widget, options = {}) {
150
+ this._terminalOptions = options;
151
+ await this.init2(widget, {
152
+ config: this.convertTerminalOptionsToLaunchConfig(),
153
+ });
154
+ }
155
+ convertProfileToLaunchConfig(shellLaunchConfigOrProfile, cwd) {
156
+ if (!shellLaunchConfigOrProfile) {
157
+ return {};
158
+ }
159
+ // Profile was provided
160
+ if (shellLaunchConfigOrProfile && 'profileName' in shellLaunchConfigOrProfile) {
161
+ const profile = shellLaunchConfigOrProfile;
162
+ if (!profile.path) {
163
+ return shellLaunchConfigOrProfile;
164
+ }
165
+ return {
166
+ executable: profile.path,
167
+ args: profile.args,
168
+ env: profile.env,
169
+ // icon: profile.icon,
170
+ color: profile.color,
171
+ name: profile.overrideName ? profile.profileName : undefined,
172
+ cwd,
173
+ };
174
+ }
175
+ if (cwd) {
176
+ shellLaunchConfigOrProfile.cwd = cwd;
177
+ }
178
+ return shellLaunchConfigOrProfile;
179
+ }
180
+ async init2(widget, options) {
181
+ var _a, _b, _c, _d;
182
+ this._uid = widget.id;
183
+ this.setupWidget(widget);
184
+ if (!options || Object.keys(options).length === 0) {
185
+ // 应该是必定能 resolve 到 profile 的
186
+ const defaultProfile = await this.terminalProfileInternalService.resolveDefaultProfile();
187
+ options = {
188
+ config: defaultProfile,
189
+ };
190
+ }
107
191
  if (await this._checkWorkspace()) {
192
+ const cwd = (_c = (_a = options.cwd) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.config) === null || _b === void 0 ? void 0 : _b.cwd) !== null && _c !== void 0 ? _c : this._workspacePath;
193
+ const launchConfig = this.convertProfileToLaunchConfig(options.config, cwd);
194
+ this._launchConfig = launchConfig;
195
+ this.name = launchConfig.name || '';
196
+ if (launchConfig.initialText) {
197
+ this.xterm.raw.writeln(launchConfig.initialText);
198
+ }
199
+ if (!launchConfig.env) {
200
+ launchConfig.env = {};
201
+ }
202
+ (_d = this.environmentService.mergedCollection) === null || _d === void 0 ? void 0 : _d.applyToProcessEnvironment(launchConfig.env, this.applicationService.backendOS, this.variableResolver.resolve.bind(this.variableResolver));
203
+ this.addDispose(this.environmentService.onDidChangeCollections((collection) => {
204
+ // 环境变量更新只会在新建的终端中生效,已有的终端需要重启才可以生效
205
+ collection.applyToProcessEnvironment(launchConfig.env, this.applicationService.backendOS, this.variableResolver.resolve.bind(this.variableResolver));
206
+ }));
108
207
  this._attachXterm();
109
208
  this._attachAfterRender();
110
209
  }
111
210
  }
112
211
  get term() {
113
- return this._term;
212
+ return this.xterm.raw;
114
213
  }
115
214
  get pid() {
116
215
  return this.internalService.getProcessId(this.id);
117
216
  }
118
217
  get options() {
119
- return this._options;
218
+ return this._terminalOptions;
219
+ }
220
+ get createOptions() {
221
+ return;
120
222
  }
121
223
  get container() {
122
- return this._container;
224
+ return this.xterm.container;
123
225
  }
124
226
  get id() {
125
227
  return this._uid;
@@ -147,12 +249,8 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
147
249
  }
148
250
  _prepareAddons() {
149
251
  this._attachAddon = new terminal_addon_1.AttachAddon();
150
- this._searchAddon = new xterm_addon_search_1.SearchAddon();
151
- this._fitAddon = new xterm_addon_fit_1.FitAddon();
152
252
  this.addDispose([
153
253
  this._attachAddon,
154
- this._searchAddon,
155
- this._fitAddon,
156
254
  this._attachAddon.onData((data) => {
157
255
  this._onOutput.fire({ id: this.id, data });
158
256
  }),
@@ -172,14 +270,10 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
172
270
  });
173
271
  }),
174
272
  ]);
175
- }
176
- _loadAddons() {
177
- this._term.loadAddon(this._attachAddon);
178
- this._term.loadAddon(this._fitAddon);
179
- this._term.loadAddon(this._searchAddon);
273
+ this.xterm.raw.loadAddon(this._attachAddon);
180
274
  }
181
275
  _xtermEvents() {
182
- this.addDispose(this._term.onResize((_event) => {
276
+ this.addDispose(this.xterm.raw.onResize((_event) => {
183
277
  if (this._hasOutput) {
184
278
  this._doResize();
185
279
  }
@@ -187,43 +281,15 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
187
281
  }
188
282
  _attachXterm() {
189
283
  this._prepareAddons();
190
- this._loadAddons();
191
284
  this._xtermEvents();
192
- this._linkManager = this.injector.get(link_manager_1.TerminalLinkManager, [this._term, this]);
285
+ this._linkManager = this.injector.get(link_manager_1.TerminalLinkManager, [this.xterm.raw, this]);
193
286
  this._linkManager.processCwd = this._workspacePath;
194
287
  this.addDispose(this._linkManager);
195
- this.addDispose(this._term);
196
288
  this._areLinksReady = true;
197
289
  this._onLinksReady.fire(this);
198
290
  }
199
- async _doAttach() {
200
- var _a;
201
- const sessionId = this.id;
202
- const type = this.preference.get('type');
203
- const { rows = terminal_addon_1.DEFAULT_ROW, cols = terminal_addon_1.DEFAULT_COL } = this._term;
204
- let connection;
205
- const finalOptions = Object.assign(Object.assign({}, this._options), { cwd: ((_a = this._options) === null || _a === void 0 ? void 0 : _a.cwd) || this._workspacePath });
206
- try {
207
- connection = await this.internalService.attach(sessionId, this._term, rows, cols, finalOptions, type);
208
- }
209
- catch (e) {
210
- this.logger.error(`attach ${sessionId} terminal failed, type: ${type}`, JSON.stringify(finalOptions), e);
211
- }
212
- if (!connection) {
213
- this._attached.resolve();
214
- return;
215
- }
216
- this._attachAddon.setConnection(connection);
217
- this.name = this.name || connection.name || 'shell';
218
- this._ready = true;
219
- this._attached.resolve();
220
- this._widget.name = this.name;
221
- this._firstStdout.promise.then(() => {
222
- this._doResize();
223
- });
224
- }
225
291
  _doResize() {
226
- this.internalService.resize(this.id, this._term.cols, this._term.rows);
292
+ this.internalService.resize(this.id, this.xterm.raw.cols, this.xterm.raw.rows);
227
293
  }
228
294
  _prepare() {
229
295
  var _a, _b, _c, _d, _e;
@@ -238,6 +304,9 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
238
304
  this._error = new ide_core_common_1.Deferred();
239
305
  this._firstStdout = new ide_core_common_1.Deferred();
240
306
  (_e = this._attachAddon) === null || _e === void 0 ? void 0 : _e.setConnection(undefined);
307
+ this.internalService.getOs().then((os) => {
308
+ this._os = os;
309
+ });
241
310
  const { dispose } = this.onOutput(() => {
242
311
  dispose();
243
312
  this._hasOutput = true;
@@ -250,9 +319,6 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
250
319
  queueMicrotask(() => {
251
320
  var _a;
252
321
  this._layout();
253
- this.internalService.getOs().then((os) => {
254
- this._os = os;
255
- });
256
322
  this.attach();
257
323
  if (!this.widget.show) {
258
324
  (_a = this._show) === null || _a === void 0 ? void 0 : _a.promise.then(async () => {
@@ -295,8 +361,38 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
295
361
  }
296
362
  async attach() {
297
363
  if (!this._ready) {
298
- return this._doAttach();
364
+ return this._doAttach2();
365
+ }
366
+ }
367
+ async _doAttach2() {
368
+ var _a;
369
+ const sessionId = this.id;
370
+ const { rows = terminal_addon_1.DEFAULT_ROW, cols = terminal_addon_1.DEFAULT_COL } = this.xterm.raw;
371
+ let connection;
372
+ const finalLaunchConfig = Object.assign(Object.assign({}, this._launchConfig), { cwd: ((_a = this._launchConfig) === null || _a === void 0 ? void 0 : _a.cwd) || this._workspacePath });
373
+ this._launchConfig = finalLaunchConfig;
374
+ this.logger.log('attach terminal by launchConfig: ', this._launchConfig);
375
+ try {
376
+ connection = await this.internalService.attachByLaunchConfig(sessionId, cols, rows, this._launchConfig);
377
+ }
378
+ catch (e) {
379
+ this.logger.error(`attach ${sessionId} terminal failed, _launchConfig`, JSON.stringify(this._launchConfig), e);
380
+ }
381
+ this.resolveConnection(connection);
382
+ }
383
+ resolveConnection(connection) {
384
+ if (!connection) {
385
+ this._attached.resolve();
386
+ return;
299
387
  }
388
+ this._attachAddon.setConnection(connection);
389
+ this.name = this.name || connection.name || 'shell';
390
+ this._ready = true;
391
+ this._attached.resolve();
392
+ this._widget.name = this.name;
393
+ this._firstStdout.promise.then(() => {
394
+ this._doResize();
395
+ });
300
396
  }
301
397
  _setOption(name, value) {
302
398
  /**
@@ -304,7 +400,7 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
304
400
  * 这种情况可能会报错
305
401
  */
306
402
  try {
307
- this._term.setOption(name, value);
403
+ this.xterm.raw.setOption(name, value);
308
404
  this._layout();
309
405
  }
310
406
  catch (_a) {
@@ -319,9 +415,9 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
319
415
  _layout() {
320
416
  // 如果 xterm 视图还没初始化,则先尝试初始化
321
417
  this._renderOnDemand();
322
- if (this._term.element) {
418
+ if (this.xterm.raw.element) {
323
419
  try {
324
- this._fitAddon.fit();
420
+ this.xterm.fit();
325
421
  }
326
422
  catch (_a) {
327
423
  // noop
@@ -331,7 +427,7 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
331
427
  _renderOnDemand() {
332
428
  var _a;
333
429
  // 避免重复创建 xterm 视图,后果是终端实例和视图不匹配,表现为整个卡住
334
- if (this._term.element) {
430
+ if (this.xterm.raw.element) {
335
431
  return;
336
432
  }
337
433
  // xterm 视图容器没准备好,取消渲染 xterm 视图
@@ -342,8 +438,8 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
342
438
  if (!this._workspacePath) {
343
439
  return;
344
440
  }
345
- this._widget.element.appendChild(this._container);
346
- this._term.open(this._container);
441
+ this._widget.element.appendChild(this.xterm.container);
442
+ this.xterm.open();
347
443
  // 首次渲染且为当前选中的 client 时,聚焦
348
444
  // 等待数据更新、terminal 渲染完成,但是无需等待连接成功,体验上会更快一些
349
445
  setTimeout(() => {
@@ -356,35 +452,29 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
356
452
  _debounceResize() {
357
453
  this._layout();
358
454
  }
359
- _apply(widget) {
360
- this._widget = widget;
361
- this.addDispose(widget.onResize(async () => {
362
- this._debounceResize();
363
- }));
364
- }
365
455
  focus() {
366
- return this._term.focus();
456
+ return this.xterm.raw.focus();
367
457
  }
368
458
  clear() {
369
459
  this._checkReady();
370
- return this._term.clear();
460
+ return this.xterm.raw.clear();
371
461
  }
372
462
  selectAll() {
373
463
  this._checkReady();
374
- return this._term.selectAll();
464
+ return this.xterm.raw.selectAll();
375
465
  }
376
466
  paste(text) {
377
467
  this._checkReady();
378
- return this._term.paste(text);
468
+ return this.xterm.raw.paste(text);
379
469
  }
380
470
  findNext(text) {
381
471
  this._checkReady();
382
- return this._searchAddon.findNext(text);
472
+ return this.xterm.findNext(text);
383
473
  }
384
474
  getSelection() {
385
475
  this._checkReady();
386
- if (this._term.hasSelection()) {
387
- return this._term.getSelection();
476
+ if (this.xterm.raw.hasSelection()) {
477
+ return this.xterm.raw.getSelection();
388
478
  }
389
479
  else {
390
480
  this.logger.warn('The terminal has no selection to copy');
@@ -392,10 +482,11 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
392
482
  }
393
483
  }
394
484
  updateTheme() {
395
- return this._term.setOption('theme', this.theme.terminalTheme);
485
+ return this.xterm.updateTheme(this.theme.terminalTheme);
396
486
  }
397
487
  updateOptions(options) {
398
- this._options = Object.assign(Object.assign({}, this._options), options);
488
+ this._terminalOptions = Object.assign(Object.assign({}, this._terminalOptions), options);
489
+ this._launchConfig = this.convertTerminalOptionsToLaunchConfig();
399
490
  this._widget.name = options.name || this.name;
400
491
  }
401
492
  async sendText(message) {
@@ -409,7 +500,6 @@ let TerminalClient = TerminalClient_1 = class TerminalClient extends ide_core_co
409
500
  return this._linkManager.registerExternalLinkProvider(this, provider);
410
501
  }
411
502
  dispose(clear = true) {
412
- this._container.remove();
413
503
  super.dispose();
414
504
  if (clear) {
415
505
  this.internalService.disposeById(this.id);
@@ -485,6 +575,14 @@ TerminalClient.WORKSPACE_PATH_CACHED = new Map();
485
575
  (0, di_1.Autowired)(ide_core_common_1.IApplicationService),
486
576
  (0, tslib_1.__metadata)("design:type", Object)
487
577
  ], TerminalClient.prototype, "applicationService", void 0);
578
+ (0, tslib_1.__decorate)([
579
+ (0, di_1.Autowired)(common_5.ITerminalProfileService),
580
+ (0, tslib_1.__metadata)("design:type", Object)
581
+ ], TerminalClient.prototype, "terminalProfileService", void 0);
582
+ (0, tslib_1.__decorate)([
583
+ (0, di_1.Autowired)(common_5.ITerminalProfileInternalService),
584
+ (0, tslib_1.__metadata)("design:type", Object)
585
+ ], TerminalClient.prototype, "terminalProfileInternalService", void 0);
488
586
  (0, tslib_1.__decorate)([
489
587
  (0, di_1.Autowired)(common_3.IVariableResolverService),
490
588
  (0, tslib_1.__metadata)("design:type", Object)
@@ -500,11 +598,32 @@ TerminalClient.WORKSPACE_PATH_CACHED = new Map();
500
598
  (0, tslib_1.__metadata)("design:returntype", void 0)
501
599
  ], TerminalClient.prototype, "_debounceResize", null);
502
600
  TerminalClient = TerminalClient_1 = (0, tslib_1.__decorate)([
503
- (0, di_1.Injectable)()
601
+ (0, di_1.Injectable)(),
602
+ (0, tslib_1.__metadata)("design:paramtypes", [])
504
603
  ], TerminalClient);
505
604
  exports.TerminalClient = TerminalClient;
506
605
  let TerminalClientFactory = class TerminalClientFactory {
507
- static createClient(injector, widget, options) {
606
+ /**
607
+ * 创建 terminal 实例最终都会调用该方法
608
+ */
609
+ static async createClient(injector, widget, options) {
610
+ // 每一个 widget.id 对应一个 TerminalClient
611
+ // 但是 TerminalClient 内部又依赖了一堆的其他要注入的,所以这里新创建一个 child injector
612
+ // 让 TerminalClient 依赖的所有类都重新初始化一遍
613
+ const child = injector.createChild([
614
+ {
615
+ token: TerminalClient,
616
+ useClass: TerminalClient,
617
+ },
618
+ ]);
619
+ const client = child.get(TerminalClient);
620
+ await client.init(widget, options);
621
+ return client;
622
+ }
623
+ /**
624
+ * 创建 terminal 实例最终都会调用该方法
625
+ */
626
+ static async createClient2(injector, widget, options) {
508
627
  const child = injector.createChild([
509
628
  {
510
629
  token: TerminalClient,
@@ -512,7 +631,7 @@ let TerminalClientFactory = class TerminalClientFactory {
512
631
  },
513
632
  ]);
514
633
  const client = child.get(TerminalClient);
515
- client.init(widget, options);
634
+ await client.init2(widget, options);
516
635
  return client;
517
636
  }
518
637
  };
@@ -520,4 +639,20 @@ TerminalClientFactory = (0, tslib_1.__decorate)([
520
639
  (0, di_1.Injectable)()
521
640
  ], TerminalClientFactory);
522
641
  exports.TerminalClientFactory = TerminalClientFactory;
642
+ const createTerminalClientFactory = (injector) => (widget, options) => TerminalClientFactory.createClient(injector, widget, options);
643
+ exports.createTerminalClientFactory = createTerminalClientFactory;
644
+ const createTerminalClientFactory2 = (injector) => (widget, options) => TerminalClientFactory.createClient2(injector, widget, options);
645
+ exports.createTerminalClientFactory2 = createTerminalClientFactory2;
646
+ function asTerminalIcon(iconPath) {
647
+ if (!iconPath || typeof iconPath === 'string') {
648
+ return undefined;
649
+ }
650
+ if (!('id' in iconPath)) {
651
+ return iconPath;
652
+ }
653
+ return {
654
+ id: iconPath.id,
655
+ color: iconPath.color,
656
+ };
657
+ }
523
658
  //# sourceMappingURL=terminal.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.client.js","sourceRoot":"","sources":["../../src/browser/terminal.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.client.js","sourceRoot":"","sources":["../../src/browser/terminal.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IExtensionTerminalProfile, ITerminalContributions, ITerminalContributionService } from '../common';
2
+ export declare class TerminalContributionService implements ITerminalContributionService {
3
+ private _terminalProfiles;
4
+ get terminalProfiles(): IExtensionTerminalProfile[];
5
+ add(extensionId: string, contributions: ITerminalContributions): void;
6
+ }
7
+ //# sourceMappingURL=terminal.contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.contribution.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAE7B,MAAM,WAAW,CAAC;AAWnB,qBACa,2BAA4B,YAAW,4BAA4B;IAC9E,OAAO,CAAC,iBAAiB,CAAgD;IACzE,IAAI,gBAAgB,gCAEnB;IAED,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,sBAAsB;CAS/D"}