@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,190 @@
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.XtermLinkAdapter = exports.TerminalLinkProviderContribution = exports.createXtermLinkFactory = exports.XtermLinkFactory = exports.XtermLink = exports.TerminalLink = exports.TerminalLinkProvider = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const common_1 = require("@theia/core/lib/common");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const terminal_link_helpers_1 = require("./terminal-link-helpers");
24
+ const terminal_widget_impl_1 = require("./terminal-widget-impl");
25
+ exports.TerminalLinkProvider = Symbol('TerminalLinkProvider');
26
+ exports.TerminalLink = Symbol('TerminalLink');
27
+ exports.XtermLink = Symbol('XtermLink');
28
+ exports.XtermLinkFactory = Symbol('XtermLinkFactory');
29
+ function createXtermLinkFactory(ctx) {
30
+ return (link, terminal, context) => {
31
+ const container = ctx.container.createChild();
32
+ container.bind(exports.TerminalLink).toConstantValue(link);
33
+ container.bind(terminal_widget_impl_1.TerminalWidgetImpl).toConstantValue(terminal);
34
+ container.bind(terminal_link_helpers_1.LinkContext).toConstantValue(context);
35
+ container.bind(XtermLinkAdapter).toSelf().inSingletonScope();
36
+ container.bind(exports.XtermLink).toService(XtermLinkAdapter);
37
+ const provider = container.get(exports.XtermLink);
38
+ return provider;
39
+ };
40
+ }
41
+ exports.createXtermLinkFactory = createXtermLinkFactory;
42
+ let TerminalLinkProviderContribution = class TerminalLinkProviderContribution {
43
+ onCreate(terminalWidget) {
44
+ terminalWidget.getTerminal().registerLinkProvider({
45
+ provideLinks: (line, provideLinks) => this.provideTerminalLinks(terminalWidget, line, provideLinks)
46
+ });
47
+ }
48
+ async provideTerminalLinks(terminal, line, provideLinks) {
49
+ const context = (0, terminal_link_helpers_1.getLinkContext)(terminal.getTerminal(), line);
50
+ const linkProviderPromises = [];
51
+ for (const provider of this.terminalLinkContributionProvider.getContributions(true)) {
52
+ linkProviderPromises.push(provider.provideLinks(context.text, terminal));
53
+ }
54
+ const xtermLinks = [];
55
+ for (const providerResult of await Promise.allSettled(linkProviderPromises)) {
56
+ if (providerResult.status === 'fulfilled') {
57
+ const providedLinks = providerResult.value;
58
+ xtermLinks.push(...providedLinks.map(link => this.xtermLinkFactory(link, terminal, context)));
59
+ }
60
+ else {
61
+ console.warn('Terminal link provider failed to provide links', providerResult.reason);
62
+ }
63
+ }
64
+ provideLinks(xtermLinks);
65
+ }
66
+ };
67
+ exports.TerminalLinkProviderContribution = TerminalLinkProviderContribution;
68
+ tslib_1.__decorate([
69
+ (0, inversify_1.inject)(core_1.ContributionProvider),
70
+ (0, inversify_1.named)(exports.TerminalLinkProvider),
71
+ tslib_1.__metadata("design:type", Object)
72
+ ], TerminalLinkProviderContribution.prototype, "terminalLinkContributionProvider", void 0);
73
+ tslib_1.__decorate([
74
+ (0, inversify_1.inject)(exports.XtermLinkFactory),
75
+ tslib_1.__metadata("design:type", Function)
76
+ ], TerminalLinkProviderContribution.prototype, "xtermLinkFactory", void 0);
77
+ exports.TerminalLinkProviderContribution = TerminalLinkProviderContribution = tslib_1.__decorate([
78
+ (0, inversify_1.injectable)()
79
+ ], TerminalLinkProviderContribution);
80
+ const DELAY_PREFERENCE = 'workbench.hover.delay';
81
+ let XtermLinkAdapter = class XtermLinkAdapter {
82
+ constructor() {
83
+ this.toDispose = new core_1.DisposableCollection();
84
+ this.mouseEnteredHover = false;
85
+ this.mouseLeftHover = false;
86
+ }
87
+ initializeLinkFields() {
88
+ const range = {
89
+ startColumn: this.link.startIndex + 1,
90
+ startLineNumber: 1,
91
+ endColumn: this.link.startIndex + this.link.length + 1,
92
+ endLineNumber: 1
93
+ };
94
+ const terminal = this.terminalWidget.getTerminal();
95
+ this.range = (0, terminal_link_helpers_1.convertLinkRangeToBuffer)(this.context.lines, terminal.cols, range, this.context.startLine);
96
+ this.text = this.context.text.substring(this.link.startIndex, this.link.startIndex + this.link.length) || '';
97
+ }
98
+ hover(event, text) {
99
+ this.scheduleHover(event);
100
+ }
101
+ scheduleHover(event) {
102
+ var _a;
103
+ this.cancelHover();
104
+ const delay = (_a = this.preferences.get(DELAY_PREFERENCE)) !== null && _a !== void 0 ? _a : 500;
105
+ this.toDispose.push((0, core_1.disposableTimeout)(() => this.showHover(event), delay));
106
+ }
107
+ showHover(event) {
108
+ this.toDispose.push(this.terminalWidget.onMouseEnterLinkHover(() => this.mouseEnteredHover = true));
109
+ this.toDispose.push(this.terminalWidget.onMouseLeaveLinkHover(mouseEvent => {
110
+ this.mouseLeftHover = true;
111
+ this.leave(mouseEvent);
112
+ }));
113
+ this.terminalWidget.showLinkHover(() => this.executeLinkHandler(), event.clientX, event.clientY, this.link.tooltip);
114
+ }
115
+ leave(event) {
116
+ this.toDispose.push((0, core_1.disposableTimeout)(() => {
117
+ if (!this.mouseEnteredHover || this.mouseLeftHover) {
118
+ this.cancelHover();
119
+ }
120
+ }, 50));
121
+ }
122
+ cancelHover() {
123
+ this.mouseEnteredHover = false;
124
+ this.mouseLeftHover = false;
125
+ this.toDispose.dispose();
126
+ this.terminalWidget.hideLinkHover();
127
+ }
128
+ activate(event, text) {
129
+ event.preventDefault();
130
+ if (this.isModifierKeyDown(event) || this.wasTouchEvent(event, this.terminalWidget.lastTouchEndEvent)) {
131
+ this.executeLinkHandler();
132
+ }
133
+ else {
134
+ this.terminalWidget.getTerminal().focus();
135
+ }
136
+ }
137
+ executeLinkHandler() {
138
+ this.link.handle();
139
+ this.cancelHover();
140
+ }
141
+ isModifierKeyDown(event) {
142
+ return core_1.isOSX ? event.metaKey : event.ctrlKey;
143
+ }
144
+ wasTouchEvent(event, lastTouchEnd) {
145
+ if (!lastTouchEnd) {
146
+ return false;
147
+ }
148
+ if ((event.timeStamp - lastTouchEnd.timeStamp) > 400) {
149
+ // A 'touchend' event typically precedes a matching 'click' event by 50ms.
150
+ return false;
151
+ }
152
+ if (Math.abs(event.pageX - lastTouchEnd.pageX) > 5) {
153
+ // Matching 'touchend' and 'click' events typically have the same page coordinates,
154
+ // plus or minus 1 pixel.
155
+ return false;
156
+ }
157
+ if (Math.abs(event.pageY - lastTouchEnd.pageY) > 5) {
158
+ return false;
159
+ }
160
+ // We have a match! This link was tapped.
161
+ return true;
162
+ }
163
+ };
164
+ exports.XtermLinkAdapter = XtermLinkAdapter;
165
+ tslib_1.__decorate([
166
+ (0, inversify_1.inject)(exports.TerminalLink),
167
+ tslib_1.__metadata("design:type", Object)
168
+ ], XtermLinkAdapter.prototype, "link", void 0);
169
+ tslib_1.__decorate([
170
+ (0, inversify_1.inject)(terminal_widget_impl_1.TerminalWidgetImpl),
171
+ tslib_1.__metadata("design:type", terminal_widget_impl_1.TerminalWidgetImpl)
172
+ ], XtermLinkAdapter.prototype, "terminalWidget", void 0);
173
+ tslib_1.__decorate([
174
+ (0, inversify_1.inject)(terminal_link_helpers_1.LinkContext),
175
+ tslib_1.__metadata("design:type", Object)
176
+ ], XtermLinkAdapter.prototype, "context", void 0);
177
+ tslib_1.__decorate([
178
+ (0, inversify_1.inject)(common_1.PreferenceService),
179
+ tslib_1.__metadata("design:type", Object)
180
+ ], XtermLinkAdapter.prototype, "preferences", void 0);
181
+ tslib_1.__decorate([
182
+ (0, inversify_1.postConstruct)(),
183
+ tslib_1.__metadata("design:type", Function),
184
+ tslib_1.__metadata("design:paramtypes", []),
185
+ tslib_1.__metadata("design:returntype", void 0)
186
+ ], XtermLinkAdapter.prototype, "initializeLinkFields", null);
187
+ exports.XtermLinkAdapter = XtermLinkAdapter = tslib_1.__decorate([
188
+ (0, inversify_1.injectable)()
189
+ ], XtermLinkAdapter);
190
+ //# sourceMappingURL=terminal-link-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-link-provider.js","sourceRoot":"","sources":["../../src/browser/terminal-link-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { Emitter, Event } from '@theia/core';
2
+ import { TerminalWidget } from './base/terminal-widget';
3
+ export declare const TerminalProfileService: unique symbol;
4
+ export declare const ContributedTerminalProfileStore: unique symbol;
5
+ export declare const UserTerminalProfileStore: unique symbol;
6
+ export interface TerminalProfile {
7
+ start(): Promise<TerminalWidget>;
8
+ }
9
+ export declare const NULL_PROFILE: TerminalProfile;
10
+ export interface TerminalProfileService {
11
+ onAdded: Event<string>;
12
+ onRemoved: Event<string>;
13
+ getProfile(id: string): TerminalProfile | undefined;
14
+ readonly all: [string, TerminalProfile][];
15
+ setDefaultProfile(id: string): void;
16
+ readonly onDidChangeDefaultShell: Event<string>;
17
+ readonly defaultProfile: TerminalProfile | undefined;
18
+ }
19
+ export interface TerminalProfileStore {
20
+ onAdded: Event<[string, TerminalProfile]>;
21
+ onRemoved: Event<string>;
22
+ registerTerminalProfile(id: string, profile: TerminalProfile): void;
23
+ unregisterTerminalProfile(id: string): void;
24
+ hasProfile(id: string): boolean;
25
+ getProfile(id: string): TerminalProfile | undefined;
26
+ readonly all: [string, TerminalProfile][];
27
+ }
28
+ export declare class DefaultProfileStore implements TerminalProfileStore {
29
+ protected readonly onAddedEmitter: Emitter<[string, TerminalProfile]>;
30
+ protected readonly onRemovedEmitter: Emitter<string>;
31
+ protected readonly profiles: Map<string, TerminalProfile>;
32
+ onAdded: Event<[string, TerminalProfile]>;
33
+ onRemoved: Event<string>;
34
+ registerTerminalProfile(id: string, profile: TerminalProfile): void;
35
+ unregisterTerminalProfile(id: string): void;
36
+ hasProfile(id: string): boolean;
37
+ getProfile(id: string): TerminalProfile | undefined;
38
+ get all(): [string, TerminalProfile][];
39
+ }
40
+ export declare class DefaultTerminalProfileService implements TerminalProfileService {
41
+ protected defaultProfileIndex: number;
42
+ protected order: string[];
43
+ protected readonly stores: TerminalProfileStore[];
44
+ protected readonly onAddedEmitter: Emitter<string>;
45
+ protected readonly onRemovedEmitter: Emitter<string>;
46
+ protected readonly onDidChangeDefaultShellEmitter: Emitter<string>;
47
+ onAdded: Event<string>;
48
+ onRemoved: Event<string>;
49
+ onDidChangeDefaultShell: Event<string>;
50
+ constructor(...stores: TerminalProfileStore[]);
51
+ handleRemoved(id: string): void;
52
+ handleAdded(id: string): void;
53
+ get defaultProfile(): TerminalProfile | undefined;
54
+ setDefaultProfile(id: string): void;
55
+ getProfile(id: string): TerminalProfile | undefined;
56
+ getId(profile: TerminalProfile): string | undefined;
57
+ get all(): [string, TerminalProfile][];
58
+ }
59
+ //# sourceMappingURL=terminal-profile-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-profile-service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-profile-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AACzF,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC5B,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,YAAY,EAAE,eAE1B,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;IAC1C,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,eAAe,GAAG,SAAS,CAAC;CACxD;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC1C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACpE,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;CAC7C;AAED,qBACa,mBAAoB,YAAW,oBAAoB;IAC5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAiB;IACtF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAiB;IACrE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAEtE,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAA6B;IACtE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAA+B;IAEvD,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAInE,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAGnD,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAErC;CACJ;AAED,qBACa,6BAA8B,YAAW,sBAAsB;IACxE,SAAS,CAAC,mBAAmB,SAAK;IAClC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAiB;IACnE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAiB;IACrE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAiB;IAEnF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6B;IACnD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAA+B;IACvD,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6C;gBAE1D,GAAG,MAAM,EAAE,oBAAoB,EAAE;IAqB1D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU/B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ7B,IAAI,cAAc,IAAI,eAAe,GAAG,SAAS,CAMhD;IAED,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAcnC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAUnD,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAQnD,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAErC;CACJ"}
@@ -0,0 +1,152 @@
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.DefaultTerminalProfileService = exports.DefaultProfileStore = exports.NULL_PROFILE = exports.UserTerminalProfileStore = exports.ContributedTerminalProfileStore = exports.TerminalProfileService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const shell_terminal_profile_1 = require("./shell-terminal-profile");
23
+ exports.TerminalProfileService = Symbol('TerminalProfileService');
24
+ exports.ContributedTerminalProfileStore = Symbol('ContributedTerminalProfileStore');
25
+ exports.UserTerminalProfileStore = Symbol('UserTerminalProfileStore');
26
+ exports.NULL_PROFILE = {
27
+ start: async () => { throw new Error('you cannot start a null profile'); }
28
+ };
29
+ let DefaultProfileStore = class DefaultProfileStore {
30
+ constructor() {
31
+ this.onAddedEmitter = new core_1.Emitter();
32
+ this.onRemovedEmitter = new core_1.Emitter();
33
+ this.profiles = new Map();
34
+ this.onAdded = this.onAddedEmitter.event;
35
+ this.onRemoved = this.onRemovedEmitter.event;
36
+ }
37
+ registerTerminalProfile(id, profile) {
38
+ this.profiles.set(id, profile);
39
+ this.onAddedEmitter.fire([id, profile]);
40
+ }
41
+ unregisterTerminalProfile(id) {
42
+ this.profiles.delete(id);
43
+ this.onRemovedEmitter.fire(id);
44
+ }
45
+ hasProfile(id) {
46
+ return this.profiles.has(id);
47
+ }
48
+ getProfile(id) {
49
+ return this.profiles.get(id);
50
+ }
51
+ get all() {
52
+ return [...this.profiles.entries()];
53
+ }
54
+ };
55
+ exports.DefaultProfileStore = DefaultProfileStore;
56
+ exports.DefaultProfileStore = DefaultProfileStore = tslib_1.__decorate([
57
+ (0, inversify_1.injectable)()
58
+ ], DefaultProfileStore);
59
+ let DefaultTerminalProfileService = class DefaultTerminalProfileService {
60
+ constructor(...stores) {
61
+ this.defaultProfileIndex = 0;
62
+ this.order = [];
63
+ this.onAddedEmitter = new core_1.Emitter();
64
+ this.onRemovedEmitter = new core_1.Emitter();
65
+ this.onDidChangeDefaultShellEmitter = new core_1.Emitter();
66
+ this.onAdded = this.onAddedEmitter.event;
67
+ this.onRemoved = this.onRemovedEmitter.event;
68
+ this.onDidChangeDefaultShell = this.onDidChangeDefaultShellEmitter.event;
69
+ this.stores = stores;
70
+ for (const store of this.stores) {
71
+ store.onAdded(e => {
72
+ if (e[1] === exports.NULL_PROFILE) {
73
+ this.handleRemoved(e[0]);
74
+ }
75
+ else {
76
+ this.handleAdded(e[0]);
77
+ }
78
+ });
79
+ store.onRemoved(id => {
80
+ if (!this.getProfile(id)) {
81
+ this.handleRemoved(id);
82
+ }
83
+ else {
84
+ // we may have removed a null profile
85
+ this.handleAdded(id);
86
+ }
87
+ });
88
+ }
89
+ }
90
+ handleRemoved(id) {
91
+ const index = this.order.indexOf(id);
92
+ if (index >= 0 && !this.getProfile(id)) {
93
+ // the profile was removed, but it's still in the `order` array
94
+ this.order.splice(index, 1);
95
+ this.defaultProfileIndex = Math.max(0, Math.min(this.order.length - 1, index));
96
+ this.onRemovedEmitter.fire(id);
97
+ }
98
+ }
99
+ handleAdded(id) {
100
+ const index = this.order.indexOf(id);
101
+ if (index < 0) {
102
+ this.order.push(id);
103
+ this.onAddedEmitter.fire(id);
104
+ }
105
+ }
106
+ get defaultProfile() {
107
+ const id = this.order[this.defaultProfileIndex];
108
+ if (id) {
109
+ return this.getProfile(id);
110
+ }
111
+ return undefined;
112
+ }
113
+ setDefaultProfile(id) {
114
+ const profile = this.getProfile(id);
115
+ if (!profile) {
116
+ throw new Error(`Cannot set default to unknown profile '${id}' `);
117
+ }
118
+ this.defaultProfileIndex = this.order.indexOf(id);
119
+ if (profile instanceof shell_terminal_profile_1.ShellTerminalProfile && profile.shellPath) {
120
+ this.onDidChangeDefaultShellEmitter.fire(profile.shellPath);
121
+ }
122
+ else {
123
+ this.onDidChangeDefaultShellEmitter.fire('');
124
+ }
125
+ }
126
+ getProfile(id) {
127
+ for (const store of this.stores) {
128
+ if (store.hasProfile(id)) {
129
+ const found = store.getProfile(id);
130
+ return found === exports.NULL_PROFILE ? undefined : found;
131
+ }
132
+ }
133
+ return undefined;
134
+ }
135
+ getId(profile) {
136
+ for (const [id, p] of this.all) {
137
+ if (p === profile) {
138
+ return id;
139
+ }
140
+ }
141
+ }
142
+ get all() {
143
+ return this.order.filter(id => !!this.getProfile(id)).map(id => [id, this.getProfile(id)]);
144
+ }
145
+ };
146
+ exports.DefaultTerminalProfileService = DefaultTerminalProfileService;
147
+ exports.DefaultTerminalProfileService = DefaultTerminalProfileService = tslib_1.__decorate([
148
+ (0, inversify_1.injectable)(),
149
+ tslib_1.__param(0, (0, inversify_1.unmanaged)()),
150
+ tslib_1.__metadata("design:paramtypes", [Object])
151
+ ], DefaultTerminalProfileService);
152
+ //# sourceMappingURL=terminal-profile-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-profile-service.js","sourceRoot":"","sources":["../../src/browser/terminal-profile-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { QuickAccessContribution, QuickAccessProvider, QuickAccessRegistry, QuickInputService } from '@theia/core/lib/browser';
2
+ import { CancellationToken, CommandContribution, CommandRegistry, CommandService } from '@theia/core/lib/common';
3
+ import { TerminalWidget } from './base/terminal-widget';
4
+ import { TerminalService } from './base/terminal-service';
5
+ import { QuickPickItem, QuickPicks } from '@theia/core/lib/browser/quick-input/quick-input-service';
6
+ export declare class TerminalQuickOpenService implements QuickAccessProvider {
7
+ static readonly PREFIX = "term ";
8
+ protected readonly quickInputService: QuickInputService;
9
+ protected readonly quickAccessRegistry: QuickAccessRegistry;
10
+ protected readonly commandService: CommandService;
11
+ protected readonly terminalService: TerminalService;
12
+ open(): void;
13
+ getPicks(filter: string, token: CancellationToken): Promise<QuickPicks>;
14
+ registerQuickAccessProvider(): void;
15
+ /**
16
+ * Compare two terminal widgets by label. If labels are identical, compare by the widget id.
17
+ * @param a `TerminalWidget` for comparison
18
+ * @param b `TerminalWidget` for comparison
19
+ */
20
+ protected compareItems(a: TerminalWidget, b: TerminalWidget): number;
21
+ protected doCreateNewTerminal(): void;
22
+ /**
23
+ * Convert the terminal widget to the quick pick item.
24
+ * @param {TerminalWidget} widget - the terminal widget.
25
+ * @returns quick pick item.
26
+ */
27
+ protected toItem(widget: TerminalWidget): QuickPickItem;
28
+ }
29
+ /**
30
+ * TODO: merge it to TerminalFrontendContribution.
31
+ */
32
+ export declare class TerminalQuickOpenContribution implements CommandContribution, QuickAccessContribution {
33
+ protected readonly terminalQuickOpenService: TerminalQuickOpenService;
34
+ registerQuickAccessProvider(): void;
35
+ registerCommands(commands: CommandRegistry): void;
36
+ }
37
+ //# sourceMappingURL=terminal-quick-open-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-quick-open-service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-quick-open-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEH,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAO,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAe,aAAa,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAEjH,qBACa,wBAAyB,YAAW,mBAAmB;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,WAAW;IAGjC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,IAAI,IAAI,IAAI;IAIN,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB7E,2BAA2B,IAAI,IAAI;IASnC;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,MAAM;IAUpE,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAIrC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa;CAQ1D;AAED;;GAEG;AACH,qBACa,6BAA8B,YAAW,mBAAmB,EAAE,uBAAuB;IAG9F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,2BAA2B,IAAI,IAAI;IAInC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAKpD"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 Ericsson 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
+ var TerminalQuickOpenService_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.TerminalQuickOpenContribution = exports.TerminalQuickOpenService = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const common_1 = require("@theia/core/lib/common");
24
+ const terminal_service_1 = require("./base/terminal-service");
25
+ const terminal_frontend_contribution_1 = require("./terminal-frontend-contribution");
26
+ const quick_input_service_1 = require("@theia/core/lib/browser/quick-input/quick-input-service");
27
+ let TerminalQuickOpenService = TerminalQuickOpenService_1 = class TerminalQuickOpenService {
28
+ open() {
29
+ var _a;
30
+ (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.open(TerminalQuickOpenService_1.PREFIX);
31
+ }
32
+ async getPicks(filter, token) {
33
+ const items = [];
34
+ // Get the sorted list of currently opened terminal widgets that aren't hidden from users
35
+ const widgets = this.terminalService.all.filter(widget => !widget.hiddenFromUser)
36
+ .sort((a, b) => this.compareItems(a, b));
37
+ for (const widget of widgets) {
38
+ items.push(this.toItem(widget));
39
+ }
40
+ // Append a quick open item to create a new terminal.
41
+ items.push({
42
+ label: common_1.nls.localizeByDefault('Create New Terminal'),
43
+ iconClasses: (0, browser_1.codiconArray)('add'),
44
+ execute: () => this.doCreateNewTerminal()
45
+ });
46
+ return (0, quick_input_service_1.filterItems)(items, filter);
47
+ }
48
+ registerQuickAccessProvider() {
49
+ this.quickAccessRegistry.registerQuickAccessProvider({
50
+ getInstance: () => this,
51
+ prefix: TerminalQuickOpenService_1.PREFIX,
52
+ placeholder: '',
53
+ helpEntries: [{ description: common_1.nls.localizeByDefault('Show All Opened Terminals'), needsEditor: false }]
54
+ });
55
+ }
56
+ /**
57
+ * Compare two terminal widgets by label. If labels are identical, compare by the widget id.
58
+ * @param a `TerminalWidget` for comparison
59
+ * @param b `TerminalWidget` for comparison
60
+ */
61
+ compareItems(a, b) {
62
+ const normalize = (str) => str.trim().toLowerCase();
63
+ if (normalize(a.title.label) !== normalize(b.title.label)) {
64
+ return normalize(a.title.label).localeCompare(normalize(b.title.label));
65
+ }
66
+ else {
67
+ return normalize(a.id).localeCompare(normalize(b.id));
68
+ }
69
+ }
70
+ doCreateNewTerminal() {
71
+ this.commandService.executeCommand(terminal_frontend_contribution_1.TerminalCommands.NEW.id);
72
+ }
73
+ /**
74
+ * Convert the terminal widget to the quick pick item.
75
+ * @param {TerminalWidget} widget - the terminal widget.
76
+ * @returns quick pick item.
77
+ */
78
+ toItem(widget) {
79
+ return {
80
+ label: widget.title.label,
81
+ description: widget.id,
82
+ ariaLabel: widget.title.label,
83
+ execute: () => this.terminalService.open(widget)
84
+ };
85
+ }
86
+ };
87
+ exports.TerminalQuickOpenService = TerminalQuickOpenService;
88
+ TerminalQuickOpenService.PREFIX = 'term ';
89
+ tslib_1.__decorate([
90
+ (0, inversify_1.inject)(browser_1.QuickInputService),
91
+ (0, inversify_1.optional)(),
92
+ tslib_1.__metadata("design:type", Object)
93
+ ], TerminalQuickOpenService.prototype, "quickInputService", void 0);
94
+ tslib_1.__decorate([
95
+ (0, inversify_1.inject)(browser_1.QuickAccessRegistry),
96
+ tslib_1.__metadata("design:type", Object)
97
+ ], TerminalQuickOpenService.prototype, "quickAccessRegistry", void 0);
98
+ tslib_1.__decorate([
99
+ (0, inversify_1.inject)(common_1.CommandService),
100
+ tslib_1.__metadata("design:type", Object)
101
+ ], TerminalQuickOpenService.prototype, "commandService", void 0);
102
+ tslib_1.__decorate([
103
+ (0, inversify_1.inject)(terminal_service_1.TerminalService),
104
+ tslib_1.__metadata("design:type", Object)
105
+ ], TerminalQuickOpenService.prototype, "terminalService", void 0);
106
+ exports.TerminalQuickOpenService = TerminalQuickOpenService = TerminalQuickOpenService_1 = tslib_1.__decorate([
107
+ (0, inversify_1.injectable)()
108
+ ], TerminalQuickOpenService);
109
+ /**
110
+ * TODO: merge it to TerminalFrontendContribution.
111
+ */
112
+ let TerminalQuickOpenContribution = class TerminalQuickOpenContribution {
113
+ registerQuickAccessProvider() {
114
+ this.terminalQuickOpenService.registerQuickAccessProvider();
115
+ }
116
+ registerCommands(commands) {
117
+ commands.registerCommand(terminal_frontend_contribution_1.TerminalCommands.SHOW_ALL_OPENED_TERMINALS, {
118
+ execute: () => this.terminalQuickOpenService.open()
119
+ });
120
+ }
121
+ };
122
+ exports.TerminalQuickOpenContribution = TerminalQuickOpenContribution;
123
+ tslib_1.__decorate([
124
+ (0, inversify_1.inject)(TerminalQuickOpenService),
125
+ tslib_1.__metadata("design:type", TerminalQuickOpenService)
126
+ ], TerminalQuickOpenContribution.prototype, "terminalQuickOpenService", void 0);
127
+ exports.TerminalQuickOpenContribution = TerminalQuickOpenContribution = tslib_1.__decorate([
128
+ (0, inversify_1.injectable)()
129
+ ], TerminalQuickOpenContribution);
130
+ //# sourceMappingURL=terminal-quick-open-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-quick-open-service.js","sourceRoot":"","sources":["../../src/browser/terminal-quick-open-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ITheme } from 'xterm';
2
+ import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
3
+ import { ThemeService } from '@theia/core/lib/browser/theming';
4
+ import { ThemeChangeEvent } from '@theia/core/lib/common/theme';
5
+ import { Event } from '@theia/core';
6
+ export declare class TerminalThemeService {
7
+ protected readonly colorRegistry: ColorRegistry;
8
+ protected readonly themeService: ThemeService;
9
+ get onDidChange(): Event<ThemeChangeEvent>;
10
+ get theme(): ITheme;
11
+ }
12
+ //# sourceMappingURL=terminal-theme-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-theme-service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,qBACa,oBAAoB;IAEN,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpE,IAAI,WAAW,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAEzC;IAED,IAAI,KAAK,IAAI,MAAM,CA0BlB;CAEJ"}