@opensumi/ide-terminal-next 2.12.1-next-079c1930

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 (282) hide show
  1. package/README.md +89 -0
  2. package/lib/browser/component/resize.delegate.d.ts +14 -0
  3. package/lib/browser/component/resize.delegate.d.ts.map +1 -0
  4. package/lib/browser/component/resize.delegate.js +47 -0
  5. package/lib/browser/component/resize.delegate.js.map +1 -0
  6. package/lib/browser/component/resize.module.less +55 -0
  7. package/lib/browser/component/resize.view.d.ts +16 -0
  8. package/lib/browser/component/resize.view.d.ts.map +1 -0
  9. package/lib/browser/component/resize.view.js +40 -0
  10. package/lib/browser/component/resize.view.js.map +1 -0
  11. package/lib/browser/component/tab.item.d.ts +7 -0
  12. package/lib/browser/component/tab.item.d.ts.map +1 -0
  13. package/lib/browser/component/tab.item.js +61 -0
  14. package/lib/browser/component/tab.item.js.map +1 -0
  15. package/lib/browser/component/tab.module.less +112 -0
  16. package/lib/browser/component/tab.view.d.ts +4 -0
  17. package/lib/browser/component/tab.view.d.ts.map +1 -0
  18. package/lib/browser/component/tab.view.js +30 -0
  19. package/lib/browser/component/tab.view.js.map +1 -0
  20. package/lib/browser/component/terminal.module.less +69 -0
  21. package/lib/browser/component/terminal.select.d.ts +4 -0
  22. package/lib/browser/component/terminal.select.d.ts.map +1 -0
  23. package/lib/browser/component/terminal.select.js +21 -0
  24. package/lib/browser/component/terminal.select.js.map +1 -0
  25. package/lib/browser/component/terminal.variable.d.ts +8 -0
  26. package/lib/browser/component/terminal.variable.d.ts.map +1 -0
  27. package/lib/browser/component/terminal.variable.js +44 -0
  28. package/lib/browser/component/terminal.variable.js.map +1 -0
  29. package/lib/browser/component/terminal.view.d.ts +5 -0
  30. package/lib/browser/component/terminal.view.d.ts.map +1 -0
  31. package/lib/browser/component/terminal.view.js +68 -0
  32. package/lib/browser/component/terminal.view.js.map +1 -0
  33. package/lib/browser/component/terminal.widget.d.ts +10 -0
  34. package/lib/browser/component/terminal.widget.d.ts.map +1 -0
  35. package/lib/browser/component/terminal.widget.js +51 -0
  36. package/lib/browser/component/terminal.widget.js.map +1 -0
  37. package/lib/browser/component/variable.module.less +15 -0
  38. package/lib/browser/contribution/index.d.ts +7 -0
  39. package/lib/browser/contribution/index.d.ts.map +1 -0
  40. package/lib/browser/contribution/index.js +10 -0
  41. package/lib/browser/contribution/index.js.map +1 -0
  42. package/lib/browser/contribution/terminal.command.d.ts +20 -0
  43. package/lib/browser/contribution/terminal.command.d.ts.map +1 -0
  44. package/lib/browser/contribution/terminal.command.js +215 -0
  45. package/lib/browser/contribution/terminal.command.js.map +1 -0
  46. package/lib/browser/contribution/terminal.keybinding.d.ts +5 -0
  47. package/lib/browser/contribution/terminal.keybinding.d.ts.map +1 -0
  48. package/lib/browser/contribution/terminal.keybinding.js +55 -0
  49. package/lib/browser/contribution/terminal.keybinding.js.map +1 -0
  50. package/lib/browser/contribution/terminal.lifecycle.d.ts +15 -0
  51. package/lib/browser/contribution/terminal.lifecycle.d.ts.map +1 -0
  52. package/lib/browser/contribution/terminal.lifecycle.js +47 -0
  53. package/lib/browser/contribution/terminal.lifecycle.js.map +1 -0
  54. package/lib/browser/contribution/terminal.menu.d.ts +19 -0
  55. package/lib/browser/contribution/terminal.menu.d.ts.map +1 -0
  56. package/lib/browser/contribution/terminal.menu.js +144 -0
  57. package/lib/browser/contribution/terminal.menu.js.map +1 -0
  58. package/lib/browser/contribution/terminal.network.d.ts +11 -0
  59. package/lib/browser/contribution/terminal.network.d.ts.map +1 -0
  60. package/lib/browser/contribution/terminal.network.js +44 -0
  61. package/lib/browser/contribution/terminal.network.js.map +1 -0
  62. package/lib/browser/contribution/terminal.view.d.ts +7 -0
  63. package/lib/browser/contribution/terminal.view.d.ts.map +1 -0
  64. package/lib/browser/contribution/terminal.view.js +55 -0
  65. package/lib/browser/contribution/terminal.view.js.map +1 -0
  66. package/lib/browser/index.d.ts +10 -0
  67. package/lib/browser/index.d.ts.map +1 -0
  68. package/lib/browser/index.js +105 -0
  69. package/lib/browser/index.js.map +1 -0
  70. package/lib/browser/links/base.d.ts +8 -0
  71. package/lib/browser/links/base.d.ts.map +1 -0
  72. package/lib/browser/links/base.js +13 -0
  73. package/lib/browser/links/base.js.map +1 -0
  74. package/lib/browser/links/external-link-provider-adapter.d.ts +18 -0
  75. package/lib/browser/links/external-link-provider-adapter.d.ts.map +1 -0
  76. package/lib/browser/links/external-link-provider-adapter.js +56 -0
  77. package/lib/browser/links/external-link-provider-adapter.js.map +1 -0
  78. package/lib/browser/links/helpers.d.ts +7 -0
  79. package/lib/browser/links/helpers.d.ts.map +1 -0
  80. package/lib/browser/links/helpers.js +129 -0
  81. package/lib/browser/links/helpers.js.map +1 -0
  82. package/lib/browser/links/link-manager.d.ts +61 -0
  83. package/lib/browser/links/link-manager.d.ts.map +1 -0
  84. package/lib/browser/links/link-manager.js +252 -0
  85. package/lib/browser/links/link-manager.js.map +1 -0
  86. package/lib/browser/links/link.d.ts +24 -0
  87. package/lib/browser/links/link.d.ts.map +1 -0
  88. package/lib/browser/links/link.js +92 -0
  89. package/lib/browser/links/link.js.map +1 -0
  90. package/lib/browser/links/protocol-link-provider.d.ts +11 -0
  91. package/lib/browser/links/protocol-link-provider.d.ts.map +1 -0
  92. package/lib/browser/links/protocol-link-provider.js +53 -0
  93. package/lib/browser/links/protocol-link-provider.js.map +1 -0
  94. package/lib/browser/links/validated-local-link-provider.d.ts +31 -0
  95. package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -0
  96. package/lib/browser/links/validated-local-link-provider.js +137 -0
  97. package/lib/browser/links/validated-local-link-provider.js.map +1 -0
  98. package/lib/browser/terminal.addon.d.ts +42 -0
  99. package/lib/browser/terminal.addon.d.ts.map +1 -0
  100. package/lib/browser/terminal.addon.js +169 -0
  101. package/lib/browser/terminal.addon.js.map +1 -0
  102. package/lib/browser/terminal.api.d.ts +34 -0
  103. package/lib/browser/terminal.api.d.ts.map +1 -0
  104. package/lib/browser/terminal.api.js +132 -0
  105. package/lib/browser/terminal.api.js.map +1 -0
  106. package/lib/browser/terminal.client.d.ts +114 -0
  107. package/lib/browser/terminal.client.d.ts.map +1 -0
  108. package/lib/browser/terminal.client.js +518 -0
  109. package/lib/browser/terminal.client.js.map +1 -0
  110. package/lib/browser/terminal.color.d.ts +20 -0
  111. package/lib/browser/terminal.color.d.ts.map +1 -0
  112. package/lib/browser/terminal.color.js +172 -0
  113. package/lib/browser/terminal.color.js.map +1 -0
  114. package/lib/browser/terminal.context-key.d.ts +10 -0
  115. package/lib/browser/terminal.context-key.d.ts.map +1 -0
  116. package/lib/browser/terminal.context-key.js +28 -0
  117. package/lib/browser/terminal.context-key.js.map +1 -0
  118. package/lib/browser/terminal.context-menu.d.ts +15 -0
  119. package/lib/browser/terminal.context-menu.d.ts.map +1 -0
  120. package/lib/browser/terminal.context-menu.js +75 -0
  121. package/lib/browser/terminal.context-menu.js.map +1 -0
  122. package/lib/browser/terminal.controller.d.ts +68 -0
  123. package/lib/browser/terminal.controller.d.ts.map +1 -0
  124. package/lib/browser/terminal.controller.js +367 -0
  125. package/lib/browser/terminal.controller.js.map +1 -0
  126. package/lib/browser/terminal.environment.service.d.ts +27 -0
  127. package/lib/browser/terminal.environment.service.d.ts.map +1 -0
  128. package/lib/browser/terminal.environment.service.js +144 -0
  129. package/lib/browser/terminal.environment.service.js.map +1 -0
  130. package/lib/browser/terminal.error.d.ts +10 -0
  131. package/lib/browser/terminal.error.d.ts.map +1 -0
  132. package/lib/browser/terminal.error.js +58 -0
  133. package/lib/browser/terminal.error.js.map +1 -0
  134. package/lib/browser/terminal.ext.host.proxy.d.ts +58 -0
  135. package/lib/browser/terminal.ext.host.proxy.d.ts.map +1 -0
  136. package/lib/browser/terminal.ext.host.proxy.js +104 -0
  137. package/lib/browser/terminal.ext.host.proxy.js.map +1 -0
  138. package/lib/browser/terminal.input.d.ts +6 -0
  139. package/lib/browser/terminal.input.d.ts.map +1 -0
  140. package/lib/browser/terminal.input.js +32 -0
  141. package/lib/browser/terminal.input.js.map +1 -0
  142. package/lib/browser/terminal.network.d.ts +32 -0
  143. package/lib/browser/terminal.network.d.ts.map +1 -0
  144. package/lib/browser/terminal.network.js +150 -0
  145. package/lib/browser/terminal.network.js.map +1 -0
  146. package/lib/browser/terminal.preference.d.ts +26 -0
  147. package/lib/browser/terminal.preference.d.ts.map +1 -0
  148. package/lib/browser/terminal.preference.js +80 -0
  149. package/lib/browser/terminal.preference.js.map +1 -0
  150. package/lib/browser/terminal.render.d.ts +13 -0
  151. package/lib/browser/terminal.render.d.ts.map +1 -0
  152. package/lib/browser/terminal.render.js +25 -0
  153. package/lib/browser/terminal.render.js.map +1 -0
  154. package/lib/browser/terminal.restore.d.ts +10 -0
  155. package/lib/browser/terminal.restore.d.ts.map +1 -0
  156. package/lib/browser/terminal.restore.js +41 -0
  157. package/lib/browser/terminal.restore.js.map +1 -0
  158. package/lib/browser/terminal.search.d.ts +15 -0
  159. package/lib/browser/terminal.search.d.ts.map +1 -0
  160. package/lib/browser/terminal.search.js +53 -0
  161. package/lib/browser/terminal.search.js.map +1 -0
  162. package/lib/browser/terminal.service.d.ts +60 -0
  163. package/lib/browser/terminal.service.d.ts.map +1 -0
  164. package/lib/browser/terminal.service.js +212 -0
  165. package/lib/browser/terminal.service.js.map +1 -0
  166. package/lib/browser/terminal.theme.d.ts +7 -0
  167. package/lib/browser/terminal.theme.d.ts.map +1 -0
  168. package/lib/browser/terminal.theme.js +50 -0
  169. package/lib/browser/terminal.theme.js.map +1 -0
  170. package/lib/browser/terminal.view.d.ts +99 -0
  171. package/lib/browser/terminal.view.d.ts.map +1 -0
  172. package/lib/browser/terminal.view.js +358 -0
  173. package/lib/browser/terminal.view.js.map +1 -0
  174. package/lib/common/api.d.ts +20 -0
  175. package/lib/common/api.d.ts.map +1 -0
  176. package/lib/common/api.js +5 -0
  177. package/lib/common/api.js.map +1 -0
  178. package/lib/common/client.d.ts +163 -0
  179. package/lib/common/client.d.ts.map +1 -0
  180. package/lib/common/client.js +5 -0
  181. package/lib/common/client.js.map +1 -0
  182. package/lib/common/commands.d.ts +92 -0
  183. package/lib/common/commands.d.ts.map +1 -0
  184. package/lib/common/commands.js +97 -0
  185. package/lib/common/commands.js.map +1 -0
  186. package/lib/common/controller.d.ts +86 -0
  187. package/lib/common/controller.d.ts.map +1 -0
  188. package/lib/common/controller.js +7 -0
  189. package/lib/common/controller.js.map +1 -0
  190. package/lib/common/environmentVariable.d.ts +118 -0
  191. package/lib/common/environmentVariable.d.ts.map +1 -0
  192. package/lib/common/environmentVariable.js +27 -0
  193. package/lib/common/environmentVariable.js.map +1 -0
  194. package/lib/common/environmentVariableCollection.d.ts +10 -0
  195. package/lib/common/environmentVariableCollection.d.ts.map +1 -0
  196. package/lib/common/environmentVariableCollection.js +136 -0
  197. package/lib/common/environmentVariableCollection.js.map +1 -0
  198. package/lib/common/error.d.ts +30 -0
  199. package/lib/common/error.d.ts.map +1 -0
  200. package/lib/common/error.js +5 -0
  201. package/lib/common/error.js.map +1 -0
  202. package/lib/common/extension.d.ts +108 -0
  203. package/lib/common/extension.d.ts.map +1 -0
  204. package/lib/common/extension.js +52 -0
  205. package/lib/common/extension.js.map +1 -0
  206. package/lib/common/index.d.ts +17 -0
  207. package/lib/common/index.d.ts.map +1 -0
  208. package/lib/common/index.js +21 -0
  209. package/lib/common/index.js.map +1 -0
  210. package/lib/common/link-computer.d.ts +56 -0
  211. package/lib/common/link-computer.d.ts.map +1 -0
  212. package/lib/common/link-computer.js +273 -0
  213. package/lib/common/link-computer.js.map +1 -0
  214. package/lib/common/menu.d.ts +5 -0
  215. package/lib/common/menu.d.ts.map +1 -0
  216. package/lib/common/menu.js +9 -0
  217. package/lib/common/menu.js.map +1 -0
  218. package/lib/common/network.d.ts +48 -0
  219. package/lib/common/network.d.ts.map +1 -0
  220. package/lib/common/network.js +10 -0
  221. package/lib/common/network.js.map +1 -0
  222. package/lib/common/preference.d.ts +33 -0
  223. package/lib/common/preference.d.ts.map +1 -0
  224. package/lib/common/preference.js +18 -0
  225. package/lib/common/preference.js.map +1 -0
  226. package/lib/common/pty.d.ts +205 -0
  227. package/lib/common/pty.d.ts.map +1 -0
  228. package/lib/common/pty.js +8 -0
  229. package/lib/common/pty.js.map +1 -0
  230. package/lib/common/render.d.ts +24 -0
  231. package/lib/common/render.d.ts.map +1 -0
  232. package/lib/common/render.js +10 -0
  233. package/lib/common/render.js.map +1 -0
  234. package/lib/common/resize.d.ts +39 -0
  235. package/lib/common/resize.d.ts.map +1 -0
  236. package/lib/common/resize.js +3 -0
  237. package/lib/common/resize.js.map +1 -0
  238. package/lib/common/restore.d.ts +6 -0
  239. package/lib/common/restore.d.ts.map +1 -0
  240. package/lib/common/restore.js +5 -0
  241. package/lib/common/restore.js.map +1 -0
  242. package/lib/common/service.d.ts +88 -0
  243. package/lib/common/service.d.ts.map +1 -0
  244. package/lib/common/service.js +6 -0
  245. package/lib/common/service.js.map +1 -0
  246. package/lib/common/shell.d.ts +10 -0
  247. package/lib/common/shell.d.ts.map +1 -0
  248. package/lib/common/shell.js +14 -0
  249. package/lib/common/shell.js.map +1 -0
  250. package/lib/common/theme.d.ts +6 -0
  251. package/lib/common/theme.d.ts.map +1 -0
  252. package/lib/common/theme.js +5 -0
  253. package/lib/common/theme.js.map +1 -0
  254. package/lib/common/utils.d.ts +4 -0
  255. package/lib/common/utils.d.ts.map +1 -0
  256. package/lib/common/utils.js +21 -0
  257. package/lib/common/utils.js.map +1 -0
  258. package/lib/index.d.ts +2 -0
  259. package/lib/index.d.ts.map +1 -0
  260. package/lib/index.js +5 -0
  261. package/lib/index.js.map +1 -0
  262. package/lib/node/index.d.ts +10 -0
  263. package/lib/node/index.d.ts.map +1 -0
  264. package/lib/node/index.js +35 -0
  265. package/lib/node/index.js.map +1 -0
  266. package/lib/node/pty.d.ts +11 -0
  267. package/lib/node/pty.d.ts.map +1 -0
  268. package/lib/node/pty.js +54 -0
  269. package/lib/node/pty.js.map +1 -0
  270. package/lib/node/shell.d.ts +3 -0
  271. package/lib/node/shell.d.ts.map +1 -0
  272. package/lib/node/shell.js +28 -0
  273. package/lib/node/shell.js.map +1 -0
  274. package/lib/node/terminal.service.client.d.ts +34 -0
  275. package/lib/node/terminal.service.client.d.ts.map +1 -0
  276. package/lib/node/terminal.service.client.js +111 -0
  277. package/lib/node/terminal.service.client.js.map +1 -0
  278. package/lib/node/terminal.service.d.ts +28 -0
  279. package/lib/node/terminal.service.d.ts.map +1 -0
  280. package/lib/node/terminal.service.js +136 -0
  281. package/lib/node/terminal.service.js.map +1 -0
  282. package/package.json +58 -0
@@ -0,0 +1,15 @@
1
+ import { Emitter, Event } from '@opensumi/ide-core-common';
2
+ import { ITerminalSearchService, ITerminalGroupViewService, ITerminalController } from '../common';
3
+ export declare class TerminalSearchService implements ITerminalSearchService {
4
+ show: boolean;
5
+ input: string;
6
+ controller: ITerminalController;
7
+ terminalView: ITerminalGroupViewService;
8
+ protected _onOpen: Emitter<void>;
9
+ onOpen: Event<void>;
10
+ open(): void;
11
+ close(): void;
12
+ clear(): void;
13
+ search(): void;
14
+ }
15
+ //# sourceMappingURL=terminal.search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.search.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEnG,qBACa,qBAAsB,YAAW,sBAAsB;IAElE,IAAI,EAAE,OAAO,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,mBAAmB,CAAC;IAGhC,YAAY,EAAE,yBAAyB,CAAC;IAExC,SAAS,CAAC,OAAO,gBAAuB;IAExC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAsB;IAEzC,IAAI;IAKJ,KAAK;IAIL,KAAK;IAIL,MAAM;CAUP"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalSearchService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mobx_1 = require("mobx");
6
+ const di_1 = require("@opensumi/di");
7
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
+ const common_1 = require("../common");
9
+ let TerminalSearchService = class TerminalSearchService {
10
+ constructor() {
11
+ this._onOpen = new ide_core_common_1.Emitter();
12
+ this.onOpen = this._onOpen.event;
13
+ }
14
+ open() {
15
+ this.show = true;
16
+ this._onOpen.fire();
17
+ }
18
+ close() {
19
+ this.show = false;
20
+ }
21
+ clear() {
22
+ this.input = '';
23
+ }
24
+ search() {
25
+ const client = this.controller
26
+ .findClientFromWidgetId(this.terminalView.currentWidget.id);
27
+ if (!client) {
28
+ throw new Error('client not found');
29
+ }
30
+ client.findNext(this.input);
31
+ }
32
+ };
33
+ (0, tslib_1.__decorate)([
34
+ mobx_1.observable,
35
+ (0, tslib_1.__metadata)("design:type", Boolean)
36
+ ], TerminalSearchService.prototype, "show", void 0);
37
+ (0, tslib_1.__decorate)([
38
+ mobx_1.observable,
39
+ (0, tslib_1.__metadata)("design:type", String)
40
+ ], TerminalSearchService.prototype, "input", void 0);
41
+ (0, tslib_1.__decorate)([
42
+ (0, di_1.Autowired)(common_1.ITerminalController),
43
+ (0, tslib_1.__metadata)("design:type", Object)
44
+ ], TerminalSearchService.prototype, "controller", void 0);
45
+ (0, tslib_1.__decorate)([
46
+ (0, di_1.Autowired)(common_1.ITerminalGroupViewService),
47
+ (0, tslib_1.__metadata)("design:type", Object)
48
+ ], TerminalSearchService.prototype, "terminalView", void 0);
49
+ TerminalSearchService = (0, tslib_1.__decorate)([
50
+ (0, di_1.Injectable)()
51
+ ], TerminalSearchService);
52
+ exports.TerminalSearchService = TerminalSearchService;
53
+ //# sourceMappingURL=terminal.search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.search.js","sourceRoot":"","sources":["../../src/browser/terminal.search.ts"],"names":[],"mappings":";;;;AAAA,+BAAkC;AAClC,qCAAqD;AACrD,+DAA2D;AAC3D,sCAAmG;AAGnG,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAAlC;QAaY,YAAO,GAAG,IAAI,yBAAO,EAAQ,CAAC;QAExC,WAAM,GAAgB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAyB3C,CAAC;IAvBC,IAAI;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;aAC3B,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAtCC;IADC,iBAAU;;mDACG;AAGd;IADC,iBAAU;;oDACG;AAGd;IADC,IAAA,cAAS,EAAC,4BAAmB,CAAC;;yDACC;AAGhC;IADC,IAAA,cAAS,EAAC,kCAAyB,CAAC;;2DACG;AAX7B,qBAAqB;IADjC,IAAA,eAAU,GAAE;GACA,qBAAqB,CAwCjC;AAxCY,sDAAqB"}
@@ -0,0 +1,60 @@
1
+ import { Terminal } from 'xterm';
2
+ import { Injector } from '@opensumi/di';
3
+ import { ILogger, Event } from '@opensumi/ide-core-common';
4
+ import { ITerminalService, ITerminalInternalService, ITerminalError, ITerminalServiceClient, ITerminalConnection, IPtyExitEvent, TerminalOptions, ITerminalController } from '../common';
5
+ export interface EventMessage {
6
+ data: string;
7
+ }
8
+ export declare class TerminalInternalService implements ITerminalInternalService {
9
+ protected readonly service: ITerminalService;
10
+ protected readonly controller: ITerminalController;
11
+ private _processExtHostProxies;
12
+ generateSessionId(): string;
13
+ getOptions(): import("xterm").ITerminalOptions;
14
+ check(sessionIds: string[]): Promise<boolean>;
15
+ private _getExtHostProxy;
16
+ attach(sessionId: string, xterm: Terminal, rows: number, cols: number, options: TerminalOptions | undefined, type: string): Promise<ITerminalConnection | undefined>;
17
+ sendText(sessionId: string, message: string): Promise<void>;
18
+ resize(sessionId: string, cols: number, rows: number): Promise<void>;
19
+ disposeById(sessionId: string): void;
20
+ getProcessId(sessionId: string): Promise<number | undefined>;
21
+ onError(handler: (error: ITerminalError) => void): import("@opensumi/ide-core-common").IDisposable;
22
+ onExit(handler: (event: IPtyExitEvent) => void): import("@opensumi/ide-core-common").IDisposable;
23
+ getOs(): Promise<import("@opensumi/ide-core-common/lib/platform").OperatingSystem>;
24
+ }
25
+ export declare class NodePtyTerminalService implements ITerminalService {
26
+ static countId: number;
27
+ protected readonly injector: Injector;
28
+ protected readonly logger: ILogger;
29
+ protected readonly service: ITerminalServiceClient;
30
+ private _onError;
31
+ onError: Event<ITerminalError>;
32
+ private _onExit;
33
+ onExit: Event<IPtyExitEvent>;
34
+ private _dispatcher;
35
+ generateSessionId(): string;
36
+ check(ids: string[]): Promise<boolean>;
37
+ private _createCustomWebSocket;
38
+ attach(sessionId: string, _: Terminal, rows: number, cols: number, options?: {}, type?: string): Promise<ITerminalConnection | undefined>;
39
+ private _sendMessage;
40
+ sendText(sessionId: string, message: string): Promise<void>;
41
+ resize(sessionId: string, cols: number, rows: number): Promise<void>;
42
+ disposeById(sessionId: string): void;
43
+ getProcessId(sessionId: string): Promise<number>;
44
+ /**
45
+ * for pty node
46
+ *
47
+ * @param sessionId
48
+ * @param type
49
+ * @param message
50
+ */
51
+ onMessage(sessionId: string, message: string): void;
52
+ /**
53
+ * for pty node
54
+ *
55
+ * @param sessionId
56
+ */
57
+ closeClient(sessionId: string, code?: number, signal?: number): void;
58
+ getOs(): Promise<import("@opensumi/ide-core-common/lib/platform").OperatingSystem>;
59
+ }
60
+ //# sourceMappingURL=terminal.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAyB,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAC/E,OAAO,EAA0B,OAAO,EAAE,KAAK,EAAa,MAAM,2BAA2B,CAAC;AAK9F,OAAO,EAAY,gBAAgB,EAAE,wBAAwB,EAAE,cAAc,EAAE,sBAAsB,EAAwB,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIzN,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBACa,uBAAwB,YAAW,wBAAwB;IAEtE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEnD,OAAO,CAAC,sBAAsB,CAAkD;IAEhF,iBAAiB;IAIjB,UAAU;IAIV,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE;IAI1B,OAAO,CAAC,gBAAgB;IAIlB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,6BAAsB,EAAE,IAAI,EAAE,MAAM;IAmBlH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ3C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQ1D,WAAW,CAAC,SAAS,EAAE,MAAM;IASvB,YAAY,CAAC,SAAS,EAAE,MAAM;IAQpC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;IAIhD,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;IAIxC,KAAK;CAGZ;AAED,qBACa,sBAAuB,YAAW,gBAAgB;IAE7D,MAAM,CAAC,OAAO,SAAK;IAGnB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAEnD,OAAO,CAAC,QAAQ,CAAiC;IAC1C,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAuB;IAE5D,OAAO,CAAC,OAAO,CAAgC;IACxC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAsB;IAEzD,OAAO,CAAC,WAAW,CAAoB;IAEvC,iBAAiB;IASX,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE;IAKzB,OAAO,CAAC,sBAAsB;IAaxB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM;IAyBpG,OAAO,CAAC,YAAY;IASd,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM3C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO1D,WAAW,CAAC,SAAS,EAAE,MAAM;IAIvB,YAAY,CAAC,SAAS,EAAE,MAAM;IAIpC;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAI5C;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAIvD,KAAK;CAGZ"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ var NodePtyTerminalService_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NodePtyTerminalService = exports.TerminalInternalService = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const di_1 = require("@opensumi/di");
7
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
+ const platform_1 = require("@opensumi/ide-core-common/lib/platform");
9
+ const event_kit_1 = require("event-kit");
10
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
11
+ const ide_connection_1 = require("@opensumi/ide-connection");
12
+ const common_1 = require("../common");
13
+ const terminal_ext_host_proxy_1 = require("./terminal.ext.host.proxy");
14
+ let TerminalInternalService = class TerminalInternalService {
15
+ constructor() {
16
+ this._processExtHostProxies = new Map();
17
+ }
18
+ generateSessionId() {
19
+ return this.service.generateSessionId ? this.service.generateSessionId() : (0, common_1.generate)();
20
+ }
21
+ getOptions() {
22
+ return this.service.getOptions ? this.service.getOptions() : {};
23
+ }
24
+ check(sessionIds) {
25
+ return this.service.check ? this.service.check(sessionIds) : Promise.resolve(true);
26
+ }
27
+ _getExtHostProxy(id) {
28
+ return this._processExtHostProxies.get(id);
29
+ }
30
+ async attach(sessionId, xterm, rows, cols, options = {}, type) {
31
+ if (options.isExtensionTerminal) {
32
+ const proxy = new terminal_ext_host_proxy_1.TerminalProcessExtHostProxy(sessionId, cols, rows, this.controller);
33
+ proxy.start();
34
+ proxy.onProcessExit((code) => {
35
+ this._processExtHostProxies.delete(sessionId);
36
+ });
37
+ this._processExtHostProxies.set(sessionId, proxy);
38
+ return {
39
+ name: options.name || '',
40
+ readonly: false,
41
+ onData: proxy.onProcessData.bind(proxy),
42
+ sendData: proxy.input.bind(proxy),
43
+ onExit: proxy.onProcessExit.bind(proxy),
44
+ };
45
+ }
46
+ return this.service.attach(sessionId, xterm, rows, cols, options, type);
47
+ }
48
+ async sendText(sessionId, message) {
49
+ const proxy = this._getExtHostProxy(sessionId);
50
+ if (proxy) {
51
+ return proxy.emitData(message);
52
+ }
53
+ return this.service.sendText(sessionId, message);
54
+ }
55
+ async resize(sessionId, cols, rows) {
56
+ const proxy = this._getExtHostProxy(sessionId);
57
+ if (proxy) {
58
+ return proxy.resize(cols, rows);
59
+ }
60
+ return this.service.resize(sessionId, cols, rows);
61
+ }
62
+ disposeById(sessionId) {
63
+ const proxy = this._getExtHostProxy(sessionId);
64
+ if (proxy) {
65
+ this._processExtHostProxies.delete(sessionId);
66
+ return proxy.dispose();
67
+ }
68
+ return this.service.disposeById(sessionId);
69
+ }
70
+ async getProcessId(sessionId) {
71
+ const proxy = this._getExtHostProxy(sessionId);
72
+ if (proxy) {
73
+ return -1;
74
+ }
75
+ return this.service.getProcessId(sessionId);
76
+ }
77
+ onError(handler) {
78
+ return this.service.onError(handler);
79
+ }
80
+ onExit(handler) {
81
+ return this.service.onExit(handler);
82
+ }
83
+ async getOs() {
84
+ return this.service.getOs();
85
+ }
86
+ };
87
+ (0, tslib_1.__decorate)([
88
+ (0, di_1.Autowired)(common_1.ITerminalService),
89
+ (0, tslib_1.__metadata)("design:type", Object)
90
+ ], TerminalInternalService.prototype, "service", void 0);
91
+ (0, tslib_1.__decorate)([
92
+ (0, di_1.Autowired)(common_1.ITerminalController),
93
+ (0, tslib_1.__metadata)("design:type", Object)
94
+ ], TerminalInternalService.prototype, "controller", void 0);
95
+ TerminalInternalService = (0, tslib_1.__decorate)([
96
+ (0, di_1.Injectable)()
97
+ ], TerminalInternalService);
98
+ exports.TerminalInternalService = TerminalInternalService;
99
+ let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalService {
100
+ constructor() {
101
+ this._onError = new ide_core_common_1.Emitter();
102
+ this.onError = this._onError.event;
103
+ this._onExit = new ide_core_common_1.Emitter();
104
+ this.onExit = this._onExit.event;
105
+ this._dispatcher = new event_kit_1.Emitter();
106
+ }
107
+ generateSessionId() {
108
+ if ((0, ide_core_common_1.isElectronEnv)()) {
109
+ return ide_core_browser_1.electronEnv.metadata.windowClientId + '|' + (0, common_1.generate)();
110
+ }
111
+ else {
112
+ const WSChanneHandler = this.injector.get(ide_connection_1.WSChannelHandler);
113
+ return WSChanneHandler.clientId + '|' + (0, common_1.generate)();
114
+ }
115
+ }
116
+ async check(ids) {
117
+ const ensureResult = await this.service.ensureTerminal(ids);
118
+ return ensureResult;
119
+ }
120
+ _createCustomWebSocket(sessionId, name) {
121
+ return {
122
+ name,
123
+ readonly: false,
124
+ onData: (handler) => {
125
+ return this._dispatcher.on(sessionId, handler);
126
+ },
127
+ sendData: (message) => {
128
+ this.sendText(sessionId, message);
129
+ },
130
+ };
131
+ }
132
+ async attach(sessionId, _, rows, cols, options = {}, type) {
133
+ let shellPath;
134
+ // default 的情况交给系统环境来决定使用的终端类型
135
+ if (type === 'default') {
136
+ type = undefined;
137
+ }
138
+ if (type) {
139
+ if (ide_core_common_1.isWindows) {
140
+ shellPath = await this.service.$resolveWindowsShellPath(type);
141
+ }
142
+ else {
143
+ shellPath = `/bin/${type}`;
144
+ }
145
+ }
146
+ const { name, pid } = await this.service.create(sessionId, rows, cols, Object.assign({ shellPath }, options));
147
+ if (!pid || !name) {
148
+ return;
149
+ }
150
+ return this._createCustomWebSocket(sessionId, name);
151
+ }
152
+ _sendMessage(sessionId, json, requestId) {
153
+ const id = requestId || NodePtyTerminalService_1.countId++;
154
+ this.service.onMessage(sessionId, JSON.stringify(Object.assign({ id }, json)));
155
+ }
156
+ async sendText(sessionId, message) {
157
+ this._sendMessage(sessionId, {
158
+ data: message,
159
+ });
160
+ }
161
+ async resize(sessionId, cols, rows) {
162
+ this._sendMessage(sessionId, {
163
+ method: 'resize',
164
+ params: { cols, rows },
165
+ });
166
+ }
167
+ disposeById(sessionId) {
168
+ this.service.disposeById(sessionId);
169
+ }
170
+ async getProcessId(sessionId) {
171
+ return this.service.getProcessId(sessionId);
172
+ }
173
+ /**
174
+ * for pty node
175
+ *
176
+ * @param sessionId
177
+ * @param type
178
+ * @param message
179
+ */
180
+ onMessage(sessionId, message) {
181
+ this._dispatcher.emit(sessionId, message);
182
+ }
183
+ /**
184
+ * for pty node
185
+ *
186
+ * @param sessionId
187
+ */
188
+ closeClient(sessionId, code, signal) {
189
+ this._onExit.fire({ sessionId, code, signal });
190
+ }
191
+ async getOs() {
192
+ return platform_1.OS;
193
+ }
194
+ };
195
+ NodePtyTerminalService.countId = 1;
196
+ (0, tslib_1.__decorate)([
197
+ (0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
198
+ (0, tslib_1.__metadata)("design:type", di_1.Injector)
199
+ ], NodePtyTerminalService.prototype, "injector", void 0);
200
+ (0, tslib_1.__decorate)([
201
+ (0, di_1.Autowired)(ide_core_common_1.ILogger),
202
+ (0, tslib_1.__metadata)("design:type", Object)
203
+ ], NodePtyTerminalService.prototype, "logger", void 0);
204
+ (0, tslib_1.__decorate)([
205
+ (0, di_1.Autowired)(common_1.ITerminalServicePath),
206
+ (0, tslib_1.__metadata)("design:type", Object)
207
+ ], NodePtyTerminalService.prototype, "service", void 0);
208
+ NodePtyTerminalService = NodePtyTerminalService_1 = (0, tslib_1.__decorate)([
209
+ (0, di_1.Injectable)()
210
+ ], NodePtyTerminalService);
211
+ exports.NodePtyTerminalService = NodePtyTerminalService;
212
+ //# sourceMappingURL=terminal.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Themable } from '@opensumi/ide-theme/lib/browser/workbench.theme.service';
2
+ import { ITerminalTheme } from '../common';
3
+ import type { ITheme } from 'xterm';
4
+ export declare class TerminalTheme extends Themable implements ITerminalTheme {
5
+ get terminalTheme(): ITheme;
6
+ }
7
+ //# sourceMappingURL=terminal.theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.theme.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpC,qBACa,aAAc,SAAQ,QAAS,YAAW,cAAc;IACnE,IAAI,aAAa,IAAI,MAAM,CAqC1B;CACF"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalTheme = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const workbench_theme_service_1 = require("@opensumi/ide-theme/lib/browser/workbench.theme.service");
7
+ const color_1 = require("@opensumi/ide-theme/lib/common/color");
8
+ const TERMINAL_COLOR = (0, tslib_1.__importStar)(require("./terminal.color"));
9
+ let TerminalTheme = class TerminalTheme extends workbench_theme_service_1.Themable {
10
+ get terminalTheme() {
11
+ const termBgColor = this.getColorSync(TERMINAL_COLOR.TERMINAL_BACKGROUND_COLOR);
12
+ const termFgColor = this.getColorSync(TERMINAL_COLOR.TERMINAL_FOREGROUND_COLOR);
13
+ const termSelectionColor = this.getColorSync(TERMINAL_COLOR.TERMINAL_SELECTION_BACKGROUND_COLOR);
14
+ const termCursorColor = this.getColorSync(TERMINAL_COLOR.TERMINAL_CURSOR_FOREGROUND_COLOR) || termFgColor;
15
+ const termCursorAccentColor = this.getColorSync(TERMINAL_COLOR.TERMINAL_CURSOR_BACKGROUND_COLOR) || termBgColor;
16
+ const ansiColorMap = TERMINAL_COLOR.ansiColorMap;
17
+ if (!(termBgColor && termFgColor && termSelectionColor && termCursorColor && termCursorAccentColor)) {
18
+ // 因为有 fallback,这段逻辑应该不会被执行
19
+ throw new Error('terminal color undefined');
20
+ }
21
+ return {
22
+ background: color_1.Color.Format.CSS.formatHexA(termBgColor),
23
+ foreground: color_1.Color.Format.CSS.formatHexA(termFgColor),
24
+ cursor: color_1.Color.Format.CSS.formatHexA(termCursorColor),
25
+ cursorAccent: color_1.Color.Format.CSS.formatHexA(termCursorAccentColor),
26
+ selection: color_1.Color.Format.CSS.formatHexA(termSelectionColor),
27
+ black: ansiColorMap['terminal.ansiBlack'].defaults[this.theme.type],
28
+ red: ansiColorMap['terminal.ansiRed'].defaults[this.theme.type],
29
+ green: ansiColorMap['terminal.ansiGreen'].defaults[this.theme.type],
30
+ yellow: ansiColorMap['terminal.ansiYellow'].defaults[this.theme.type],
31
+ blue: ansiColorMap['terminal.ansiBlue'].defaults[this.theme.type],
32
+ magenta: ansiColorMap['terminal.ansiMagenta'].defaults[this.theme.type],
33
+ cyan: ansiColorMap['terminal.ansiCyan'].defaults[this.theme.type],
34
+ white: ansiColorMap['terminal.ansiWhite'].defaults[this.theme.type],
35
+ brightBlack: ansiColorMap['terminal.ansiBrightBlack'].defaults[this.theme.type],
36
+ brightRed: ansiColorMap['terminal.ansiBrightRed'].defaults[this.theme.type],
37
+ brightGreen: ansiColorMap['terminal.ansiBrightGreen'].defaults[this.theme.type],
38
+ brightYellow: ansiColorMap['terminal.ansiBrightYellow'].defaults[this.theme.type],
39
+ brightBlue: ansiColorMap['terminal.ansiBrightBlue'].defaults[this.theme.type],
40
+ brightMagenta: ansiColorMap['terminal.ansiBrightMagenta'].defaults[this.theme.type],
41
+ brightCyan: ansiColorMap['terminal.ansiBrightCyan'].defaults[this.theme.type],
42
+ brightWhite: ansiColorMap['terminal.ansiBrightWhite'].defaults[this.theme.type],
43
+ };
44
+ }
45
+ };
46
+ TerminalTheme = (0, tslib_1.__decorate)([
47
+ (0, di_1.Injectable)()
48
+ ], TerminalTheme);
49
+ exports.TerminalTheme = TerminalTheme;
50
+ //# sourceMappingURL=terminal.theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.theme.js","sourceRoot":"","sources":["../../src/browser/terminal.theme.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,qGAAmF;AACnF,gEAA6D;AAG7D,8EAAmD;AAGnD,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,kCAAQ;IACzC,IAAI,aAAa;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAChF,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;QACjG,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,gCAAgC,CAAC,IAAI,WAAW,CAAC;QAC1G,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,gCAAgC,CAAC,IAAI,WAAW,CAAC;QAEhH,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;QAEjD,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,IAAI,kBAAkB,IAAI,eAAe,IAAI,qBAAqB,CAAC,EAAE;YACnG,2BAA2B;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,OAAO;YACL,UAAU,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YACpD,UAAU,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YACpD,MAAM,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;YACpD,YAAY,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAChE,SAAS,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAC1D,KAAK,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC7E,GAAG,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACzE,KAAK,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC7E,MAAM,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC/E,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC3E,OAAO,EAAE,YAAY,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACjF,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC3E,KAAK,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC7E,WAAW,EAAE,YAAY,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACzF,SAAS,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACrF,WAAW,EAAE,YAAY,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACzF,YAAY,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC3F,UAAU,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACvF,aAAa,EAAE,YAAY,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YAC7F,UAAU,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;YACvF,WAAW,EAAE,YAAY,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW;SAC1F,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,aAAa;IADzB,IAAA,eAAU,GAAE;GACA,aAAa,CAuCzB;AAvCY,sCAAa"}
@@ -0,0 +1,99 @@
1
+ import { Emitter, Disposable, Event } from '@opensumi/ide-core-browser';
2
+ import { ITerminalGroupViewService, IWidget, ITerminalInternalService, IWidgetGroup } from '../common';
3
+ export declare class Widget extends Disposable implements IWidget {
4
+ reuse: boolean;
5
+ protected _id: string;
6
+ protected _group: WidgetGroup;
7
+ protected _element: HTMLDivElement;
8
+ protected _show: boolean;
9
+ protected _error: boolean;
10
+ dynamic: number;
11
+ shadowDynamic: number;
12
+ name: string;
13
+ constructor(id: string, reuse?: boolean);
14
+ get id(): string;
15
+ get group(): WidgetGroup;
16
+ set group(g: WidgetGroup);
17
+ get element(): HTMLDivElement;
18
+ set element(ele: HTMLDivElement);
19
+ get show(): boolean;
20
+ set show(status: boolean);
21
+ get error(): boolean;
22
+ set error(status: boolean);
23
+ protected _onRender: Emitter<void>;
24
+ protected _onResize: Emitter<void>;
25
+ protected _onShow: Emitter<boolean>;
26
+ protected _onError: Emitter<boolean>;
27
+ onRender: Event<void>;
28
+ onResize: Event<void>;
29
+ onShow: Event<boolean>;
30
+ onError: Event<boolean>;
31
+ resize(dynamic?: number): void;
32
+ increase(increment: number): void;
33
+ rename(name: string): void;
34
+ }
35
+ export declare class WidgetGroup extends Disposable implements IWidgetGroup {
36
+ static whole: number;
37
+ static float: number;
38
+ protected _id: string;
39
+ protected _name: string;
40
+ protected _activated: boolean;
41
+ widgets: Widget[];
42
+ editable: boolean;
43
+ activated: boolean;
44
+ name: string;
45
+ currentId: string;
46
+ widgetsMap: Map<string, Widget>;
47
+ constructor(id?: string);
48
+ get id(): string;
49
+ get length(): number;
50
+ get first(): Widget;
51
+ get last(): Widget;
52
+ get current(): Widget | undefined;
53
+ get snapshot(): string;
54
+ addWidget(widget: Widget): void;
55
+ findWidget(widget: Widget): number;
56
+ selectWidget(widget: Widget): void;
57
+ removeWidgetByIndex(index: number): Widget;
58
+ edit(): void;
59
+ unedit(): void;
60
+ rename(name: string): void;
61
+ private _isLast;
62
+ private _averageLayout;
63
+ }
64
+ export declare class TerminalGroupViewService implements ITerminalGroupViewService {
65
+ protected _widgets: Map<string, Widget>;
66
+ groups: WidgetGroup[];
67
+ currentGroupId: string;
68
+ currentGroupIndex: number;
69
+ service: ITerminalInternalService;
70
+ protected _onWidgetCreated: Emitter<Widget>;
71
+ protected _onWidgetSelected: Emitter<Widget>;
72
+ protected _onWidgetDisposed: Emitter<Widget>;
73
+ protected _onWidgetEmpty: Emitter<void>;
74
+ constructor();
75
+ get currentGroup(): WidgetGroup;
76
+ get currentWidget(): Widget;
77
+ get currentWidgetId(): string;
78
+ onWidgetCreated: Event<Widget>;
79
+ onWidgetSelected: Event<Widget>;
80
+ onWidgetDisposed: Event<Widget>;
81
+ onWidgetEmpty: Event<void>;
82
+ getGroup(index: number): WidgetGroup;
83
+ private _doSelectGroup;
84
+ selectGroup(index: number): void;
85
+ private _doCreateGroup;
86
+ createGroup(): number;
87
+ private _checkIfEmpty;
88
+ private _doRemoveGroup;
89
+ removeGroup(index: number): void;
90
+ getWidget(id: string): Widget;
91
+ selectWidget(id: string): void;
92
+ createWidget(group: WidgetGroup, id?: string, reuse?: boolean, isSimpleWidget?: boolean): Widget;
93
+ private _checkIfGroupEmpty;
94
+ removeWidget(id: string): void;
95
+ resize(): void;
96
+ empty(): boolean;
97
+ clear(): void;
98
+ }
99
+ //# sourceMappingURL=terminal.view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.view.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,wBAAwB,EAAsB,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3H,qBAAa,MAAO,SAAQ,UAAW,YAAW,OAAO;IAgBxB,KAAK,EAAE,OAAO;IAf7C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAG1B,OAAO,EAAE,MAAM,CAAK;IAGpB,aAAa,EAAE,MAAM,CAAK;IAG1B,IAAI,EAAE,MAAM,CAAM;gBAEN,EAAE,EAAE,MAAM,EAAS,KAAK,GAAE,OAAe;IAKrD,IAAI,EAAE,WAEL;IAED,IAAI,KAAK,IAII,WAAW,CAFvB;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,WAAW,EAGvB;IAED,IAAI,OAAO,IAIM,cAAc,CAF9B;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,cAAc,EAK9B;IAED,IAAI,IAAI,IAIS,OAAO,CAFvB;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAGvB;IAED,IAAI,KAAK,IAIS,OAAO,CAFxB;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAGxB;IAED,SAAS,CAAC,SAAS,gBAAuB;IAC1C,SAAS,CAAC,SAAS,gBAAuB;IAC1C,SAAS,CAAC,OAAO,mBAA0B;IAC3C,SAAS,CAAC,QAAQ,mBAA0B;IAC5C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAwB;IAC7C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAwB;IAC7C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAsB;IAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAuB;IAE9C,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;IAMvB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAK1B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGpB;AAED,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE,MAAM,CAAC,KAAK,SAAO;IACnB,MAAM,CAAC,KAAK,SAAQ;IAEpB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAG9B,OAAO,EAAE,MAAM,EAAE,CAAM;IAGvB,QAAQ,EAAE,OAAO,CAAS;IAG1B,SAAS,EAAE,OAAO,CAAS;IAG3B,IAAI,EAAE,MAAM,CAAM;IAGlB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;gBAEhC,EAAE,CAAC,EAAE,MAAM;IAMvB,IAAI,EAAE,WAEL;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,WAER;IAED,IAAI,IAAI,WAEP;IAED,IAAI,OAAO,uBAEV;IAED,IACI,QAAQ,WAWX;IAED,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAYjC,IAAI;IAIJ,MAAM;IAIN,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;CAWvB;AAED,qBACa,wBAAyB,YAAW,yBAAyB;IACxE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGxC,MAAM,EAAE,WAAW,EAAE,CAAM;IAG3B,cAAc,EAAE,MAAM,CAAC;IAGvB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,OAAO,EAAE,wBAAwB,CAAC;IAElC,SAAS,CAAC,gBAAgB,kBAAyB;IACnD,SAAS,CAAC,iBAAiB,kBAAyB;IACpD,SAAS,CAAC,iBAAiB,kBAAyB;IACpD,SAAS,CAAC,cAAc,gBAAuB;;IAM/C,IAAI,YAAY,gBAEf;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,eAAe,WAElB;IAED,eAAe,gBAA+B;IAC9C,gBAAgB,gBAAgC;IAChD,gBAAgB,gBAAgC;IAChD,aAAa,cAA6B;IAE1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAOpC,OAAO,CAAC,cAAc;IAetB,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,OAAO,CAAC,cAAc;IAMtB,WAAW;IAMX,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,cAAc;IAetB,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,SAAS,CAAC,EAAE,EAAE,MAAM;IAUpB,YAAY,CAAC,EAAE,EAAE,MAAM;IAQvB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,GAAE,OAAe;IAU9F,OAAO,CAAC,kBAAkB;IAO1B,YAAY,CAAC,EAAE,EAAE,MAAM;IAYvB,MAAM;IAQN,KAAK;IAIL,KAAK;CAKN"}