@theia/terminal 1.67.0-next.56 → 1.67.0-next.86

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 (157) hide show
  1. package/lib/browser/base/terminal-service.d.ts +35 -0
  2. package/lib/browser/base/terminal-service.d.ts.map +1 -0
  3. package/lib/browser/base/terminal-service.js +8 -0
  4. package/lib/browser/base/terminal-service.js.map +1 -0
  5. package/lib/browser/base/terminal-widget.d.ts +219 -0
  6. package/lib/browser/base/terminal-widget.d.ts.map +1 -0
  7. package/lib/browser/base/terminal-widget.js +35 -0
  8. package/lib/browser/base/terminal-widget.js.map +1 -0
  9. package/lib/browser/index.d.ts +2 -0
  10. package/lib/browser/index.d.ts.map +1 -0
  11. package/lib/browser/index.js +20 -0
  12. package/lib/browser/index.js.map +1 -0
  13. package/lib/browser/search/terminal-search-container.d.ts +4 -0
  14. package/lib/browser/search/terminal-search-container.d.ts.map +1 -0
  15. package/lib/browser/search/terminal-search-container.js +29 -0
  16. package/lib/browser/search/terminal-search-container.js.map +1 -0
  17. package/lib/browser/search/terminal-search-widget.d.ts +31 -0
  18. package/lib/browser/search/terminal-search-widget.d.ts.map +1 -0
  19. package/lib/browser/search/terminal-search-widget.js +141 -0
  20. package/lib/browser/search/terminal-search-widget.js.map +1 -0
  21. package/lib/browser/shell-terminal-profile.d.ts +21 -0
  22. package/lib/browser/shell-terminal-profile.d.ts.map +1 -0
  23. package/lib/browser/shell-terminal-profile.js +43 -0
  24. package/lib/browser/shell-terminal-profile.js.map +1 -0
  25. package/lib/browser/terminal-contribution.d.ts +4 -0
  26. package/lib/browser/terminal-contribution.d.ts.map +1 -0
  27. package/lib/browser/terminal-contribution.js +21 -0
  28. package/lib/browser/terminal-contribution.js.map +1 -0
  29. package/lib/browser/terminal-copy-on-selection-handler.d.ts +11 -0
  30. package/lib/browser/terminal-copy-on-selection-handler.d.ts.map +1 -0
  31. package/lib/browser/terminal-copy-on-selection-handler.js +96 -0
  32. package/lib/browser/terminal-copy-on-selection-handler.js.map +1 -0
  33. package/lib/browser/terminal-file-link-provider.d.ts +40 -0
  34. package/lib/browser/terminal-file-link-provider.d.ts.map +1 -0
  35. package/lib/browser/terminal-file-link-provider.js +288 -0
  36. package/lib/browser/terminal-file-link-provider.js.map +1 -0
  37. package/lib/browser/terminal-frontend-contribution.d.ts +120 -0
  38. package/lib/browser/terminal-frontend-contribution.d.ts.map +1 -0
  39. package/lib/browser/terminal-frontend-contribution.js +1087 -0
  40. package/lib/browser/terminal-frontend-contribution.js.map +1 -0
  41. package/lib/browser/terminal-frontend-module.d.ts +6 -0
  42. package/lib/browser/terminal-frontend-module.d.ts.map +1 -0
  43. package/lib/browser/terminal-frontend-module.js +118 -0
  44. package/lib/browser/terminal-frontend-module.js.map +1 -0
  45. package/lib/browser/terminal-link-helpers.d.ts +28 -0
  46. package/lib/browser/terminal-link-helpers.d.ts.map +1 -0
  47. package/lib/browser/terminal-link-helpers.js +156 -0
  48. package/lib/browser/terminal-link-helpers.js.map +1 -0
  49. package/lib/browser/terminal-link-provider.d.ts +52 -0
  50. package/lib/browser/terminal-link-provider.d.ts.map +1 -0
  51. package/lib/browser/terminal-link-provider.js +190 -0
  52. package/lib/browser/terminal-link-provider.js.map +1 -0
  53. package/lib/browser/terminal-profile-service.d.ts +59 -0
  54. package/lib/browser/terminal-profile-service.d.ts.map +1 -0
  55. package/lib/browser/terminal-profile-service.js +152 -0
  56. package/lib/browser/terminal-profile-service.js.map +1 -0
  57. package/lib/browser/terminal-quick-open-service.d.ts +37 -0
  58. package/lib/browser/terminal-quick-open-service.d.ts.map +1 -0
  59. package/lib/browser/terminal-quick-open-service.js +130 -0
  60. package/lib/browser/terminal-quick-open-service.js.map +1 -0
  61. package/lib/browser/terminal-theme-service.d.ts +12 -0
  62. package/lib/browser/terminal-theme-service.d.ts.map +1 -0
  63. package/lib/browser/terminal-theme-service.js +67 -0
  64. package/lib/browser/terminal-theme-service.js.map +1 -0
  65. package/lib/browser/terminal-url-link-provider.d.ts +12 -0
  66. package/lib/browser/terminal-url-link-provider.d.ts.map +1 -0
  67. package/lib/browser/terminal-url-link-provider.js +69 -0
  68. package/lib/browser/terminal-url-link-provider.js.map +1 -0
  69. package/lib/browser/terminal-widget-impl.d.ts +193 -0
  70. package/lib/browser/terminal-widget-impl.d.ts.map +1 -0
  71. package/lib/browser/terminal-widget-impl.js +918 -0
  72. package/lib/browser/terminal-widget-impl.js.map +1 -0
  73. package/lib/common/base-terminal-protocol.d.ts +56 -0
  74. package/lib/common/base-terminal-protocol.d.ts.map +1 -0
  75. package/lib/common/base-terminal-protocol.js +85 -0
  76. package/lib/common/base-terminal-protocol.js.map +1 -0
  77. package/lib/common/shell-terminal-protocol.d.ts +67 -0
  78. package/lib/common/shell-terminal-protocol.d.ts.map +1 -0
  79. package/lib/common/shell-terminal-protocol.js +36 -0
  80. package/lib/common/shell-terminal-protocol.js.map +1 -0
  81. package/lib/common/shell-type.d.ts +23 -0
  82. package/lib/common/shell-type.d.ts.map +1 -0
  83. package/lib/common/shell-type.js +66 -0
  84. package/lib/common/shell-type.js.map +1 -0
  85. package/lib/common/shell-type.spec.d.ts +2 -0
  86. package/lib/common/shell-type.spec.d.ts.map +1 -0
  87. package/lib/common/shell-type.spec.js +159 -0
  88. package/lib/common/shell-type.spec.js.map +1 -0
  89. package/lib/common/terminal-preferences.d.ts +74 -0
  90. package/lib/common/terminal-preferences.d.ts.map +1 -0
  91. package/lib/common/terminal-preferences.js +516 -0
  92. package/lib/common/terminal-preferences.js.map +1 -0
  93. package/lib/common/terminal-protocol.d.ts +13 -0
  94. package/lib/common/terminal-protocol.d.ts.map +1 -0
  95. package/lib/common/terminal-protocol.js +22 -0
  96. package/lib/common/terminal-protocol.js.map +1 -0
  97. package/lib/common/terminal-watcher.d.ts +14 -0
  98. package/lib/common/terminal-watcher.d.ts.map +1 -0
  99. package/lib/common/terminal-watcher.js +66 -0
  100. package/lib/common/terminal-watcher.js.map +1 -0
  101. package/lib/node/base-terminal-server.d.ts +25 -0
  102. package/lib/node/base-terminal-server.d.ts.map +1 -0
  103. package/lib/node/base-terminal-server.js +158 -0
  104. package/lib/node/base-terminal-server.js.map +1 -0
  105. package/lib/node/buffering-stream.d.ts +42 -0
  106. package/lib/node/buffering-stream.d.ts.map +1 -0
  107. package/lib/node/buffering-stream.js +76 -0
  108. package/lib/node/buffering-stream.js.map +1 -0
  109. package/lib/node/buffering-stream.spec.d.ts +2 -0
  110. package/lib/node/buffering-stream.spec.d.ts.map +1 -0
  111. package/lib/node/buffering-stream.spec.js +44 -0
  112. package/lib/node/buffering-stream.spec.js.map +1 -0
  113. package/lib/node/index.d.ts +2 -0
  114. package/lib/node/index.d.ts.map +1 -0
  115. package/lib/node/index.js +20 -0
  116. package/lib/node/index.js.map +1 -0
  117. package/lib/node/shell-process.d.ts +28 -0
  118. package/lib/node/shell-process.d.ts.map +1 -0
  119. package/lib/node/shell-process.js +97 -0
  120. package/lib/node/shell-process.js.map +1 -0
  121. package/lib/node/shell-terminal-server.d.ts +31 -0
  122. package/lib/node/shell-terminal-server.d.ts.map +1 -0
  123. package/lib/node/shell-terminal-server.js +218 -0
  124. package/lib/node/shell-terminal-server.js.map +1 -0
  125. package/lib/node/shell-terminal-server.spec.d.ts +2 -0
  126. package/lib/node/shell-terminal-server.spec.d.ts.map +1 -0
  127. package/lib/node/shell-terminal-server.spec.js +36 -0
  128. package/lib/node/shell-terminal-server.spec.js.map +1 -0
  129. package/lib/node/terminal-backend-contribution.d.ts +10 -0
  130. package/lib/node/terminal-backend-contribution.d.ts.map +1 -0
  131. package/lib/node/terminal-backend-contribution.js +68 -0
  132. package/lib/node/terminal-backend-contribution.js.map +1 -0
  133. package/lib/node/terminal-backend-contribution.slow-spec.d.ts +2 -0
  134. package/lib/node/terminal-backend-contribution.slow-spec.d.ts.map +1 -0
  135. package/lib/node/terminal-backend-contribution.slow-spec.js +55 -0
  136. package/lib/node/terminal-backend-contribution.slow-spec.js.map +1 -0
  137. package/lib/node/terminal-backend-module.d.ts +12 -0
  138. package/lib/node/terminal-backend-module.d.ts.map +1 -0
  139. package/lib/node/terminal-backend-module.js +70 -0
  140. package/lib/node/terminal-backend-module.js.map +1 -0
  141. package/lib/node/terminal-server.d.ts +10 -0
  142. package/lib/node/terminal-server.d.ts.map +1 -0
  143. package/lib/node/terminal-server.js +54 -0
  144. package/lib/node/terminal-server.js.map +1 -0
  145. package/lib/node/terminal-server.spec.d.ts +2 -0
  146. package/lib/node/terminal-server.spec.d.ts.map +1 -0
  147. package/lib/node/terminal-server.spec.js +38 -0
  148. package/lib/node/terminal-server.spec.js.map +1 -0
  149. package/lib/node/test/terminal-test-container.d.ts +3 -0
  150. package/lib/node/test/terminal-test-container.d.ts.map +1 -0
  151. package/lib/node/test/terminal-test-container.js +41 -0
  152. package/lib/node/test/terminal-test-container.js.map +1 -0
  153. package/lib/package.spec.d.ts +1 -0
  154. package/lib/package.spec.d.ts.map +1 -0
  155. package/lib/package.spec.js +26 -0
  156. package/lib/package.spec.js.map +1 -0
  157. package/package.json +9 -9
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TerminalThemeService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const color_registry_1 = require("@theia/core/lib/browser/color-registry");
22
+ const theming_1 = require("@theia/core/lib/browser/theming");
23
+ const terminal_preferences_1 = require("../common/terminal-preferences");
24
+ let TerminalThemeService = class TerminalThemeService {
25
+ get onDidChange() {
26
+ return this.themeService.onDidColorThemeChange;
27
+ }
28
+ get theme() {
29
+ const foregroundColor = this.colorRegistry.getCurrentColor('terminal.foreground');
30
+ const backgroundColor = this.colorRegistry.getCurrentColor('terminal.background') || this.colorRegistry.getCurrentColor('panel.background');
31
+ const cursorColor = this.colorRegistry.getCurrentColor('terminalCursor.foreground') || foregroundColor;
32
+ const cursorAccentColor = this.colorRegistry.getCurrentColor('terminalCursor.background') || backgroundColor;
33
+ const selectionBackgroundColor = this.colorRegistry.getCurrentColor('terminal.selectionBackground');
34
+ const selectionInactiveBackground = this.colorRegistry.getCurrentColor('terminal.inactiveSelectionBackground');
35
+ const selectionForegroundColor = this.colorRegistry.getCurrentColor('terminal.selectionForeground');
36
+ const theme = {
37
+ background: backgroundColor,
38
+ foreground: foregroundColor,
39
+ cursor: cursorColor,
40
+ cursorAccent: cursorAccentColor,
41
+ selectionBackground: selectionBackgroundColor,
42
+ selectionInactiveBackground: selectionInactiveBackground,
43
+ selectionForeground: selectionForegroundColor
44
+ };
45
+ // eslint-disable-next-line guard-for-in
46
+ for (const id in terminal_preferences_1.terminalAnsiColorMap) {
47
+ const colorId = id.substring(13);
48
+ const colorName = colorId.charAt(0).toLowerCase() + colorId.slice(1);
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ theme[colorName] = this.colorRegistry.getCurrentColor(id);
51
+ }
52
+ return theme;
53
+ }
54
+ };
55
+ exports.TerminalThemeService = TerminalThemeService;
56
+ tslib_1.__decorate([
57
+ (0, inversify_1.inject)(color_registry_1.ColorRegistry),
58
+ tslib_1.__metadata("design:type", color_registry_1.ColorRegistry)
59
+ ], TerminalThemeService.prototype, "colorRegistry", void 0);
60
+ tslib_1.__decorate([
61
+ (0, inversify_1.inject)(theming_1.ThemeService),
62
+ tslib_1.__metadata("design:type", theming_1.ThemeService)
63
+ ], TerminalThemeService.prototype, "themeService", void 0);
64
+ exports.TerminalThemeService = TerminalThemeService = tslib_1.__decorate([
65
+ (0, inversify_1.injectable)()
66
+ ], TerminalThemeService);
67
+ //# sourceMappingURL=terminal-theme-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-theme-service.js","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,4DAAkE;AAClE,2EAAuE;AACvE,6DAA+D;AAG/D,yEAAsE;AAG/D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAK7B,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACL,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAClF,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC5I,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,eAAe,CAAC;QACvG,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,eAAe,CAAC;QAC7G,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC;QACpG,MAAM,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;QAC/G,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC;QAEpG,MAAM,KAAK,GAAW;YAClB,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,iBAAiB;YAC/B,mBAAmB,EAAE,wBAAwB;YAC7C,2BAA2B,EAAE,2BAA2B;YACxD,mBAAmB,EAAE,wBAAwB;SAChD,CAAC;QACF,wCAAwC;QACxC,KAAK,MAAM,EAAE,IAAI,2CAAoB,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrE,8DAA8D;YAC7D,KAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ,CAAA;AArCY,oDAAoB;AAEa;IAAzC,IAAA,kBAAM,EAAC,8BAAa,CAAC;sCAAmC,8BAAa;2DAAC;AAC9B;IAAxC,IAAA,kBAAM,EAAC,sBAAY,CAAC;sCAAkC,sBAAY;0DAAC;+BAH3D,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAqChC"}
@@ -0,0 +1,12 @@
1
+ import { OpenerService } from '@theia/core/lib/browser';
2
+ import { TerminalWidget } from './base/terminal-widget';
3
+ import { TerminalLink, TerminalLinkProvider } from './terminal-link-provider';
4
+ export declare class UrlLinkProvider implements TerminalLinkProvider {
5
+ protected readonly openerService: OpenerService;
6
+ protected readonly urlRegExp: RegExp;
7
+ protected readonly localhostRegExp: RegExp;
8
+ provideLinks(line: string, terminal: TerminalWidget): Promise<TerminalLink[]>;
9
+ protected matchUrlLinks(line: string): TerminalLink[];
10
+ protected matchLocalhostLinks(line: string): TerminalLink[];
11
+ }
12
+ //# sourceMappingURL=terminal-url-link-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-url-link-provider.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-url-link-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,qBACa,eAAgB,YAAW,oBAAoB;IAEjC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvE,SAAS,CAAC,QAAQ,CAAC,SAAS,SAAkG;IAC9H,SAAS,CAAC,QAAQ,CAAC,eAAe,SAAmG;IAE/H,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAInF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAcrD,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;CAiB9D"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2022 STMicroelectronics and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.UrlLinkProvider = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const uri_1 = require("@theia/core/lib/common/uri");
23
+ let UrlLinkProvider = class UrlLinkProvider {
24
+ constructor() {
25
+ this.urlRegExp = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g;
26
+ this.localhostRegExp = /(https?:\/\/)?(localhost|127\.0\.0\.1|0\.0\.0\.0)(:[0-9]{1,5})?([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g;
27
+ }
28
+ async provideLinks(line, terminal) {
29
+ return [...this.matchUrlLinks(line), ...this.matchLocalhostLinks(line)];
30
+ }
31
+ matchUrlLinks(line) {
32
+ const links = [];
33
+ let regExpResult;
34
+ while (regExpResult = this.urlRegExp.exec(line)) {
35
+ const match = regExpResult[0];
36
+ links.push({
37
+ startIndex: this.urlRegExp.lastIndex - match.length,
38
+ length: match.length,
39
+ handle: () => (0, browser_1.open)(this.openerService, new uri_1.default(match)).then()
40
+ });
41
+ }
42
+ return links;
43
+ }
44
+ matchLocalhostLinks(line) {
45
+ const links = [];
46
+ let regExpResult;
47
+ while (regExpResult = this.localhostRegExp.exec(line)) {
48
+ const match = regExpResult[0];
49
+ links.push({
50
+ startIndex: this.localhostRegExp.lastIndex - match.length,
51
+ length: match.length,
52
+ handle: async () => {
53
+ const uri = match.startsWith('http') ? match : `http://${match}`;
54
+ (0, browser_1.open)(this.openerService, new uri_1.default(uri));
55
+ }
56
+ });
57
+ }
58
+ return links;
59
+ }
60
+ };
61
+ exports.UrlLinkProvider = UrlLinkProvider;
62
+ tslib_1.__decorate([
63
+ (0, inversify_1.inject)(browser_1.OpenerService),
64
+ tslib_1.__metadata("design:type", Object)
65
+ ], UrlLinkProvider.prototype, "openerService", void 0);
66
+ exports.UrlLinkProvider = UrlLinkProvider = tslib_1.__decorate([
67
+ (0, inversify_1.injectable)()
68
+ ], UrlLinkProvider);
69
+ //# sourceMappingURL=terminal-url-link-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-url-link-provider.js","sourceRoot":"","sources":["../../src/browser/terminal-url-link-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,qDAA8D;AAG9D,oDAA6C;AAGtC,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QAIgB,cAAS,GAAG,8FAA8F,CAAC;QAC3G,oBAAe,GAAG,+FAA+F,CAAC;IAqCzI,CAAC;IAnCG,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAwB;QACrD,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAES,aAAa,CAAC,IAAY;QAChC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,YAAoC,CAAC;QACzC,OAAO,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACP,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM;gBACnD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;aAChE,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,mBAAmB,CAAC,IAAY;QACtC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,YAAoC,CAAC;QACzC,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,YAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACP,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM;gBACzD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC;oBACjE,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,aAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ,CAAA;AA1CY,0CAAe;AAEkB;IAAzC,IAAA,kBAAM,EAAC,uBAAa,CAAC;;sDAAiD;0BAF9D,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CA0C3B"}
@@ -0,0 +1,193 @@
1
+ import { Terminal } from 'xterm';
2
+ import { FitAddon } from 'xterm-addon-fit';
3
+ import { WebglAddon } from 'xterm-addon-webgl';
4
+ import { ContributionProvider, Event, Emitter, ILogger, DisposableCollection, Channel } from '@theia/core';
5
+ import { Widget, Message, StatefulWidget, ExtractableWidget, ContextMenuRenderer } from '@theia/core/lib/browser';
6
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
7
+ import { ShellTerminalServerProxy, IShellTerminalPreferences } from '../common/shell-terminal-protocol';
8
+ import { TerminalProcessInfo } from '../common/base-terminal-protocol';
9
+ import { TerminalWatcher } from '../common/terminal-watcher';
10
+ import { TerminalWidgetOptions, TerminalWidget, TerminalDimensions, TerminalExitStatus, TerminalLocationOptions, TerminalBuffer } from './base/terminal-widget';
11
+ import { Deferred } from '@theia/core/lib/common/promise-util';
12
+ import { TerminalPreferences } from '../common/terminal-preferences';
13
+ import URI from '@theia/core/lib/common/uri';
14
+ import { TerminalService } from './base/terminal-service';
15
+ import { TerminalSearchWidgetFactory, TerminalSearchWidget } from './search/terminal-search-widget';
16
+ import { TerminalCopyOnSelectionHandler } from './terminal-copy-on-selection-handler';
17
+ import { TerminalThemeService } from './terminal-theme-service';
18
+ import { CommandLineOptions, ShellCommandBuilder } from '@theia/process/lib/common/shell-command-builder';
19
+ import { MarkdownString } from '@theia/core/lib/common/markdown-rendering/markdown-string';
20
+ import { EnhancedPreviewWidget } from '@theia/core/lib/browser/widgets/enhanced-preview-widget';
21
+ import { MarkdownRenderer, MarkdownRendererFactory } from '@theia/core/lib/browser/markdown-rendering/markdown-renderer';
22
+ import { ServiceConnectionProvider } from '@theia/core/lib/browser/messaging/service-connection-provider';
23
+ import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
24
+ export declare const TERMINAL_WIDGET_FACTORY_ID = "terminal";
25
+ export interface TerminalWidgetFactoryOptions extends Partial<TerminalWidgetOptions> {
26
+ created: string;
27
+ }
28
+ export declare const TerminalContribution: unique symbol;
29
+ export interface TerminalContribution {
30
+ onCreate(term: TerminalWidgetImpl): void;
31
+ }
32
+ export declare class TerminalWidgetImpl extends TerminalWidget implements StatefulWidget, ExtractableWidget, EnhancedPreviewWidget {
33
+ readonly isExtractable: boolean;
34
+ secondaryWindow: Window | undefined;
35
+ location: TerminalLocationOptions;
36
+ static LABEL: string;
37
+ exitStatus: TerminalExitStatus | undefined;
38
+ protected terminalKind: string;
39
+ protected _terminalId: number;
40
+ protected readonly onTermDidClose: Emitter<TerminalWidget>;
41
+ protected fitAddon: FitAddon;
42
+ protected webglAddon: WebglAddon;
43
+ protected term: Terminal;
44
+ protected searchBox: TerminalSearchWidget;
45
+ protected restored: boolean;
46
+ protected closeOnDispose: boolean;
47
+ protected waitForConnection: Deferred<Channel> | undefined;
48
+ protected linkHover: HTMLDivElement;
49
+ protected linkHoverButton: HTMLAnchorElement;
50
+ protected lastTouchEnd: TouchEvent | undefined;
51
+ protected lastMousePosition: {
52
+ x: number;
53
+ y: number;
54
+ } | undefined;
55
+ protected isAttachedCloseListener: boolean;
56
+ protected shown: boolean;
57
+ protected enhancedPreviewNode: Node | undefined;
58
+ protected styleElement: HTMLStyleElement | undefined;
59
+ lastCwd: URI;
60
+ protected readonly workspaceService: WorkspaceService;
61
+ protected readonly connectionProvider: ServiceConnectionProvider;
62
+ options: TerminalWidgetOptions;
63
+ protected readonly shellTerminalServer: ShellTerminalServerProxy;
64
+ protected readonly terminalWatcher: TerminalWatcher;
65
+ protected readonly logger: ILogger;
66
+ readonly _terminalDOMId: string;
67
+ protected readonly preferences: TerminalPreferences;
68
+ protected readonly terminalContributionProvider: ContributionProvider<TerminalContribution>;
69
+ protected readonly terminalService: TerminalService;
70
+ protected readonly terminalSearchBoxFactory: TerminalSearchWidgetFactory;
71
+ protected readonly copyOnSelectionHandler: TerminalCopyOnSelectionHandler;
72
+ protected readonly themeService: TerminalThemeService;
73
+ protected readonly colorRegistry: ColorRegistry;
74
+ protected readonly shellCommandBuilder: ShellCommandBuilder;
75
+ protected readonly contextMenuRenderer: ContextMenuRenderer;
76
+ protected readonly markdownRendererFactory: MarkdownRendererFactory;
77
+ protected _markdownRenderer: MarkdownRenderer | undefined;
78
+ protected get markdownRenderer(): MarkdownRenderer;
79
+ protected readonly onDidOpenEmitter: Emitter<void>;
80
+ readonly onDidOpen: Event<void>;
81
+ protected readonly onDidOpenFailureEmitter: Emitter<void>;
82
+ readonly onDidOpenFailure: Event<void>;
83
+ protected readonly onSizeChangedEmitter: Emitter<{
84
+ cols: number;
85
+ rows: number;
86
+ }>;
87
+ readonly onSizeChanged: Event<{
88
+ cols: number;
89
+ rows: number;
90
+ }>;
91
+ protected readonly onDataEmitter: Emitter<string>;
92
+ readonly onData: Event<string>;
93
+ protected readonly onOutputEmitter: Emitter<string>;
94
+ readonly onOutput: Event<string>;
95
+ protected readonly onKeyEmitter: Emitter<{
96
+ key: string;
97
+ domEvent: KeyboardEvent;
98
+ }>;
99
+ readonly onKey: Event<{
100
+ key: string;
101
+ domEvent: KeyboardEvent;
102
+ }>;
103
+ protected readonly onMouseEnterLinkHoverEmitter: Emitter<MouseEvent>;
104
+ readonly onMouseEnterLinkHover: Event<MouseEvent>;
105
+ protected readonly onMouseLeaveLinkHoverEmitter: Emitter<MouseEvent>;
106
+ readonly onMouseLeaveLinkHover: Event<MouseEvent>;
107
+ protected readonly onShellTypeChangedEmiter: Emitter<string>;
108
+ readonly onShellTypeChanged: Event<string>;
109
+ protected readonly toDisposeOnConnect: DisposableCollection;
110
+ private _buffer;
111
+ get buffer(): TerminalBuffer;
112
+ protected init(): void;
113
+ get kind(): 'user' | string;
114
+ updateConfig(): void;
115
+ protected setIconClass(): void;
116
+ private setCursorBlink;
117
+ private setCursorStyle;
118
+ private setCursorWidth;
119
+ protected initializeLinkHover(): void;
120
+ showLinkHover(invokeAction: (event: MouseEvent) => void, x: number, y: number, message?: string): void;
121
+ protected linkHoverMessage(message?: string): string;
122
+ hideLinkHover(): void;
123
+ getTerminal(): Terminal;
124
+ getSearchBox(): TerminalSearchWidget;
125
+ protected onCloseRequest(msg: Message): void;
126
+ get dimensions(): TerminalDimensions;
127
+ get cwd(): Promise<URI>;
128
+ get processId(): Promise<number>;
129
+ get processInfo(): Promise<TerminalProcessInfo>;
130
+ get envVarCollectionDescriptionsByExtension(): Promise<Map<string, (string | MarkdownString | undefined)[]>>;
131
+ get terminalId(): number;
132
+ get lastTouchEndEvent(): TouchEvent | undefined;
133
+ get hiddenFromUser(): boolean;
134
+ get transient(): boolean;
135
+ onDispose(onDispose: () => void): void;
136
+ clearOutput(): void;
137
+ selectAll(): void;
138
+ hasChildProcesses(): Promise<boolean>;
139
+ storeState(): object;
140
+ restoreState(oldState: object): void;
141
+ /**
142
+ * Create a new shell terminal in the back-end and attach it to a
143
+ * new terminal widget.
144
+ * If id is provided attach to the terminal for this id.
145
+ */
146
+ start(id?: number): Promise<number>;
147
+ protected attachTerminal(id: number): Promise<number>;
148
+ protected createTerminal(): Promise<number>;
149
+ processMessage(msg: Message): void;
150
+ protected onFitRequest(msg: Message): void;
151
+ protected onActivateRequest(msg: Message): void;
152
+ protected onAfterShow(msg: Message): void;
153
+ protected onAfterAttach(msg: Message): void;
154
+ protected onBeforeDetach(msg: Message): void;
155
+ protected onResize(msg: Widget.ResizeMessage): void;
156
+ protected needsResize: boolean;
157
+ protected onUpdateRequest(msg: Message): void;
158
+ protected readonly deviceStatusCodes: Set<string>;
159
+ protected connectTerminalProcess(): void;
160
+ protected reconnectTerminalProcess(): Promise<void>;
161
+ protected termOpened: boolean;
162
+ protected initialData: string;
163
+ protected open(): void;
164
+ write(data: string): void;
165
+ resize(cols: number, rows: number): void;
166
+ sendText(text: string): void;
167
+ executeCommand(commandOptions: CommandLineOptions): Promise<void>;
168
+ scrollLineUp(): void;
169
+ scrollLineDown(): void;
170
+ scrollToTop(): void;
171
+ scrollToBottom(): void;
172
+ scrollPageUp(): void;
173
+ scrollPageDown(): void;
174
+ resetTerminal(): void;
175
+ writeLine(text: string): void;
176
+ get onTerminalDidClose(): Event<TerminalWidget>;
177
+ dispose(): void;
178
+ protected resizeTerminal: () => Promise<void>;
179
+ protected doResizeTerminal(): void;
180
+ protected resizeTerminalProcess(): void;
181
+ protected get enableCopy(): boolean;
182
+ protected get enablePaste(): boolean;
183
+ protected get shellPreferences(): IShellTerminalPreferences;
184
+ protected customKeyHandler(event: KeyboardEvent): boolean;
185
+ protected get copyOnSelection(): boolean;
186
+ protected attachCustomKeyEventHandler(): void;
187
+ setTitle(title: string): void;
188
+ waitOnExit(waitOnExit?: boolean | string): void;
189
+ private attachPressEnterKeyToCloseListener;
190
+ private disableEnterWhenAttachCloseListener;
191
+ getEnhancedPreviewNode(): Node | undefined;
192
+ }
193
+ //# sourceMappingURL=terminal-widget-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-widget-impl.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"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"}