@theia/output 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 (57) hide show
  1. package/lib/browser/output-channel.d.ts +126 -0
  2. package/lib/browser/output-channel.d.ts.map +1 -0
  3. package/lib/browser/output-channel.js +327 -0
  4. package/lib/browser/output-channel.js.map +1 -0
  5. package/lib/browser/output-commands.d.ts +18 -0
  6. package/lib/browser/output-commands.d.ts.map +1 -0
  7. package/lib/browser/output-commands.js +85 -0
  8. package/lib/browser/output-commands.js.map +1 -0
  9. package/lib/browser/output-context-menu.d.ts +12 -0
  10. package/lib/browser/output-context-menu.d.ts.map +1 -0
  11. package/lib/browser/output-context-menu.js +38 -0
  12. package/lib/browser/output-context-menu.js.map +1 -0
  13. package/lib/browser/output-contribution.d.ts +30 -0
  14. package/lib/browser/output-contribution.d.ts.map +1 -0
  15. package/lib/browser/output-contribution.js +277 -0
  16. package/lib/browser/output-contribution.js.map +1 -0
  17. package/lib/browser/output-editor-factory.d.ts +13 -0
  18. package/lib/browser/output-editor-factory.d.ts.map +1 -0
  19. package/lib/browser/output-editor-factory.js +72 -0
  20. package/lib/browser/output-editor-factory.js.map +1 -0
  21. package/lib/browser/output-editor-model-factory.d.ts +16 -0
  22. package/lib/browser/output-editor-model-factory.d.ts.map +1 -0
  23. package/lib/browser/output-editor-model-factory.js +54 -0
  24. package/lib/browser/output-editor-model-factory.js.map +1 -0
  25. package/lib/browser/output-frontend-module.d.ts +4 -0
  26. package/lib/browser/output-frontend-module.d.ts.map +1 -0
  27. package/lib/browser/output-frontend-module.js +51 -0
  28. package/lib/browser/output-frontend-module.js.map +1 -0
  29. package/lib/browser/output-resource.d.ts +19 -0
  30. package/lib/browser/output-resource.d.ts.map +1 -0
  31. package/lib/browser/output-resource.js +55 -0
  32. package/lib/browser/output-resource.js.map +1 -0
  33. package/lib/browser/output-toolbar-contribution.d.ts +22 -0
  34. package/lib/browser/output-toolbar-contribution.d.ts.map +1 -0
  35. package/lib/browser/output-toolbar-contribution.js +118 -0
  36. package/lib/browser/output-toolbar-contribution.js.map +1 -0
  37. package/lib/browser/output-widget.d.ts +49 -0
  38. package/lib/browser/output-widget.d.ts.map +1 -0
  39. package/lib/browser/output-widget.js +237 -0
  40. package/lib/browser/output-widget.js.map +1 -0
  41. package/lib/common/output-preferences.d.ts +12 -0
  42. package/lib/common/output-preferences.d.ts.map +1 -0
  43. package/lib/common/output-preferences.js +46 -0
  44. package/lib/common/output-preferences.js.map +1 -0
  45. package/lib/common/output-uri.d.ts +8 -0
  46. package/lib/common/output-uri.d.ts.map +1 -0
  47. package/lib/common/output-uri.js +49 -0
  48. package/lib/common/output-uri.js.map +1 -0
  49. package/lib/common/output-uri.spec.d.ts +2 -0
  50. package/lib/common/output-uri.spec.d.ts.map +1 -0
  51. package/lib/common/output-uri.spec.js +51 -0
  52. package/lib/common/output-uri.spec.js.map +1 -0
  53. package/lib/node/output-backend-module.d.ts +4 -0
  54. package/lib/node/output-backend-module.d.ts.map +1 -0
  55. package/lib/node/output-backend-module.js +23 -0
  56. package/lib/node/output-backend-module.js.map +1 -0
  57. package/package.json +5 -5
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2020 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.OutputResource = void 0;
19
+ const common_1 = require("@theia/core/lib/common");
20
+ class OutputResource {
21
+ constructor(uri, editorModelRef) {
22
+ this.uri = uri;
23
+ this.editorModelRef = editorModelRef;
24
+ this.onDidChangeContentsEmitter = new common_1.Emitter();
25
+ this.toDispose = new common_1.DisposableCollection(this.onDidChangeContentsEmitter);
26
+ this.editorModelRef.promise.then(modelRef => {
27
+ if (this.toDispose.disposed) {
28
+ modelRef.dispose();
29
+ return;
30
+ }
31
+ const textModel = modelRef.object.textEditorModel;
32
+ this._textModel = textModel;
33
+ this.toDispose.push(modelRef);
34
+ this.toDispose.push(this._textModel.onDidChangeContent(() => this.onDidChangeContentsEmitter.fire()));
35
+ });
36
+ }
37
+ get textModel() {
38
+ return this._textModel;
39
+ }
40
+ get onDidChangeContents() {
41
+ return this.onDidChangeContentsEmitter.event;
42
+ }
43
+ async readContents(options) {
44
+ if (this._textModel) {
45
+ const modelRef = await this.editorModelRef.promise;
46
+ return modelRef.object.textEditorModel.getValue();
47
+ }
48
+ return '';
49
+ }
50
+ dispose() {
51
+ this.toDispose.dispose();
52
+ }
53
+ }
54
+ exports.OutputResource = OutputResource;
55
+ //# sourceMappingURL=output-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-resource.js","sourceRoot":"","sources":["../../src/browser/output-resource.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,mDAA6G;AAM7G,MAAa,cAAc;IAQvB,YAAqB,GAAQ,EAAW,cAAuD;QAA1E,QAAG,GAAH,GAAG,CAAK;QAAW,mBAAc,GAAd,cAAc,CAAyC;QALrF,+BAA0B,GAAG,IAAI,gBAAO,EAAQ,CAAC;QACjD,cAAS,GAAG,IAAI,6BAAoB,CAC1C,IAAI,CAAC,0BAA0B,CAClC,CAAC;QAGE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACxC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC5C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CAEJ;AAzCD,wCAyCC"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ import * as React from '@theia/core/shared/react';
3
+ import { Emitter } from '@theia/core/lib/common/event';
4
+ import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
5
+ import { SelectOption } from '@theia/core/lib/browser/widgets/select-component';
6
+ import { OutputContribution } from './output-contribution';
7
+ import { OutputChannelManager } from './output-channel';
8
+ export declare class OutputToolbarContribution implements TabBarToolbarContribution {
9
+ protected readonly outputChannelManager: OutputChannelManager;
10
+ protected readonly outputContribution: OutputContribution;
11
+ protected readonly onOutputWidgetStateChangedEmitter: Emitter<void>;
12
+ protected readonly onOutputWidgetStateChanged: import("@theia/core/lib/common/event").Event<void>;
13
+ protected readonly onChannelsChangedEmitter: Emitter<void>;
14
+ protected readonly onChannelsChanged: import("@theia/core/lib/common/event").Event<void>;
15
+ protected init(): void;
16
+ registerToolbarItems(toolbarRegistry: TabBarToolbarRegistry): void;
17
+ protected readonly NONE = "<no channels>";
18
+ protected readonly OUTPUT_CHANNEL_LIST_ID = "outputChannelList";
19
+ protected renderChannelSelector(): React.ReactNode;
20
+ protected changeChannel: (option: SelectOption) => void;
21
+ }
22
+ //# sourceMappingURL=output-toolbar-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-toolbar-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAmB,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAGjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,qBACa,yBAA0B,YAAW,yBAAyB;IAGvE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,iCAAiC,gBAAuB;IAC3E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,qDAAgD;IAE7F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,gBAAuB;IAClE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,qDAAuC;IAG3E,SAAS,CAAC,IAAI,IAAI,IAAI;IAYtB,oBAAoB,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI;IA6BlE,SAAS,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IAC1C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,uBAAuB;IAEhE,SAAS,CAAC,qBAAqB,IAAI,KAAK,CAAC,SAAS;IAsBlD,SAAS,CAAC,aAAa,WAAY,YAAY,UAK7C;CACL"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 Arm 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.OutputToolbarContribution = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const React = tslib_1.__importStar(require("@theia/core/shared/react"));
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const event_1 = require("@theia/core/lib/common/event");
23
+ const select_component_1 = require("@theia/core/lib/browser/widgets/select-component");
24
+ const output_widget_1 = require("./output-widget");
25
+ const output_commands_1 = require("./output-commands");
26
+ const output_contribution_1 = require("./output-contribution");
27
+ const output_channel_1 = require("./output-channel");
28
+ const nls_1 = require("@theia/core/lib/common/nls");
29
+ let OutputToolbarContribution = class OutputToolbarContribution {
30
+ constructor() {
31
+ this.onOutputWidgetStateChangedEmitter = new event_1.Emitter();
32
+ this.onOutputWidgetStateChanged = this.onOutputWidgetStateChangedEmitter.event;
33
+ this.onChannelsChangedEmitter = new event_1.Emitter();
34
+ this.onChannelsChanged = this.onChannelsChangedEmitter.event;
35
+ this.NONE = '<no channels>';
36
+ this.OUTPUT_CHANNEL_LIST_ID = 'outputChannelList';
37
+ this.changeChannel = (option) => {
38
+ const channelName = option.value;
39
+ if (channelName !== this.NONE && channelName) {
40
+ this.outputChannelManager.getChannel(channelName).show();
41
+ }
42
+ };
43
+ }
44
+ init() {
45
+ this.outputContribution.widget.then(widget => {
46
+ widget.onStateChanged(() => this.onOutputWidgetStateChangedEmitter.fire());
47
+ });
48
+ const fireChannelsChanged = () => this.onChannelsChangedEmitter.fire();
49
+ this.outputChannelManager.onSelectedChannelChanged(fireChannelsChanged);
50
+ this.outputChannelManager.onChannelAdded(fireChannelsChanged);
51
+ this.outputChannelManager.onChannelDeleted(fireChannelsChanged);
52
+ this.outputChannelManager.onChannelWasShown(fireChannelsChanged);
53
+ this.outputChannelManager.onChannelWasHidden(fireChannelsChanged);
54
+ }
55
+ registerToolbarItems(toolbarRegistry) {
56
+ toolbarRegistry.registerItem({
57
+ id: 'channels',
58
+ render: () => this.renderChannelSelector(),
59
+ isVisible: widget => widget instanceof output_widget_1.OutputWidget,
60
+ onDidChange: this.onChannelsChanged
61
+ });
62
+ toolbarRegistry.registerItem({
63
+ id: output_commands_1.OutputCommands.CLEAR__WIDGET.id,
64
+ command: output_commands_1.OutputCommands.CLEAR__WIDGET.id,
65
+ tooltip: nls_1.nls.localizeByDefault('Clear Output'),
66
+ priority: 1,
67
+ });
68
+ toolbarRegistry.registerItem({
69
+ id: output_commands_1.OutputCommands.LOCK__WIDGET.id,
70
+ command: output_commands_1.OutputCommands.LOCK__WIDGET.id,
71
+ tooltip: nls_1.nls.localizeByDefault('Turn Auto Scrolling Off'),
72
+ onDidChange: this.onOutputWidgetStateChanged,
73
+ priority: 2
74
+ });
75
+ toolbarRegistry.registerItem({
76
+ id: output_commands_1.OutputCommands.UNLOCK__WIDGET.id,
77
+ command: output_commands_1.OutputCommands.UNLOCK__WIDGET.id,
78
+ tooltip: nls_1.nls.localizeByDefault('Turn Auto Scrolling On'),
79
+ onDidChange: this.onOutputWidgetStateChanged,
80
+ priority: 2
81
+ });
82
+ }
83
+ renderChannelSelector() {
84
+ var _a, _b;
85
+ const channelOptionElements = [];
86
+ this.outputChannelManager.getVisibleChannels().forEach((channel, i) => {
87
+ channelOptionElements.push({
88
+ value: channel.name
89
+ });
90
+ });
91
+ if (channelOptionElements.length === 0) {
92
+ channelOptionElements.push({
93
+ value: this.NONE
94
+ });
95
+ }
96
+ return React.createElement("div", { id: this.OUTPUT_CHANNEL_LIST_ID, key: this.OUTPUT_CHANNEL_LIST_ID },
97
+ React.createElement(select_component_1.SelectComponent, { key: (_a = this.outputChannelManager.selectedChannel) === null || _a === void 0 ? void 0 : _a.name, options: channelOptionElements, defaultValue: (_b = this.outputChannelManager.selectedChannel) === null || _b === void 0 ? void 0 : _b.name, onChange: option => this.changeChannel(option) }));
98
+ }
99
+ };
100
+ exports.OutputToolbarContribution = OutputToolbarContribution;
101
+ tslib_1.__decorate([
102
+ (0, inversify_1.inject)(output_channel_1.OutputChannelManager),
103
+ tslib_1.__metadata("design:type", output_channel_1.OutputChannelManager)
104
+ ], OutputToolbarContribution.prototype, "outputChannelManager", void 0);
105
+ tslib_1.__decorate([
106
+ (0, inversify_1.inject)(output_contribution_1.OutputContribution),
107
+ tslib_1.__metadata("design:type", output_contribution_1.OutputContribution)
108
+ ], OutputToolbarContribution.prototype, "outputContribution", void 0);
109
+ tslib_1.__decorate([
110
+ (0, inversify_1.postConstruct)(),
111
+ tslib_1.__metadata("design:type", Function),
112
+ tslib_1.__metadata("design:paramtypes", []),
113
+ tslib_1.__metadata("design:returntype", void 0)
114
+ ], OutputToolbarContribution.prototype, "init", null);
115
+ exports.OutputToolbarContribution = OutputToolbarContribution = tslib_1.__decorate([
116
+ (0, inversify_1.injectable)()
117
+ ], OutputToolbarContribution);
118
+ //# sourceMappingURL=output-toolbar-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-toolbar-contribution.js","sourceRoot":"","sources":["../../src/browser/output-toolbar-contribution.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import '../../src/browser/style/output.css';
2
+ import { SelectionService } from '@theia/core/lib/common/selection-service';
3
+ import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
4
+ import { DisposableCollection } from '@theia/core/lib/common/disposable';
5
+ import { Message, BaseWidget, DockPanel, Widget, StatefulWidget } from '@theia/core/lib/browser';
6
+ import { OutputChannelManager } from './output-channel';
7
+ import { Emitter, Event } from '@theia/core';
8
+ export declare class OutputWidget extends BaseWidget implements StatefulWidget {
9
+ static readonly ID = "outputView";
10
+ static readonly LABEL: string;
11
+ protected readonly selectionService: SelectionService;
12
+ protected readonly editorProvider: MonacoEditorProvider;
13
+ protected readonly outputChannelManager: OutputChannelManager;
14
+ protected _state: OutputWidget.State;
15
+ protected readonly editorContainer: DockPanel;
16
+ protected readonly toDisposeOnSelectedChannelChanged: DisposableCollection;
17
+ protected readonly onStateChangedEmitter: Emitter<OutputWidget.State>;
18
+ constructor();
19
+ protected init(): void;
20
+ storeState(): object;
21
+ restoreState(oldState: object & Partial<OutputWidget.State>): void;
22
+ protected get state(): OutputWidget.State;
23
+ protected set state(state: OutputWidget.State);
24
+ protected refreshEditorWidget({ preserveFocus }?: {
25
+ preserveFocus: boolean;
26
+ }): Promise<void>;
27
+ protected onAfterAttach(message: Message): void;
28
+ protected onActivateRequest(message: Message): void;
29
+ protected onResize(message: Widget.ResizeMessage): void;
30
+ protected onAfterShow(msg: Message): void;
31
+ get onStateChanged(): Event<OutputWidget.State>;
32
+ clear(): void;
33
+ selectAll(): void;
34
+ lock(): void;
35
+ unlock(): void;
36
+ get isLocked(): boolean;
37
+ protected revealLastLine(): void;
38
+ private get selectedChannel();
39
+ private createEditorWidget;
40
+ private get editorWidget();
41
+ private get editor();
42
+ getText(): string | undefined;
43
+ }
44
+ export declare namespace OutputWidget {
45
+ interface State {
46
+ locked?: boolean;
47
+ }
48
+ }
49
+ //# sourceMappingURL=output-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-widget.d.ts","sourceRoot":"","sources":["../../src/browser/output-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,oCAAoC,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAc,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAe,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvH,OAAO,EAAE,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAa,MAAM,aAAa,CAAC;AAIxD,qBACa,YAAa,SAAQ,UAAW,YAAW,cAAc;IAElE,MAAM,CAAC,QAAQ,CAAC,EAAE,gBAAgB;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAmC;IAGxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAqB;IACzD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,iCAAiC,uBAA8B;IAClF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,8BAAqC;;IAiB7E,SAAS,CAAC,IAAI,IAAI,IAAI;IAatB,UAAU,IAAI,MAAM;IAIpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;IAQlE,SAAS,KAAK,KAAK,IAAI,YAAY,CAAC,KAAK,CAExC;IAED,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAG5C;cAEe,mBAAmB,CAAC,EAAE,aAAa,EAAE,GAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;cA8BzG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;cAMrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;cASzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,GAAG,IAAI;cAQ7C,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKlD,IAAI,cAAc,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAE9C;IAED,KAAK,IAAI,IAAI;IAMb,SAAS,IAAI,IAAI;IAYjB,IAAI,IAAI,IAAI;IAIZ,MAAM,IAAI,IAAI;IAId,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,SAAS,CAAC,cAAc,IAAI,IAAI;IAehC,OAAO,KAAK,eAAe,GAE1B;YAEa,kBAAkB;IAShC,OAAO,KAAK,YAAY,GAOvB;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,IAAI,MAAM,GAAG,SAAS;CAIhC;AAED,yBAAiB,YAAY,CAAC;IAC1B,UAAiB,KAAK;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB;CACJ"}
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 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
+ var OutputWidget_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.OutputWidget = void 0;
20
+ const tslib_1 = require("tslib");
21
+ require("../../src/browser/style/output.css");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const algorithm_1 = require("@theia/core/shared/@lumino/algorithm");
24
+ const browser_1 = require("@theia/editor/lib/browser");
25
+ const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
26
+ const selection_service_1 = require("@theia/core/lib/common/selection-service");
27
+ const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
28
+ const disposable_1 = require("@theia/core/lib/common/disposable");
29
+ const browser_2 = require("@theia/core/lib/browser");
30
+ const output_uri_1 = require("../common/output-uri");
31
+ const output_channel_1 = require("./output-channel");
32
+ const core_1 = require("@theia/core");
33
+ const nls_1 = require("@theia/core/lib/common/nls");
34
+ const monaco = tslib_1.__importStar(require("@theia/monaco-editor-core"));
35
+ let OutputWidget = OutputWidget_1 = class OutputWidget extends browser_2.BaseWidget {
36
+ constructor() {
37
+ super();
38
+ this._state = { locked: false };
39
+ this.toDisposeOnSelectedChannelChanged = new disposable_1.DisposableCollection();
40
+ this.onStateChangedEmitter = new core_1.Emitter();
41
+ this.id = OutputWidget_1.ID;
42
+ this.title.label = OutputWidget_1.LABEL;
43
+ this.title.caption = OutputWidget_1.LABEL;
44
+ this.title.iconClass = (0, browser_2.codicon)('output');
45
+ this.title.closable = true;
46
+ this.addClass('theia-output');
47
+ this.node.tabIndex = 0;
48
+ this.editorContainer = new NoopDragOverDockPanel({ spacing: 0, mode: 'single-document' });
49
+ this.editorContainer.addClass('editor-container');
50
+ this.editorContainer.node.tabIndex = -1;
51
+ }
52
+ init() {
53
+ this.toDispose.pushAll([
54
+ this.outputChannelManager.onChannelAdded(() => this.refreshEditorWidget()),
55
+ this.outputChannelManager.onChannelDeleted(() => this.refreshEditorWidget()),
56
+ this.outputChannelManager.onChannelWasHidden(() => this.refreshEditorWidget()),
57
+ this.outputChannelManager.onChannelWasShown(({ preserveFocus }) => this.refreshEditorWidget({ preserveFocus: !!preserveFocus })),
58
+ this.toDisposeOnSelectedChannelChanged,
59
+ this.onStateChangedEmitter,
60
+ this.onStateChanged(() => this.update())
61
+ ]);
62
+ this.refreshEditorWidget();
63
+ }
64
+ storeState() {
65
+ return this.state;
66
+ }
67
+ restoreState(oldState) {
68
+ const copy = (0, core_1.deepClone)(this.state);
69
+ if (oldState.locked) {
70
+ copy.locked = oldState.locked;
71
+ }
72
+ this.state = copy;
73
+ }
74
+ get state() {
75
+ return this._state;
76
+ }
77
+ set state(state) {
78
+ this._state = state;
79
+ this.onStateChangedEmitter.fire(this._state);
80
+ }
81
+ async refreshEditorWidget({ preserveFocus } = { preserveFocus: false }) {
82
+ const { selectedChannel } = this;
83
+ const editorWidget = this.editorWidget;
84
+ if (selectedChannel && editorWidget) {
85
+ // If the input is the current one, do nothing.
86
+ const model = editorWidget.editor.getControl().getModel();
87
+ if (model && model.uri.toString() === selectedChannel.uri.toString()) {
88
+ if (!preserveFocus) {
89
+ this.activate();
90
+ }
91
+ return;
92
+ }
93
+ }
94
+ this.toDisposeOnSelectedChannelChanged.dispose();
95
+ if (selectedChannel) {
96
+ const widget = await this.createEditorWidget();
97
+ if (widget) {
98
+ this.editorContainer.addWidget(widget);
99
+ this.toDisposeOnSelectedChannelChanged.pushAll([
100
+ disposable_1.Disposable.create(() => widget.close()),
101
+ selectedChannel.onContentChange(() => this.revealLastLine())
102
+ ]);
103
+ if (!preserveFocus) {
104
+ this.activate();
105
+ }
106
+ this.revealLastLine();
107
+ }
108
+ }
109
+ }
110
+ onAfterAttach(message) {
111
+ super.onAfterAttach(message);
112
+ browser_2.Widget.attach(this.editorContainer, this.node);
113
+ this.toDisposeOnDetach.push(disposable_1.Disposable.create(() => browser_2.Widget.detach(this.editorContainer)));
114
+ }
115
+ onActivateRequest(message) {
116
+ super.onActivateRequest(message);
117
+ if (this.editor) {
118
+ this.editor.focus();
119
+ }
120
+ else {
121
+ this.node.focus();
122
+ }
123
+ }
124
+ onResize(message) {
125
+ super.onResize(message);
126
+ browser_2.MessageLoop.sendMessage(this.editorContainer, browser_2.Widget.ResizeMessage.UnknownSize);
127
+ for (const widget of (0, algorithm_1.toArray)(this.editorContainer.widgets())) {
128
+ browser_2.MessageLoop.sendMessage(widget, browser_2.Widget.ResizeMessage.UnknownSize);
129
+ }
130
+ }
131
+ onAfterShow(msg) {
132
+ super.onAfterShow(msg);
133
+ this.onResize(browser_2.Widget.ResizeMessage.UnknownSize); // Triggers an editor widget resize. (#8361)
134
+ }
135
+ get onStateChanged() {
136
+ return this.onStateChangedEmitter.event;
137
+ }
138
+ clear() {
139
+ if (this.selectedChannel) {
140
+ this.selectedChannel.clear();
141
+ }
142
+ }
143
+ selectAll() {
144
+ const editor = this.editor;
145
+ if (editor) {
146
+ const model = editor.getControl().getModel();
147
+ if (model) {
148
+ const endLine = model.getLineCount();
149
+ const endCharacter = model.getLineMaxColumn(endLine);
150
+ editor.getControl().setSelection(new monaco.Range(1, 1, endLine, endCharacter));
151
+ }
152
+ }
153
+ }
154
+ lock() {
155
+ this.state = { ...(0, core_1.deepClone)(this.state), locked: true };
156
+ }
157
+ unlock() {
158
+ this.state = { ...(0, core_1.deepClone)(this.state), locked: false };
159
+ }
160
+ get isLocked() {
161
+ return !!this.state.locked;
162
+ }
163
+ revealLastLine() {
164
+ if (this.isLocked) {
165
+ return;
166
+ }
167
+ const editor = this.editor;
168
+ if (editor) {
169
+ const model = editor.getControl().getModel();
170
+ if (model) {
171
+ const lineNumber = model.getLineCount();
172
+ const column = model.getLineMaxColumn(lineNumber);
173
+ editor.getControl().revealPosition({ lineNumber, column }, monaco.editor.ScrollType.Smooth);
174
+ }
175
+ }
176
+ }
177
+ get selectedChannel() {
178
+ return this.outputChannelManager.selectedChannel;
179
+ }
180
+ async createEditorWidget() {
181
+ if (!this.selectedChannel) {
182
+ return undefined;
183
+ }
184
+ const { name } = this.selectedChannel;
185
+ const editor = await this.editorProvider.get(output_uri_1.OutputUri.create(name));
186
+ return new browser_1.EditorWidget(editor, this.selectionService);
187
+ }
188
+ get editorWidget() {
189
+ for (const widget of (0, algorithm_1.toArray)(this.editorContainer.children())) {
190
+ if (widget instanceof browser_1.EditorWidget) {
191
+ return widget;
192
+ }
193
+ }
194
+ return undefined;
195
+ }
196
+ get editor() {
197
+ return monaco_editor_1.MonacoEditor.get(this.editorWidget);
198
+ }
199
+ getText() {
200
+ var _a, _b;
201
+ return (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.getControl().getModel()) === null || _b === void 0 ? void 0 : _b.getValue();
202
+ }
203
+ };
204
+ exports.OutputWidget = OutputWidget;
205
+ OutputWidget.ID = 'outputView';
206
+ OutputWidget.LABEL = nls_1.nls.localizeByDefault('Output');
207
+ tslib_1.__decorate([
208
+ (0, inversify_1.inject)(selection_service_1.SelectionService),
209
+ tslib_1.__metadata("design:type", selection_service_1.SelectionService)
210
+ ], OutputWidget.prototype, "selectionService", void 0);
211
+ tslib_1.__decorate([
212
+ (0, inversify_1.inject)(monaco_editor_provider_1.MonacoEditorProvider),
213
+ tslib_1.__metadata("design:type", monaco_editor_provider_1.MonacoEditorProvider)
214
+ ], OutputWidget.prototype, "editorProvider", void 0);
215
+ tslib_1.__decorate([
216
+ (0, inversify_1.inject)(output_channel_1.OutputChannelManager),
217
+ tslib_1.__metadata("design:type", output_channel_1.OutputChannelManager)
218
+ ], OutputWidget.prototype, "outputChannelManager", void 0);
219
+ tslib_1.__decorate([
220
+ (0, inversify_1.postConstruct)(),
221
+ tslib_1.__metadata("design:type", Function),
222
+ tslib_1.__metadata("design:paramtypes", []),
223
+ tslib_1.__metadata("design:returntype", void 0)
224
+ ], OutputWidget.prototype, "init", null);
225
+ exports.OutputWidget = OutputWidget = OutputWidget_1 = tslib_1.__decorate([
226
+ (0, inversify_1.injectable)(),
227
+ tslib_1.__metadata("design:paramtypes", [])
228
+ ], OutputWidget);
229
+ /**
230
+ * Customized `DockPanel` that does not allow dropping widgets into it.
231
+ */
232
+ class NoopDragOverDockPanel extends browser_2.DockPanel {
233
+ }
234
+ NoopDragOverDockPanel.prototype['_evtDragOver'] = () => { };
235
+ NoopDragOverDockPanel.prototype['_evtDrop'] = () => { };
236
+ NoopDragOverDockPanel.prototype['_evtDragLeave'] = () => { };
237
+ //# sourceMappingURL=output-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-widget.js","sourceRoot":"","sources":["../../src/browser/output-widget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { interfaces } from '@theia/core/shared/inversify';
2
+ import { PreferenceProxy, PreferenceSchema, PreferenceService } from '@theia/core/lib/common/preferences';
3
+ export declare const OutputConfigSchema: PreferenceSchema;
4
+ export interface OutputConfiguration {
5
+ 'output.maxChannelHistory': number;
6
+ }
7
+ export declare const OutputPreferenceContribution: unique symbol;
8
+ export declare const OutputPreferences: unique symbol;
9
+ export type OutputPreferences = PreferenceProxy<OutputConfiguration>;
10
+ export declare function createOutputPreferences(preferences: PreferenceService, schema?: PreferenceSchema): OutputPreferences;
11
+ export declare function bindOutputPreferences(bind: interfaces.Bind): void;
12
+ //# sourceMappingURL=output-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-preferences.d.ts","sourceRoot":"","sources":["../../src/common/output-preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAEH,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAEpB,MAAM,oCAAoC,CAAC;AAG5C,eAAO,MAAM,kBAAkB,EAAE,gBAQhC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAChC,0BAA0B,EAAE,MAAM,CAAA;CACrC;AAED,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AACnF,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAErE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAqC,GAAG,iBAAiB,CAExI;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAQjE"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 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.bindOutputPreferences = exports.createOutputPreferences = exports.OutputPreferences = exports.OutputPreferenceContribution = exports.OutputConfigSchema = void 0;
19
+ const preferences_1 = require("@theia/core/lib/common/preferences");
20
+ const nls_1 = require("@theia/core/lib/common/nls");
21
+ exports.OutputConfigSchema = {
22
+ 'properties': {
23
+ 'output.maxChannelHistory': {
24
+ 'type': 'number',
25
+ 'description': nls_1.nls.localize('theia/output/maxChannelHistory', 'The maximum number of entries in an output channel.'),
26
+ 'default': 1000
27
+ }
28
+ }
29
+ };
30
+ exports.OutputPreferenceContribution = Symbol('OutputPreferenceContribution');
31
+ exports.OutputPreferences = Symbol('OutputPreferences');
32
+ function createOutputPreferences(preferences, schema = exports.OutputConfigSchema) {
33
+ return (0, preferences_1.createPreferenceProxy)(preferences, schema);
34
+ }
35
+ exports.createOutputPreferences = createOutputPreferences;
36
+ function bindOutputPreferences(bind) {
37
+ bind(exports.OutputPreferences).toDynamicValue(ctx => {
38
+ const preferences = ctx.container.get(preferences_1.PreferenceService);
39
+ const contribution = ctx.container.get(exports.OutputPreferenceContribution);
40
+ return createOutputPreferences(preferences, contribution.schema);
41
+ }).inSingletonScope();
42
+ bind(exports.OutputPreferenceContribution).toConstantValue({ schema: exports.OutputConfigSchema });
43
+ bind(preferences_1.PreferenceContribution).toService(exports.OutputPreferenceContribution);
44
+ }
45
+ exports.bindOutputPreferences = bindOutputPreferences;
46
+ //# sourceMappingURL=output-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-preferences.js","sourceRoot":"","sources":["../../src/common/output-preferences.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,oEAM4C;AAC5C,oDAAiD;AAEpC,QAAA,kBAAkB,GAAqB;IAChD,YAAY,EAAE;QACV,0BAA0B,EAAE;YACxB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,SAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,qDAAqD,CAAC;YACpH,SAAS,EAAE,IAAI;SAClB;KACJ;CACJ,CAAC;AAMW,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AACtE,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAG7D,SAAgB,uBAAuB,CAAC,WAA8B,EAAE,SAA2B,0BAAkB;IACjH,OAAO,IAAA,mCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB,CAAC,IAAqB;IACvD,IAAI,CAAC,yBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACzC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAoB,+BAAiB,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAyB,oCAA4B,CAAC,CAAC;QAC7F,OAAO,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,oCAA4B,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,0BAAkB,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,oCAAsB,CAAC,CAAC,SAAS,CAAC,oCAA4B,CAAC,CAAC;AACzE,CAAC;AARD,sDAQC"}
@@ -0,0 +1,8 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ export declare namespace OutputUri {
3
+ const SCHEME = "output";
4
+ function is(uri: string | URI): boolean;
5
+ function create(name: string): URI;
6
+ function channelName(uri: string | URI): string;
7
+ }
8
+ //# sourceMappingURL=output-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-uri.d.ts","sourceRoot":"","sources":["../../src/common/output-uri.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,yBAAiB,SAAS,CAAC;IAEhB,MAAM,MAAM,WAAW,CAAC;IAE/B,SAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAK7C;IAED,SAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAQxC;IAED,SAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAKrD;CAEJ"}