@theia/outline-view 1.67.0-next.56 → 1.67.0-next.59

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 (37) hide show
  1. package/lib/browser/index.d.ts +3 -0
  2. package/lib/browser/index.d.ts.map +1 -0
  3. package/lib/browser/index.js +21 -0
  4. package/lib/browser/index.js.map +1 -0
  5. package/lib/browser/outline-breadcrumbs-contribution.d.ts +59 -0
  6. package/lib/browser/outline-breadcrumbs-contribution.d.ts.map +1 -0
  7. package/lib/browser/outline-breadcrumbs-contribution.js +220 -0
  8. package/lib/browser/outline-breadcrumbs-contribution.js.map +1 -0
  9. package/lib/browser/outline-decorator-service.d.ts +14 -0
  10. package/lib/browser/outline-decorator-service.d.ts.map +1 -0
  11. package/lib/browser/outline-decorator-service.js +43 -0
  12. package/lib/browser/outline-decorator-service.js.map +1 -0
  13. package/lib/browser/outline-view-contribution.d.ts +37 -0
  14. package/lib/browser/outline-view-contribution.d.ts.map +1 -0
  15. package/lib/browser/outline-view-contribution.js +126 -0
  16. package/lib/browser/outline-view-contribution.js.map +1 -0
  17. package/lib/browser/outline-view-frontend-module.d.ts +5 -0
  18. package/lib/browser/outline-view-frontend-module.d.ts.map +1 -0
  19. package/lib/browser/outline-view-frontend-module.js +69 -0
  20. package/lib/browser/outline-view-frontend-module.js.map +1 -0
  21. package/lib/browser/outline-view-service.d.ts +30 -0
  22. package/lib/browser/outline-view-service.d.ts.map +1 -0
  23. package/lib/browser/outline-view-service.js +86 -0
  24. package/lib/browser/outline-view-service.js.map +1 -0
  25. package/lib/browser/outline-view-tree-model.d.ts +20 -0
  26. package/lib/browser/outline-view-tree-model.d.ts.map +1 -0
  27. package/lib/browser/outline-view-tree-model.js +77 -0
  28. package/lib/browser/outline-view-tree-model.js.map +1 -0
  29. package/lib/browser/outline-view-widget.d.ts +77 -0
  30. package/lib/browser/outline-view-widget.d.ts.map +1 -0
  31. package/lib/browser/outline-view-widget.js +185 -0
  32. package/lib/browser/outline-view-widget.js.map +1 -0
  33. package/lib/package.spec.d.ts +1 -0
  34. package/lib/package.spec.d.ts.map +1 -0
  35. package/lib/package.spec.js +26 -0
  36. package/lib/package.spec.js.map +1 -0
  37. package/package.json +3 -3
@@ -0,0 +1,3 @@
1
+ export * from './outline-view-widget';
2
+ export * from './outline-view-frontend-module';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 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
+ const tslib_1 = require("tslib");
19
+ tslib_1.__exportStar(require("./outline-view-widget"), exports);
20
+ tslib_1.__exportStar(require("./outline-view-frontend-module"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.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;;;AAEhF,gEAAsC;AACtC,yEAA+C"}
@@ -0,0 +1,59 @@
1
+ import { LabelProvider, BreadcrumbsService, TreeNode, OpenerService, BreadcrumbsContribution, Breadcrumb } from '@theia/core/lib/browser';
2
+ import URI from '@theia/core/lib/common/uri';
3
+ import { OutlineViewService } from './outline-view-service';
4
+ import { OutlineSymbolInformationNode, OutlineViewWidget } from './outline-view-widget';
5
+ import { Disposable, Emitter, Event } from '@theia/core/lib/common';
6
+ export declare const OutlineBreadcrumbType: unique symbol;
7
+ export declare const BreadcrumbPopupOutlineViewFactory: unique symbol;
8
+ export declare const OUTLINE_BREADCRUMB_CONTAINER_CLASS = "outline-element";
9
+ export interface BreadcrumbPopupOutlineViewFactory {
10
+ (): BreadcrumbPopupOutlineView;
11
+ }
12
+ export declare class BreadcrumbPopupOutlineView extends OutlineViewWidget {
13
+ protected readonly openerService: OpenerService;
14
+ protected readonly outlineViewService: OutlineViewService;
15
+ protected tapNode(node?: TreeNode): void;
16
+ cloneState(roots: OutlineSymbolInformationNode[]): void;
17
+ }
18
+ export declare class OutlineBreadcrumbsContribution implements BreadcrumbsContribution {
19
+ protected readonly labelProvider: LabelProvider;
20
+ protected readonly outlineViewService: OutlineViewService;
21
+ protected readonly breadcrumbsService: BreadcrumbsService;
22
+ protected readonly outlineFactory: BreadcrumbPopupOutlineViewFactory;
23
+ protected outlineView: BreadcrumbPopupOutlineView;
24
+ readonly type: symbol;
25
+ readonly priority: number;
26
+ protected currentUri: URI | undefined;
27
+ protected currentBreadcrumbs: OutlineBreadcrumb[];
28
+ protected roots: OutlineSymbolInformationNode[];
29
+ protected readonly onDidChangeBreadcrumbsEmitter: Emitter<URI>;
30
+ get onDidChangeBreadcrumbs(): Event<URI>;
31
+ init(): void;
32
+ protected updateOutlineItems(uri: URI, selectedNode: OutlineSymbolInformationNode | undefined): Promise<void>;
33
+ computeBreadcrumbs(uri: URI): Promise<Breadcrumb[]>;
34
+ attachPopupContent(breadcrumb: Breadcrumb, parent: HTMLElement): Promise<Disposable | undefined>;
35
+ /**
36
+ * Returns the path of the given outline node.
37
+ */
38
+ protected toOutlinePath(node: OutlineSymbolInformationNode | undefined, path?: OutlineSymbolInformationNode[]): OutlineSymbolInformationNode[] | undefined;
39
+ /**
40
+ * Find the node that is selected. Returns after the first match.
41
+ */
42
+ protected findSelectedNode(roots: OutlineSymbolInformationNode[]): OutlineSymbolInformationNode | undefined;
43
+ }
44
+ export declare class OutlineBreadcrumb implements Breadcrumb {
45
+ readonly node: OutlineSymbolInformationNode | OutlineSymbolInformationNode[];
46
+ readonly uri: URI;
47
+ readonly index: string;
48
+ readonly label: string;
49
+ readonly iconClass: string;
50
+ readonly containerClass: string;
51
+ constructor(node: OutlineSymbolInformationNode | OutlineSymbolInformationNode[], uri: URI, index: string, label: string, iconClass: string, containerClass: string);
52
+ get id(): string;
53
+ get type(): symbol;
54
+ get longLabel(): string;
55
+ }
56
+ export declare namespace OutlineBreadcrumb {
57
+ function is(breadcrumb: Breadcrumb): breadcrumb is OutlineBreadcrumb;
58
+ }
59
+ //# sourceMappingURL=outline-breadcrumbs-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-breadcrumbs-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline-breadcrumbs-contribution.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAU,QAAQ,EAAE,aAAa,EAA4B,uBAAuB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC5K,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAwB,OAAO,EAAE,KAAK,EAAgB,MAAM,wBAAwB,CAAC;AAExG,eAAO,MAAM,qBAAqB,eAA8B,CAAC;AACjE,eAAO,MAAM,iCAAiC,eAA8C,CAAC;AAC7F,eAAO,MAAM,kCAAkC,oBAAoB,CAAC;AACpE,MAAM,WAAW,iCAAiC;IAC9C,IAAI,0BAA0B,CAAC;CAClC;AACD,qBAAa,0BAA2B,SAAQ,iBAAiB;IACtC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;cAEvC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI;IASjD,UAAU,CAAC,KAAK,EAAE,4BAA4B,EAAE,GAAG,IAAI;CAK1D;AAED,qBACa,8BAA+B,YAAW,uBAAuB;IAE1E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,iCAAiC,CAAC;IAErE,SAAS,CAAC,WAAW,EAAE,0BAA0B,CAAC;IAElD,QAAQ,CAAC,IAAI,SAAyB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAO;IAEhC,SAAS,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS,CAAa;IAClD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IACvD,SAAS,CAAC,KAAK,EAAE,4BAA4B,EAAE,CAAM;IAErD,SAAS,CAAC,QAAQ,CAAC,6BAA6B,eAAsB;IACtE,IAAI,sBAAsB,IAAI,KAAK,CAAC,GAAG,CAAC,CAEvC;IAGD,IAAI,IAAI,IAAI;cAuBI,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC7G,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOnD,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA0BtG;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,EAAE,IAAI,GAAE,4BAA4B,EAAO,GAAG,4BAA4B,EAAE,GAAG,SAAS;IAU9J;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,GAAG,SAAS;CAY9G;AAED,qBAAa,iBAAkB,YAAW,UAAU;IAE5C,QAAQ,CAAC,IAAI,EAAE,4BAA4B,GAAG,4BAA4B,EAAE;IAC5E,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM;gBALtB,IAAI,EAAE,4BAA4B,GAAG,4BAA4B,EAAE,EACnE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM;IAGnC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;CACJ;AACD,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAE1E;CACJ"}
@@ -0,0 +1,220 @@
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.OutlineBreadcrumb = exports.OutlineBreadcrumbsContribution = exports.BreadcrumbPopupOutlineView = exports.OUTLINE_BREADCRUMB_CONTAINER_CLASS = exports.BreadcrumbPopupOutlineViewFactory = exports.OutlineBreadcrumbType = 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 outline_view_service_1 = require("./outline-view-service");
23
+ const outline_view_widget_1 = require("./outline-view-widget");
24
+ const common_1 = require("@theia/core/lib/common");
25
+ exports.OutlineBreadcrumbType = Symbol('OutlineBreadcrumb');
26
+ exports.BreadcrumbPopupOutlineViewFactory = Symbol('BreadcrumbPopupOutlineViewFactory');
27
+ exports.OUTLINE_BREADCRUMB_CONTAINER_CLASS = 'outline-element';
28
+ class BreadcrumbPopupOutlineView extends outline_view_widget_1.OutlineViewWidget {
29
+ tapNode(node) {
30
+ if (common_1.UriSelection.is(node) && outline_view_widget_1.OutlineSymbolInformationNode.hasRange(node)) {
31
+ (0, browser_1.open)(this.openerService, node.uri, { selection: node.range });
32
+ }
33
+ else {
34
+ this.outlineViewService.didTapNode(node);
35
+ super.tapNode(node);
36
+ }
37
+ }
38
+ cloneState(roots) {
39
+ const nodes = this.reconcileTreeState(roots);
40
+ const root = this.getRoot(nodes);
41
+ this.model.root = this.inflateFromStorage(this.deflateForStorage(root));
42
+ }
43
+ }
44
+ exports.BreadcrumbPopupOutlineView = BreadcrumbPopupOutlineView;
45
+ tslib_1.__decorate([
46
+ (0, inversify_1.inject)(browser_1.OpenerService),
47
+ tslib_1.__metadata("design:type", Object)
48
+ ], BreadcrumbPopupOutlineView.prototype, "openerService", void 0);
49
+ tslib_1.__decorate([
50
+ (0, inversify_1.inject)(outline_view_service_1.OutlineViewService),
51
+ tslib_1.__metadata("design:type", outline_view_service_1.OutlineViewService)
52
+ ], BreadcrumbPopupOutlineView.prototype, "outlineViewService", void 0);
53
+ let OutlineBreadcrumbsContribution = class OutlineBreadcrumbsContribution {
54
+ constructor() {
55
+ this.type = exports.OutlineBreadcrumbType;
56
+ this.priority = 200;
57
+ this.currentUri = undefined;
58
+ this.currentBreadcrumbs = [];
59
+ this.roots = [];
60
+ this.onDidChangeBreadcrumbsEmitter = new common_1.Emitter();
61
+ }
62
+ get onDidChangeBreadcrumbs() {
63
+ return this.onDidChangeBreadcrumbsEmitter.event;
64
+ }
65
+ init() {
66
+ this.outlineView = this.outlineFactory();
67
+ this.outlineView.node.style.height = 'auto';
68
+ this.outlineView.node.style.maxHeight = '200px';
69
+ this.outlineViewService.onDidChangeOutline(roots => {
70
+ if (roots.length > 0) {
71
+ this.roots = roots;
72
+ const first = roots[0];
73
+ if (common_1.UriSelection.is(first)) {
74
+ this.updateOutlineItems(first.uri, this.findSelectedNode(roots));
75
+ }
76
+ }
77
+ else {
78
+ this.currentBreadcrumbs = [];
79
+ this.roots = [];
80
+ }
81
+ });
82
+ this.outlineViewService.onDidSelect(node => {
83
+ if (common_1.UriSelection.is(node)) {
84
+ this.updateOutlineItems(node.uri, node);
85
+ }
86
+ });
87
+ }
88
+ async updateOutlineItems(uri, selectedNode) {
89
+ this.currentUri = uri;
90
+ const outlinePath = this.toOutlinePath(selectedNode);
91
+ if (outlinePath && selectedNode) {
92
+ this.currentBreadcrumbs = outlinePath.map((node, index) => new OutlineBreadcrumb(node, uri, index.toString(), this.labelProvider.getName(node), 'symbol-icon-center codicon codicon-symbol-' + node.iconClass, exports.OUTLINE_BREADCRUMB_CONTAINER_CLASS));
93
+ if (selectedNode.children && selectedNode.children.length > 0) {
94
+ this.currentBreadcrumbs.push(new OutlineBreadcrumb(selectedNode.children, uri, this.currentBreadcrumbs.length.toString(), '…', '', exports.OUTLINE_BREADCRUMB_CONTAINER_CLASS));
95
+ }
96
+ }
97
+ else {
98
+ this.currentBreadcrumbs = [];
99
+ if (this.roots) {
100
+ this.currentBreadcrumbs.push(new OutlineBreadcrumb(this.roots, uri, this.currentBreadcrumbs.length.toString(), '…', '', exports.OUTLINE_BREADCRUMB_CONTAINER_CLASS));
101
+ }
102
+ }
103
+ this.onDidChangeBreadcrumbsEmitter.fire(uri);
104
+ }
105
+ async computeBreadcrumbs(uri) {
106
+ if (this.currentUri && uri.toString() === this.currentUri.toString()) {
107
+ return this.currentBreadcrumbs;
108
+ }
109
+ return [];
110
+ }
111
+ async attachPopupContent(breadcrumb, parent) {
112
+ if (!OutlineBreadcrumb.is(breadcrumb)) {
113
+ return undefined;
114
+ }
115
+ const node = Array.isArray(breadcrumb.node) ? breadcrumb.node[0] : breadcrumb.node;
116
+ if (!node.parent) {
117
+ return undefined;
118
+ }
119
+ const siblings = node.parent.children.filter((child) => outline_view_widget_1.OutlineSymbolInformationNode.is(child));
120
+ const toDisposeOnHide = new common_1.DisposableCollection();
121
+ this.outlineView.cloneState(siblings);
122
+ this.outlineView.model.selectNode(node);
123
+ this.outlineView.model.collapseAll();
124
+ browser_1.Widget.attach(this.outlineView, parent);
125
+ this.outlineView.activate();
126
+ toDisposeOnHide.pushAll([
127
+ this.outlineView.model.onExpansionChanged(expandedNode => browser_1.SelectableTreeNode.is(expandedNode) && this.outlineView.model.selectNode(expandedNode)),
128
+ common_1.Disposable.create(() => {
129
+ this.outlineView.model.root = undefined;
130
+ browser_1.Widget.detach(this.outlineView);
131
+ }),
132
+ ]);
133
+ return toDisposeOnHide;
134
+ }
135
+ /**
136
+ * Returns the path of the given outline node.
137
+ */
138
+ toOutlinePath(node, path = []) {
139
+ if (!node) {
140
+ return undefined;
141
+ }
142
+ if (node.id === 'outline-view-root') {
143
+ return path;
144
+ }
145
+ if (node.parent) {
146
+ return this.toOutlinePath(node.parent, [node, ...path]);
147
+ }
148
+ else {
149
+ return [node, ...path];
150
+ }
151
+ }
152
+ /**
153
+ * Find the node that is selected. Returns after the first match.
154
+ */
155
+ findSelectedNode(roots) {
156
+ const result = roots.find(node => node.selected);
157
+ if (result) {
158
+ return result;
159
+ }
160
+ for (const node of roots) {
161
+ const result2 = this.findSelectedNode(node.children.map(child => child));
162
+ if (result2) {
163
+ return result2;
164
+ }
165
+ }
166
+ }
167
+ };
168
+ exports.OutlineBreadcrumbsContribution = OutlineBreadcrumbsContribution;
169
+ tslib_1.__decorate([
170
+ (0, inversify_1.inject)(browser_1.LabelProvider),
171
+ tslib_1.__metadata("design:type", browser_1.LabelProvider)
172
+ ], OutlineBreadcrumbsContribution.prototype, "labelProvider", void 0);
173
+ tslib_1.__decorate([
174
+ (0, inversify_1.inject)(outline_view_service_1.OutlineViewService),
175
+ tslib_1.__metadata("design:type", outline_view_service_1.OutlineViewService)
176
+ ], OutlineBreadcrumbsContribution.prototype, "outlineViewService", void 0);
177
+ tslib_1.__decorate([
178
+ (0, inversify_1.inject)(browser_1.BreadcrumbsService),
179
+ tslib_1.__metadata("design:type", browser_1.BreadcrumbsService)
180
+ ], OutlineBreadcrumbsContribution.prototype, "breadcrumbsService", void 0);
181
+ tslib_1.__decorate([
182
+ (0, inversify_1.inject)(exports.BreadcrumbPopupOutlineViewFactory),
183
+ tslib_1.__metadata("design:type", Function)
184
+ ], OutlineBreadcrumbsContribution.prototype, "outlineFactory", void 0);
185
+ tslib_1.__decorate([
186
+ (0, inversify_1.postConstruct)(),
187
+ tslib_1.__metadata("design:type", Function),
188
+ tslib_1.__metadata("design:paramtypes", []),
189
+ tslib_1.__metadata("design:returntype", void 0)
190
+ ], OutlineBreadcrumbsContribution.prototype, "init", null);
191
+ exports.OutlineBreadcrumbsContribution = OutlineBreadcrumbsContribution = tslib_1.__decorate([
192
+ (0, inversify_1.injectable)()
193
+ ], OutlineBreadcrumbsContribution);
194
+ class OutlineBreadcrumb {
195
+ constructor(node, uri, index, label, iconClass, containerClass) {
196
+ this.node = node;
197
+ this.uri = uri;
198
+ this.index = index;
199
+ this.label = label;
200
+ this.iconClass = iconClass;
201
+ this.containerClass = containerClass;
202
+ }
203
+ get id() {
204
+ return this.type.toString() + '_' + this.uri.toString() + '_' + this.index;
205
+ }
206
+ get type() {
207
+ return exports.OutlineBreadcrumbType;
208
+ }
209
+ get longLabel() {
210
+ return this.label;
211
+ }
212
+ }
213
+ exports.OutlineBreadcrumb = OutlineBreadcrumb;
214
+ (function (OutlineBreadcrumb) {
215
+ function is(breadcrumb) {
216
+ return 'node' in breadcrumb && 'uri' in breadcrumb;
217
+ }
218
+ OutlineBreadcrumb.is = is;
219
+ })(OutlineBreadcrumb || (exports.OutlineBreadcrumb = OutlineBreadcrumb = {}));
220
+ //# sourceMappingURL=outline-breadcrumbs-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-breadcrumbs-contribution.js","sourceRoot":"","sources":["../../src/browser/outline-breadcrumbs-contribution.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
2
+ import { TreeDecorator, AbstractTreeDecoratorService } from '@theia/core/lib/browser/tree/tree-decorator';
3
+ /**
4
+ * Symbol for all decorators that would like to contribute into the outline.
5
+ */
6
+ export declare const OutlineTreeDecorator: unique symbol;
7
+ /**
8
+ * Decorator service for the outline.
9
+ */
10
+ export declare class OutlineDecoratorService extends AbstractTreeDecoratorService {
11
+ protected readonly contributions: ContributionProvider<TreeDecorator>;
12
+ constructor(contributions: ContributionProvider<TreeDecorator>);
13
+ }
14
+ //# sourceMappingURL=outline-decorator-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-decorator-service.d.ts","sourceRoot":"","sources":["../../src/browser/outline-decorator-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE1G;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;GAEG;AACH,qBACa,uBAAwB,SAAQ,4BAA4B;IAEE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,aAAa,CAAC;gBAAlD,aAAa,EAAE,oBAAoB,CAAC,aAAa,CAAC;CAI/I"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Redhat, 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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.OutlineDecoratorService = exports.OutlineTreeDecorator = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const contribution_provider_1 = require("@theia/core/lib/common/contribution-provider");
22
+ const tree_decorator_1 = require("@theia/core/lib/browser/tree/tree-decorator");
23
+ /**
24
+ * Symbol for all decorators that would like to contribute into the outline.
25
+ */
26
+ exports.OutlineTreeDecorator = Symbol('OutlineTreeDecorator');
27
+ /**
28
+ * Decorator service for the outline.
29
+ */
30
+ let OutlineDecoratorService = class OutlineDecoratorService extends tree_decorator_1.AbstractTreeDecoratorService {
31
+ constructor(contributions) {
32
+ super(contributions.getContributions());
33
+ this.contributions = contributions;
34
+ }
35
+ };
36
+ exports.OutlineDecoratorService = OutlineDecoratorService;
37
+ exports.OutlineDecoratorService = OutlineDecoratorService = tslib_1.__decorate([
38
+ (0, inversify_1.injectable)(),
39
+ tslib_1.__param(0, (0, inversify_1.inject)(contribution_provider_1.ContributionProvider)),
40
+ tslib_1.__param(0, (0, inversify_1.named)(exports.OutlineTreeDecorator)),
41
+ tslib_1.__metadata("design:paramtypes", [Object])
42
+ ], OutlineDecoratorService);
43
+ //# sourceMappingURL=outline-decorator-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-decorator-service.js","sourceRoot":"","sources":["../../src/browser/outline-decorator-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,kDAAkD;AAClD,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,4DAAyE;AACzE,wFAAoF;AACpF,gFAA0G;AAE1G;;GAEG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,6CAA4B;IAErE,YAA0F,aAAkD;QACxI,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAD8C,kBAAa,GAAb,aAAa,CAAqC;IAE5I,CAAC;CAEJ,CAAA;AANY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;IAGI,mBAAA,IAAA,kBAAM,EAAC,4CAAoB,CAAC,CAAA;IAAE,mBAAA,IAAA,iBAAK,EAAC,4BAAoB,CAAC,CAAA;;GAF7D,uBAAuB,CAMnC"}
@@ -0,0 +1,37 @@
1
+ import { AbstractViewContribution } from '@theia/core/lib/browser/shell/view-contribution';
2
+ import { FrontendApplication } from '@theia/core/lib/browser/frontend-application';
3
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
4
+ import { Command, CommandRegistry } from '@theia/core/lib/common/command';
5
+ import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
6
+ import { Widget } from '@theia/core/lib/browser/widgets';
7
+ import { OutlineViewWidget } from './outline-view-widget';
8
+ export declare const OUTLINE_WIDGET_FACTORY_ID = "outline-view";
9
+ /**
10
+ * Collection of `outline-view` commands.
11
+ */
12
+ export declare namespace OutlineViewCommands {
13
+ /**
14
+ * Command which collapses all nodes from the `outline-view` tree.
15
+ */
16
+ const COLLAPSE_ALL: Command;
17
+ /**
18
+ * Command which expands all nodes from the `outline-view` tree.
19
+ */
20
+ const EXPAND_ALL: Command;
21
+ }
22
+ export declare class OutlineViewContribution extends AbstractViewContribution<OutlineViewWidget> implements FrontendApplicationContribution, TabBarToolbarContribution {
23
+ constructor();
24
+ initializeLayout(app: FrontendApplication): Promise<void>;
25
+ registerCommands(commands: CommandRegistry): void;
26
+ registerToolbarItems(toolbar: TabBarToolbarRegistry): Promise<void>;
27
+ /**
28
+ * Collapse all nodes in the outline view tree.
29
+ */
30
+ protected collapseAllItems(): Promise<void>;
31
+ protected expandAllItems(): Promise<void>;
32
+ /**
33
+ * Determine if the current widget is the `outline-view`.
34
+ */
35
+ protected withWidget<T>(widget: Widget | undefined, cb: (widget: OutlineViewWidget) => T): T | false;
36
+ }
37
+ //# sourceMappingURL=outline-view-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-view-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAW,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD;;GAEG;AACH,yBAAiB,mBAAmB,CAAC;IACjC;;OAEG;IACI,MAAM,YAAY,EAAE,OAG1B,CAAC;IAEF;;OAEG;IACI,MAAM,UAAU,EAAE,OAGxB,CAAC;CACL;AAED,qBACa,uBAAwB,SAAQ,wBAAwB,CAAC,iBAAiB,CAAE,YAAW,+BAA+B,EAAE,yBAAyB;;IAiBpJ,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAcpD,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cAQjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,oBAA0C,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;CAM7H"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 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.OutlineViewContribution = exports.OutlineViewCommands = exports.OUTLINE_WIDGET_FACTORY_ID = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const view_contribution_1 = require("@theia/core/lib/browser/shell/view-contribution");
22
+ const widgets_1 = require("@theia/core/lib/browser/widgets");
23
+ const outline_view_widget_1 = require("./outline-view-widget");
24
+ const tree_1 = require("@theia/core/lib/browser/tree");
25
+ const os_1 = require("@theia/core/lib/common/os");
26
+ const nls_1 = require("@theia/core/lib/common/nls");
27
+ exports.OUTLINE_WIDGET_FACTORY_ID = 'outline-view';
28
+ /**
29
+ * Collection of `outline-view` commands.
30
+ */
31
+ var OutlineViewCommands;
32
+ (function (OutlineViewCommands) {
33
+ /**
34
+ * Command which collapses all nodes from the `outline-view` tree.
35
+ */
36
+ OutlineViewCommands.COLLAPSE_ALL = {
37
+ id: 'outlineView.collapse.all',
38
+ iconClass: (0, widgets_1.codicon)('collapse-all')
39
+ };
40
+ /**
41
+ * Command which expands all nodes from the `outline-view` tree.
42
+ */
43
+ OutlineViewCommands.EXPAND_ALL = {
44
+ id: 'outlineView.expand.all',
45
+ iconClass: (0, widgets_1.codicon)('expand-all')
46
+ };
47
+ })(OutlineViewCommands || (exports.OutlineViewCommands = OutlineViewCommands = {}));
48
+ let OutlineViewContribution = class OutlineViewContribution extends view_contribution_1.AbstractViewContribution {
49
+ constructor() {
50
+ super({
51
+ widgetId: exports.OUTLINE_WIDGET_FACTORY_ID,
52
+ widgetName: outline_view_widget_1.OutlineViewWidget.LABEL,
53
+ defaultWidgetOptions: {
54
+ area: 'right',
55
+ rank: 500
56
+ },
57
+ toggleCommandId: 'outlineView:toggle',
58
+ toggleKeybinding: os_1.OS.type() !== os_1.OS.Type.Linux
59
+ ? 'ctrlcmd+shift+i'
60
+ : undefined
61
+ });
62
+ }
63
+ async initializeLayout(app) {
64
+ await this.openView();
65
+ }
66
+ registerCommands(commands) {
67
+ super.registerCommands(commands);
68
+ commands.registerCommand(OutlineViewCommands.COLLAPSE_ALL, {
69
+ isEnabled: w => this.withWidget(w, () => true),
70
+ isVisible: w => this.withWidget(w, widget => !widget.model.areNodesCollapsed()),
71
+ execute: () => this.collapseAllItems()
72
+ });
73
+ commands.registerCommand(OutlineViewCommands.EXPAND_ALL, {
74
+ isEnabled: w => this.withWidget(w, () => true),
75
+ isVisible: w => this.withWidget(w, widget => widget.model.areNodesCollapsed()),
76
+ execute: () => this.expandAllItems()
77
+ });
78
+ }
79
+ async registerToolbarItems(toolbar) {
80
+ const widget = await this.widget;
81
+ const onDidChange = widget.onDidUpdate;
82
+ toolbar.registerItem({
83
+ id: OutlineViewCommands.COLLAPSE_ALL.id,
84
+ command: OutlineViewCommands.COLLAPSE_ALL.id,
85
+ tooltip: nls_1.nls.localizeByDefault('Collapse All'),
86
+ priority: 0,
87
+ onDidChange
88
+ });
89
+ toolbar.registerItem({
90
+ id: OutlineViewCommands.EXPAND_ALL.id,
91
+ command: OutlineViewCommands.EXPAND_ALL.id,
92
+ tooltip: nls_1.nls.localizeByDefault('Expand All'),
93
+ priority: 0,
94
+ onDidChange
95
+ });
96
+ }
97
+ /**
98
+ * Collapse all nodes in the outline view tree.
99
+ */
100
+ async collapseAllItems() {
101
+ const { model } = await this.widget;
102
+ const root = model.root;
103
+ if (tree_1.CompositeTreeNode.is(root)) {
104
+ model.collapseAll(root);
105
+ }
106
+ }
107
+ async expandAllItems() {
108
+ const { model } = await this.widget;
109
+ model.expandAll(model.root);
110
+ }
111
+ /**
112
+ * Determine if the current widget is the `outline-view`.
113
+ */
114
+ withWidget(widget = this.tryGetWidget(), cb) {
115
+ if (widget instanceof outline_view_widget_1.OutlineViewWidget && widget.id === exports.OUTLINE_WIDGET_FACTORY_ID) {
116
+ return cb(widget);
117
+ }
118
+ return false;
119
+ }
120
+ };
121
+ exports.OutlineViewContribution = OutlineViewContribution;
122
+ exports.OutlineViewContribution = OutlineViewContribution = tslib_1.__decorate([
123
+ (0, inversify_1.injectable)(),
124
+ tslib_1.__metadata("design:paramtypes", [])
125
+ ], OutlineViewContribution);
126
+ //# sourceMappingURL=outline-view-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-view-contribution.js","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.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;;;;AAEhF,4DAA0D;AAC1D,uFAA2F;AAK3F,6DAAkE;AAClE,+DAA0D;AAC1D,uDAAiE;AACjE,kDAA+C;AAC/C,oDAAiD;AAEpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAExD;;GAEG;AACH,IAAiB,mBAAmB,CAgBnC;AAhBD,WAAiB,mBAAmB;IAChC;;OAEG;IACU,gCAAY,GAAY;QACjC,EAAE,EAAE,0BAA0B;QAC9B,SAAS,EAAE,IAAA,iBAAO,EAAC,cAAc,CAAC;KACrC,CAAC;IAEF;;OAEG;IACU,8BAAU,GAAY;QAC/B,EAAE,EAAE,wBAAwB;QAC5B,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC;KACnC,CAAC;AACN,CAAC,EAhBgB,mBAAmB,mCAAnB,mBAAmB,QAgBnC;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,4CAA2C;IAEpF;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,iCAAyB;YACnC,UAAU,EAAE,uCAAiB,CAAC,KAAK;YACnC,oBAAoB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;aACZ;YACD,eAAe,EAAE,oBAAoB;YACrC,gBAAgB,EAAE,OAAE,CAAC,IAAI,EAAE,KAAK,OAAE,CAAC,IAAI,CAAC,KAAK;gBACzC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,SAAS;SAClB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAwB;QAC3C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEQ,gBAAgB,CAAC,QAAyB;QAC/C,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,CAAC,YAAY,EAAE;YACvD,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC/E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;SACzC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,mBAAmB,CAAC,UAAU,EAAE;YACrD,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC9E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA8B;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC;YACjB,EAAE,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE;YACvC,OAAO,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE;YAC5C,OAAO,EAAE,SAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC;YAC9C,QAAQ,EAAE,CAAC;YACX,WAAW;SACd,CAAC,CAAC;QACH,OAAO,CAAC,YAAY,CAAC;YACjB,EAAE,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE;YACrC,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE;YAC1C,OAAO,EAAE,SAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAC5C,QAAQ,EAAE,CAAC;YACX,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,wBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAES,KAAK,CAAC,cAAc;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACpC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,UAAU,CAAI,SAA6B,IAAI,CAAC,YAAY,EAAE,EAAE,EAAoC;QAC1G,IAAI,MAAM,YAAY,uCAAiB,IAAI,MAAM,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC;YACjF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AA/EY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;;GACA,uBAAuB,CA+EnC"}
@@ -0,0 +1,5 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ import '../../src/browser/styles/index.css';
3
+ declare const _default: ContainerModule;
4
+ export default _default;
5
+ //# sourceMappingURL=outline-view-frontend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline-view-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;AAc3E,OAAO,oCAAoC,CAAC;;AAM5C,wBAqBG"}