@pstdio/workbench 0.5.0 → 0.7.0
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.
- package/README.md +66 -72
- package/dist/composition-resolver-types-CWykPyEK.js +241 -0
- package/dist/composition-resolver-types-CWykPyEK.js.map +1 -0
- package/dist/extensions.d.ts +380 -29
- package/dist/extensions.js +1366 -883
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-B6_iR4EN.js +496 -0
- package/dist/file-renderer-view-B6_iR4EN.js.map +1 -0
- package/dist/file-section-navigation-CfYqVObc.js +30 -0
- package/dist/file-section-navigation-CfYqVObc.js.map +1 -0
- package/dist/index.d.ts +305 -17
- package/dist/index.js +2343 -2083
- package/dist/index.js.map +1 -1
- package/dist/layout-types-DMoZz38-.js.map +1 -1
- package/dist/react.d.ts +190 -16
- package/dist/react.js +2473 -2374
- package/dist/react.js.map +1 -1
- package/dist/storage.js +132 -155
- package/dist/storage.js.map +1 -1
- package/dist/testing.d.ts +177 -14
- package/dist/webview-runtime.js +1 -1
- package/dist/webview-runtime.js.map +1 -1
- package/dist/workbench-built-ins-BncLJfQA.js +1175 -0
- package/dist/workbench-built-ins-BncLJfQA.js.map +1 -0
- package/dist/workbench-menu-paths-Bb0ICxeG.js +20 -0
- package/dist/workbench-menu-paths-Bb0ICxeG.js.map +1 -0
- package/package.json +4 -4
- package/dist/context-key-service-B2K9LAec.js +0 -1034
- package/dist/context-key-service-B2K9LAec.js.map +0 -1
- package/dist/file-renderer-view-DrrhYnb_.js +0 -171
- package/dist/file-renderer-view-DrrhYnb_.js.map +0 -1
- package/dist/workbench-menu-paths-B_QJzcNU.js +0 -12
- package/dist/workbench-menu-paths-B_QJzcNU.js.map +0 -1
package/dist/extensions.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommandExecuteRequest } from '@pstdio/sdk/api';
|
|
2
|
+
import { CommandExecuteResponse } from '@pstdio/sdk/api';
|
|
2
3
|
import { ComponentType } from 'react';
|
|
3
4
|
import { ExtensionCommandPaletteContribution } from '@pstdio/sdk/api';
|
|
4
5
|
import { ExtensionMenuContribution } from '@pstdio/sdk/api';
|
|
@@ -141,6 +142,7 @@ declare interface Command {
|
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
declare interface CommandHandler<TArgs = unknown, TResult = unknown> {
|
|
145
|
+
prepareArgs?(args: TArgs, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: TArgs) => void): TArgs | Promise<TArgs>;
|
|
144
146
|
execute(args: TArgs, context?: WorkbenchCommandExecutionContext): TResult | Promise<TResult>;
|
|
145
147
|
isEnabled?(args: TArgs): boolean;
|
|
146
148
|
isVisible?(args: TArgs): boolean;
|
|
@@ -197,6 +199,8 @@ declare interface CommandParamDescriptor {
|
|
|
197
199
|
options?: CommandParamOption[];
|
|
198
200
|
templateType?: string;
|
|
199
201
|
resourceType?: string;
|
|
202
|
+
accept?: string;
|
|
203
|
+
multiple?: boolean;
|
|
200
204
|
metadata?: Record<string, unknown>;
|
|
201
205
|
}
|
|
202
206
|
|
|
@@ -216,6 +220,7 @@ declare interface CommandRegistry {
|
|
|
216
220
|
isCommandEnabled(id: string, args?: unknown): boolean;
|
|
217
221
|
isCommandVisible(id: string, args?: unknown): boolean;
|
|
218
222
|
isCommandToggled(id: string, args?: unknown): boolean;
|
|
223
|
+
prepareCommandArgs(id: string, args: unknown, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: unknown) => void): Promise<unknown>;
|
|
219
224
|
executeCommand(id: string, args?: unknown, context?: WorkbenchCommandExecutionContext): Promise<unknown>;
|
|
220
225
|
onDidExecuteError(listener: WorkbenchCommandExecutionErrorListener): Disposable_2;
|
|
221
226
|
}
|
|
@@ -224,6 +229,72 @@ declare interface CommandRegistryStoreState {
|
|
|
224
229
|
commands: Record<string, RegisteredCommand>;
|
|
225
230
|
}
|
|
226
231
|
|
|
232
|
+
declare interface CompositionDiagnostic {
|
|
233
|
+
code: "extension_resource_kind_missing" | "extension_resource_slot_missing" | "extension_resource_slot_closed" | "extension_panel_missing" | "extension_panel_placement_unresolvable" | "extension_mode_resource_unsupported" | "extension_placement_required_invalid" | "extension_resource_primary_invalid";
|
|
234
|
+
message: string;
|
|
235
|
+
panelId?: string;
|
|
236
|
+
slot?: string;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
declare interface CompositionModeDefinition {
|
|
240
|
+
id: string;
|
|
241
|
+
extensionId?: string;
|
|
242
|
+
resources?: Record<string, CompositionModeRecipe>;
|
|
243
|
+
modePanels?: Record<string, CompositionPlacementPolicy>;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
declare interface CompositionModeRecipe {
|
|
247
|
+
slots?: Record<string, CompositionPlacementPolicy>;
|
|
248
|
+
panels?: Record<string, CompositionPlacementPolicy>;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
declare interface CompositionPanelDefinition {
|
|
252
|
+
id: string;
|
|
253
|
+
extensionId: string;
|
|
254
|
+
title: string;
|
|
255
|
+
icon?: string;
|
|
256
|
+
show?: CompositionPanelPlacement | readonly CompositionPanelPlacement[];
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
declare interface CompositionPanelPlacement extends CompositionPlacementPolicy {
|
|
260
|
+
resourceKind?: string;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
declare interface CompositionPlacementPolicy {
|
|
264
|
+
region: DockedCompositionRegion;
|
|
265
|
+
allowedRegions?: readonly DockedCompositionRegion[];
|
|
266
|
+
required?: boolean;
|
|
267
|
+
defaultOpen?: boolean;
|
|
268
|
+
pinned?: boolean;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
declare interface CompositionReconcileContext {
|
|
272
|
+
layout: LayoutModel;
|
|
273
|
+
notifications: NotificationRegistry;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export declare const compositionRequiredNotificationId: (modeId: string) => string;
|
|
277
|
+
|
|
278
|
+
declare interface CompositionResourceKindDefinition {
|
|
279
|
+
id: string;
|
|
280
|
+
extensionId: string;
|
|
281
|
+
surface: "primary" | "secondary" | "attached";
|
|
282
|
+
slots: Record<string, CompositionSlotDefinition>;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
declare interface CompositionResourcePanelEdge {
|
|
286
|
+
id: string;
|
|
287
|
+
extensionId: string;
|
|
288
|
+
resourceKind: string;
|
|
289
|
+
panel: string;
|
|
290
|
+
slot: string;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
declare interface CompositionSlotDefinition {
|
|
294
|
+
cardinality: "one" | "many";
|
|
295
|
+
external: boolean;
|
|
296
|
+
}
|
|
297
|
+
|
|
227
298
|
declare interface ContextKeyScope extends Disposable_2 {
|
|
228
299
|
ownerId: string;
|
|
229
300
|
set(key: string, value: ContextKeyValue): void;
|
|
@@ -366,6 +437,8 @@ declare interface CreateTerminalSessionCapabilityInput {
|
|
|
366
437
|
hostEvents: HostEventPublisher;
|
|
367
438
|
}
|
|
368
439
|
|
|
440
|
+
export declare const createWorkbenchCompositionRegistry: () => WorkbenchCompositionRegistry;
|
|
441
|
+
|
|
369
442
|
export declare const createWorkbenchWebviewHostCapabilities: (input: CreateWorkbenchWebviewHostCapabilitiesInput) => {
|
|
370
443
|
"terminal.session"?: HostCapability | undefined;
|
|
371
444
|
"commands.execute": (params: unknown) => Promise<unknown>;
|
|
@@ -445,7 +518,7 @@ declare interface DataTableRendererContribution {
|
|
|
445
518
|
emptyDescription?: string;
|
|
446
519
|
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
447
520
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
448
|
-
|
|
521
|
+
onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
|
|
449
522
|
}
|
|
450
523
|
|
|
451
524
|
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
@@ -513,10 +586,27 @@ declare interface DataTableRendererThemeColor {
|
|
|
513
586
|
|
|
514
587
|
declare type DataTableViewRecord = WorkbenchExtensionMetadata["panels"][number];
|
|
515
588
|
|
|
589
|
+
declare interface DeclaredPanelPlacement {
|
|
590
|
+
for?: string;
|
|
591
|
+
region: DockedCompositionRegion;
|
|
592
|
+
allowedRegions?: readonly DockedCompositionRegion[];
|
|
593
|
+
required?: boolean;
|
|
594
|
+
defaultOpen?: boolean;
|
|
595
|
+
pinned?: boolean;
|
|
596
|
+
}
|
|
597
|
+
|
|
516
598
|
declare interface Disposable_2 {
|
|
517
599
|
dispose(): void;
|
|
518
600
|
}
|
|
519
601
|
|
|
602
|
+
declare type DockedCompositionRegion = (typeof dockedCompositionRegions)[number];
|
|
603
|
+
|
|
604
|
+
declare type DockedCompositionRegion_2 = (typeof dockedCompositionRegions_2)[number];
|
|
605
|
+
|
|
606
|
+
declare const dockedCompositionRegions: readonly ["sidenav", "main", "secondary", "side"];
|
|
607
|
+
|
|
608
|
+
declare const dockedCompositionRegions_2: readonly ["sidenav", "main", "secondary", "side"];
|
|
609
|
+
|
|
520
610
|
export declare const emptyWorkbenchExtensionMetadata: WorkbenchExtensionMetadata;
|
|
521
611
|
|
|
522
612
|
declare interface EnumOption {
|
|
@@ -538,10 +628,19 @@ declare interface EnumOptionsSource {
|
|
|
538
628
|
getSnapshot: () => EnumOption[];
|
|
539
629
|
}
|
|
540
630
|
|
|
541
|
-
declare type
|
|
631
|
+
declare type ExtensionPanelRecord = WorkbenchExtensionMetadata["panels"][number];
|
|
632
|
+
|
|
633
|
+
declare type ExtensionResourcePanels = WorkbenchExtensionMetadata["resourcePanels"];
|
|
542
634
|
|
|
543
635
|
declare type ExtensionTreeRendererRecord = NonNullable<WorkbenchExtensionMetadata["treeRenderers"]>[number];
|
|
544
636
|
|
|
637
|
+
declare interface ExtensionTreeResource {
|
|
638
|
+
type: string;
|
|
639
|
+
id: string;
|
|
640
|
+
label?: string;
|
|
641
|
+
metadata?: Record<string, unknown>;
|
|
642
|
+
}
|
|
643
|
+
|
|
545
644
|
declare type ExtensionTreeViewRecord = WorkbenchExtensionMetadata["panels"][number] | NonNullable<WorkbenchExtensionMetadata["panels"][number]["panelMenus"]>[number];
|
|
546
645
|
|
|
547
646
|
export declare interface ExtensionWebviewFileCapabilities {
|
|
@@ -586,10 +685,23 @@ declare interface FileIconThemeRegistry {
|
|
|
586
685
|
|
|
587
686
|
declare interface FileRendererContent {
|
|
588
687
|
fileName?: string;
|
|
688
|
+
/** Workspace-relative path shown above the file preview. */
|
|
689
|
+
filePath?: string;
|
|
589
690
|
mimeType?: string;
|
|
590
691
|
content?: string;
|
|
591
692
|
dataUrl?: string;
|
|
592
693
|
placeholder?: string;
|
|
694
|
+
/** Override contribution-level save support for one loaded file. */
|
|
695
|
+
editable?: boolean;
|
|
696
|
+
/** Request Monaco for text that automatic dispatch would open as markdown. */
|
|
697
|
+
textRenderer?: "automatic" | "monaco";
|
|
698
|
+
/** Represent a deliberate no-file selection without an editable blank document. */
|
|
699
|
+
emptyState?: {
|
|
700
|
+
title: string;
|
|
701
|
+
description?: string;
|
|
702
|
+
};
|
|
703
|
+
/** Ordered backing-store revision when one is available. */
|
|
704
|
+
revision?: string;
|
|
593
705
|
}
|
|
594
706
|
|
|
595
707
|
declare interface FileRendererContribution {
|
|
@@ -599,35 +711,55 @@ declare interface FileRendererContribution {
|
|
|
599
711
|
/** Resolve the file's content (and identity) for the bound resource. */
|
|
600
712
|
load(resource: ResourceRef | undefined): Promise<FileRendererContent> | FileRendererContent;
|
|
601
713
|
/** Persist edited text. Absent ⇒ read-only. Never called for images. */
|
|
602
|
-
save?(resource: ResourceRef | undefined, content: string): Promise<
|
|
714
|
+
save?(resource: ResourceRef | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
|
|
603
715
|
}
|
|
604
716
|
|
|
605
717
|
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
606
718
|
fileRendererId: string;
|
|
607
719
|
}) => unknown;
|
|
608
720
|
|
|
609
|
-
declare interface
|
|
721
|
+
declare interface FileRendererRefreshEnvelope {
|
|
722
|
+
resourceUri?: string;
|
|
723
|
+
origin?: FileRendererRefreshOrigin;
|
|
724
|
+
revision?: string;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
export declare const fileRendererRefreshEnvelopeFromCommand: (body: CommandExecuteRequest, response: CommandExecuteResponse) => FileRendererRefreshEnvelope | undefined;
|
|
728
|
+
|
|
729
|
+
declare interface FileRendererRefreshEvent extends FileRendererRefreshEnvelope {
|
|
610
730
|
fileRendererId: string;
|
|
611
731
|
}
|
|
612
732
|
|
|
613
733
|
declare type FileRendererRefreshListener = (event: FileRendererRefreshEvent) => void;
|
|
614
734
|
|
|
735
|
+
declare interface FileRendererRefreshOrigin {
|
|
736
|
+
rendererId: string;
|
|
737
|
+
instanceId: string;
|
|
738
|
+
operationId: string;
|
|
739
|
+
}
|
|
740
|
+
|
|
615
741
|
declare interface FileRendererRegistry {
|
|
616
742
|
fileRendererStore: WorkbenchStore<FileRendererStoreState>;
|
|
617
743
|
registerFileRenderer(contribution: FileRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
618
744
|
setFileRendererImplementation(impl: FileRendererImplementation): void;
|
|
619
745
|
getFileRenderer(id: string): RegisteredFileRendererContribution | undefined;
|
|
620
746
|
listFileRenderers(): RegisteredFileRendererContribution[];
|
|
621
|
-
refreshFileRenderer(id: string): void;
|
|
747
|
+
refreshFileRenderer(id: string, event?: FileRendererRefreshEnvelope): void;
|
|
622
748
|
onDidRefreshFileRenderer(listener: FileRendererRefreshListener): Disposable_2;
|
|
623
749
|
}
|
|
624
750
|
|
|
751
|
+
declare interface FileRendererSaveResult {
|
|
752
|
+
revision?: string;
|
|
753
|
+
}
|
|
754
|
+
|
|
625
755
|
declare interface FileRendererStoreState {
|
|
626
756
|
renderers: Record<string, RegisteredFileRendererContribution>;
|
|
627
757
|
}
|
|
628
758
|
|
|
629
759
|
declare interface HistoryController {
|
|
630
760
|
store: WorkbenchStore<HistoryStoreState>;
|
|
761
|
+
/** Snapshot the history for a compound navigation; the returned function restores it. */
|
|
762
|
+
createCheckpoint(): () => void;
|
|
631
763
|
goBack(): HistoryEntry | undefined;
|
|
632
764
|
goForward(): HistoryEntry | undefined;
|
|
633
765
|
goPrevious(): HistoryEntry | undefined;
|
|
@@ -661,6 +793,8 @@ declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = Ka
|
|
|
661
793
|
id: string;
|
|
662
794
|
title: string;
|
|
663
795
|
resourceKind?: string;
|
|
796
|
+
/** Host-owned scope for persisted display settings. */
|
|
797
|
+
storageScope?: string;
|
|
664
798
|
/**
|
|
665
799
|
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
666
800
|
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
@@ -688,8 +822,8 @@ declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = Ka
|
|
|
688
822
|
*/
|
|
689
823
|
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
690
824
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
691
|
-
/** Row
|
|
692
|
-
|
|
825
|
+
/** Row activation surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
826
|
+
onRowActivate?: (row: TRow) => Promise<void> | void;
|
|
693
827
|
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
694
828
|
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
695
829
|
/**
|
|
@@ -783,7 +917,7 @@ declare interface KanbanRendererRow {
|
|
|
783
917
|
title: string;
|
|
784
918
|
/**
|
|
785
919
|
* Optional navigation handle. When set, the renderer's default click handler
|
|
786
|
-
* routes through the contribution's
|
|
920
|
+
* routes through the contribution's onRowActivate (which typically opens the
|
|
787
921
|
* resource via the workbench).
|
|
788
922
|
*/
|
|
789
923
|
resource?: unknown;
|
|
@@ -890,6 +1024,16 @@ declare interface LayoutModel {
|
|
|
890
1024
|
carryRegionState?: readonly WorkbenchRegion[];
|
|
891
1025
|
}): void;
|
|
892
1026
|
getPersistenceScope(): LayoutScope | undefined;
|
|
1027
|
+
/** True when the current persistence scope already stores a layout. A new scope returns false. */
|
|
1028
|
+
/** Whether anything is stored for the active scope right now. */
|
|
1029
|
+
hasPersistedLayout(): boolean;
|
|
1030
|
+
/**
|
|
1031
|
+
* Whether the active scope was entered with a layout the user already had. Unlike
|
|
1032
|
+
* `hasPersistedLayout`, writes made while entering a mode do not change the answer.
|
|
1033
|
+
*/
|
|
1034
|
+
enteredWithPersistedLayout(): boolean;
|
|
1035
|
+
/** Moves owned panel menus beside their owner's current region and removes orphan menus. */
|
|
1036
|
+
reconcilePanelMenus(): void;
|
|
893
1037
|
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
894
1038
|
dispose(): void;
|
|
895
1039
|
};
|
|
@@ -900,6 +1044,13 @@ declare interface LayoutModel {
|
|
|
900
1044
|
|
|
901
1045
|
declare type LayoutScope = string;
|
|
902
1046
|
|
|
1047
|
+
export declare const listCompositionAddablePanels: (input: {
|
|
1048
|
+
registry: WorkbenchCompositionRegistry;
|
|
1049
|
+
modeId: string;
|
|
1050
|
+
layout: ReturnType<LayoutModel["getLayout"]>;
|
|
1051
|
+
resourceKind?: string;
|
|
1052
|
+
}) => readonly ResolvedCompositionAddablePanel[];
|
|
1053
|
+
|
|
903
1054
|
declare type Localizer = (value: unknown, fallback?: string) => string;
|
|
904
1055
|
|
|
905
1056
|
declare const MANUAL_ORDERING = "manual";
|
|
@@ -1004,6 +1155,7 @@ declare interface OpenWidgetInput {
|
|
|
1004
1155
|
resource?: ResourceRef;
|
|
1005
1156
|
title?: string;
|
|
1006
1157
|
region?: WorkbenchRegion;
|
|
1158
|
+
role?: WorkbenchWidgetRole;
|
|
1007
1159
|
ownerId?: string;
|
|
1008
1160
|
source?: ContributionSource;
|
|
1009
1161
|
pinned?: boolean;
|
|
@@ -1021,7 +1173,9 @@ declare interface OpenWorkbenchPanelInput {
|
|
|
1021
1173
|
resource?: ResourceRef;
|
|
1022
1174
|
title?: string;
|
|
1023
1175
|
region?: WorkbenchRegion;
|
|
1176
|
+
role?: WorkbenchWidgetRole;
|
|
1024
1177
|
pinned?: boolean;
|
|
1178
|
+
closable?: boolean;
|
|
1025
1179
|
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1026
1180
|
hiddenByDefault?: boolean;
|
|
1027
1181
|
tab?: WorkbenchPanelTab;
|
|
@@ -1076,9 +1230,16 @@ declare interface PreferenceScopeRef {
|
|
|
1076
1230
|
|
|
1077
1231
|
declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
1078
1232
|
|
|
1233
|
+
export declare const reconcileCompositionLayout: (ctx: CompositionReconcileContext, input: {
|
|
1234
|
+
registry: WorkbenchCompositionRegistry;
|
|
1235
|
+
modeId: string;
|
|
1236
|
+
resourceKind?: string;
|
|
1237
|
+
seeding?: boolean;
|
|
1238
|
+
}) => ResolvedComposition | undefined;
|
|
1239
|
+
|
|
1079
1240
|
export declare const refreshOpenWorkbenchExtensionWebviews: (workbench: WorkbenchModuleContext, metadata: WorkbenchExtensionMetadata) => void;
|
|
1080
1241
|
|
|
1081
|
-
export declare const
|
|
1242
|
+
export declare const refreshWorkbenchExtensionRenderer: (workbench: WorkbenchModuleContext, target: RendererRefreshTarget, envelope?: FileRendererRefreshEnvelope) => void;
|
|
1082
1243
|
|
|
1083
1244
|
declare interface RegisteredCommand extends RegisteredContributionMetadata {
|
|
1084
1245
|
command: Command;
|
|
@@ -1141,7 +1302,6 @@ declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority"
|
|
|
1141
1302
|
ownedPanelMenuIds?: readonly string[];
|
|
1142
1303
|
singleton: boolean;
|
|
1143
1304
|
reuse: WidgetReusePolicy;
|
|
1144
|
-
role: WorkbenchWidgetRole;
|
|
1145
1305
|
} & RegisteredContributionMetadata;
|
|
1146
1306
|
|
|
1147
1307
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -1182,9 +1342,9 @@ export declare interface RegisterWorkbenchExtensionContributionsInput {
|
|
|
1182
1342
|
workbench: WorkbenchModuleContext;
|
|
1183
1343
|
}
|
|
1184
1344
|
|
|
1185
|
-
export declare const registerWorkbenchExtensionControlsRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionControlsRendererRecord[], panels: ControlsViewRecord[], adapter?: WorkbenchExtensionControlsAdapter) => Disposable_2;
|
|
1345
|
+
export declare const registerWorkbenchExtensionControlsRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionControlsRendererRecord[], panels: ControlsViewRecord[], adapter?: WorkbenchExtensionControlsAdapter, resourcePanels?: WorkbenchExtensionMetadata["resourcePanels"]) => Disposable_2;
|
|
1186
1346
|
|
|
1187
|
-
export declare const registerWorkbenchExtensionDataTableRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionDataTableRendererRecord[], panels: DataTableViewRecord[]) => Disposable_2;
|
|
1347
|
+
export declare const registerWorkbenchExtensionDataTableRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionDataTableRendererRecord[], panels: DataTableViewRecord[], resourcePanels?: WorkbenchExtensionMetadata["resourcePanels"]) => Disposable_2;
|
|
1188
1348
|
|
|
1189
1349
|
export declare const registerWorkbenchExtensionFileRenderers: (input: RegisterWorkbenchExtensionFileRenderersInput) => {
|
|
1190
1350
|
dispose(): void;
|
|
@@ -1197,7 +1357,7 @@ export declare interface RegisterWorkbenchExtensionFileRenderersInput {
|
|
|
1197
1357
|
workbench: WorkbenchModuleContext;
|
|
1198
1358
|
}
|
|
1199
1359
|
|
|
1200
|
-
export declare const registerWorkbenchExtensionKanbanRenderers: (context: WorkbenchExtensionCommandContext, records: readonly WorkbenchExtensionKanbanRendererRecord[], adapter?: WorkbenchExtensionKanbanRendererAdapter) => {
|
|
1360
|
+
export declare const registerWorkbenchExtensionKanbanRenderers: (context: WorkbenchExtensionCommandContext, records: readonly WorkbenchExtensionKanbanRendererRecord[], adapter?: WorkbenchExtensionKanbanRendererAdapter, panels?: WorkbenchExtensionMetadata["panels"], resourcePanels?: WorkbenchExtensionMetadata["resourcePanels"]) => {
|
|
1201
1361
|
dispose(): void;
|
|
1202
1362
|
};
|
|
1203
1363
|
|
|
@@ -1208,6 +1368,14 @@ export declare interface RegisterWorkbenchExtensionPanelInput {
|
|
|
1208
1368
|
workbench: WorkbenchModuleContext;
|
|
1209
1369
|
}
|
|
1210
1370
|
|
|
1371
|
+
export declare const registerWorkbenchExtensionRendererRefreshEvents: (input: RegisterWorkbenchExtensionRendererRefreshEventsInput) => Disposable_2;
|
|
1372
|
+
|
|
1373
|
+
export declare interface RegisterWorkbenchExtensionRendererRefreshEventsInput {
|
|
1374
|
+
metadata: WorkbenchExtensionMetadata;
|
|
1375
|
+
subscribe: (listener: (event: WorkbenchExtensionRefreshEvent) => void) => Disposable_2;
|
|
1376
|
+
workbench: WorkbenchModuleContext;
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1211
1379
|
export declare const registerWorkbenchExtensionTreeRenderers: (input: RegisterWorkbenchExtensionTreeRenderersInput) => {
|
|
1212
1380
|
dispose(): void;
|
|
1213
1381
|
};
|
|
@@ -1218,6 +1386,13 @@ export declare interface RegisterWorkbenchExtensionTreeRenderersInput {
|
|
|
1218
1386
|
getHostTreeHeaderNodes?: HostTreeDefaultNodesResolver;
|
|
1219
1387
|
metadata: WorkbenchExtensionMetadata;
|
|
1220
1388
|
projectId: string;
|
|
1389
|
+
/**
|
|
1390
|
+
* Host canonicalization for node resources. A host that gives extension
|
|
1391
|
+
* resources its own URIs (layout scopes, history, and hierarchy key on the
|
|
1392
|
+
* URI) must convert tree node resources the same way, or the same resource
|
|
1393
|
+
* gets a second identity when opened from a tree.
|
|
1394
|
+
*/
|
|
1395
|
+
resolveNodeResource?: (resource: ExtensionTreeResource) => ResourceRef;
|
|
1221
1396
|
workbench: WorkbenchModuleContext;
|
|
1222
1397
|
}
|
|
1223
1398
|
|
|
@@ -1231,9 +1406,52 @@ export declare const renderBridgeWebviewFrame: (input: {
|
|
|
1231
1406
|
webview: BridgeWebviewConfig;
|
|
1232
1407
|
}) => JSX.Element;
|
|
1233
1408
|
|
|
1409
|
+
declare interface RendererRefreshTarget {
|
|
1410
|
+
id: string;
|
|
1411
|
+
kind: WorkbenchExtensionRendererKind;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
declare interface ResolvedComposition {
|
|
1415
|
+
placements: readonly ResolvedCompositionPlacement[];
|
|
1416
|
+
regionOrder: Partial<Record<DockedCompositionRegion, readonly string[]>>;
|
|
1417
|
+
activePanelIds: Partial<Record<DockedCompositionRegion, string>>;
|
|
1418
|
+
addablePanels: readonly ResolvedCompositionAddablePanel_2[];
|
|
1419
|
+
diagnostics: readonly CompositionDiagnostic[];
|
|
1420
|
+
requiredFallback?: {
|
|
1421
|
+
panelId: string;
|
|
1422
|
+
};
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
declare interface ResolvedCompositionAddablePanel {
|
|
1426
|
+
panelId: string;
|
|
1427
|
+
region: DockedCompositionRegion_2;
|
|
1428
|
+
allowedRegions: readonly DockedCompositionRegion_2[];
|
|
1429
|
+
pinned?: boolean;
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
declare interface ResolvedCompositionAddablePanel_2 {
|
|
1433
|
+
panelId: string;
|
|
1434
|
+
region: DockedCompositionRegion;
|
|
1435
|
+
allowedRegions: readonly DockedCompositionRegion[];
|
|
1436
|
+
pinned?: boolean;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
declare interface ResolvedCompositionPlacement {
|
|
1440
|
+
panelId: string;
|
|
1441
|
+
region: DockedCompositionRegion;
|
|
1442
|
+
slot?: string;
|
|
1443
|
+
required: boolean;
|
|
1444
|
+
defaultOpen: boolean;
|
|
1445
|
+
pinned?: boolean;
|
|
1446
|
+
allowedRegions: readonly DockedCompositionRegion[];
|
|
1447
|
+
origin: "persisted" | "required" | "default";
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1234
1450
|
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1235
1451
|
|
|
1236
|
-
declare type ResolvedResourcePresenter =
|
|
1452
|
+
declare type ResolvedResourcePresenter = Omit<ResourcePresenter, "priority"> & {
|
|
1453
|
+
priority: number;
|
|
1454
|
+
};
|
|
1237
1455
|
|
|
1238
1456
|
declare interface ResourceBrowseEntry {
|
|
1239
1457
|
resource: ResourceRef;
|
|
@@ -1255,6 +1473,14 @@ declare interface ResourceContextAction {
|
|
|
1255
1473
|
separatorBefore?: boolean;
|
|
1256
1474
|
}
|
|
1257
1475
|
|
|
1476
|
+
declare interface ResourceHierarchyCycle {
|
|
1477
|
+
code: typeof resourceHierarchyCycleCode;
|
|
1478
|
+
path: ResourceRef[];
|
|
1479
|
+
repeatedUri: string;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
declare const resourceHierarchyCycleCode = "resource_hierarchy_cycle";
|
|
1483
|
+
|
|
1258
1484
|
declare interface ResourceHierarchyProvider {
|
|
1259
1485
|
id: string;
|
|
1260
1486
|
priority?: number;
|
|
@@ -1287,6 +1513,7 @@ declare interface ResourcePresenter {
|
|
|
1287
1513
|
priority?: number;
|
|
1288
1514
|
canOpen(resource: ResourceRef): boolean;
|
|
1289
1515
|
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
1516
|
+
afterOpen?(resource: ResourceRef, instance: WorkbenchPanelInstance, input: OpenResourceInput): void;
|
|
1290
1517
|
}
|
|
1291
1518
|
|
|
1292
1519
|
declare interface ResourceProvider {
|
|
@@ -1327,6 +1554,7 @@ declare interface ResourceRegistry {
|
|
|
1327
1554
|
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1328
1555
|
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1329
1556
|
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1557
|
+
onDidDetectHierarchyCycle(listener: (cycle: ResourceHierarchyCycle) => void): Disposable_2;
|
|
1330
1558
|
isOpeningResource(): boolean;
|
|
1331
1559
|
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1332
1560
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
@@ -1418,10 +1646,6 @@ declare interface SettingsSectionContribution {
|
|
|
1418
1646
|
actions?: SettingsAction[];
|
|
1419
1647
|
}
|
|
1420
1648
|
|
|
1421
|
-
export declare const shouldRefreshWorkbenchExtensionDataTableRenderers: (metadata: WorkbenchExtensionMetadata, commandId: string) => boolean;
|
|
1422
|
-
|
|
1423
|
-
export declare const shouldRefreshWorkbenchExtensionTrees: (metadata: WorkbenchExtensionMetadata, commandId: string) => boolean;
|
|
1424
|
-
|
|
1425
1649
|
declare type SortDirection = "asc" | "desc";
|
|
1426
1650
|
|
|
1427
1651
|
/**
|
|
@@ -1449,9 +1673,16 @@ declare interface ThemeRegistry {
|
|
|
1449
1673
|
listThemes(): readonly ThemePreferenceOption[];
|
|
1450
1674
|
}
|
|
1451
1675
|
|
|
1452
|
-
export declare const
|
|
1453
|
-
|
|
1454
|
-
|
|
1676
|
+
export declare const toPanelPlacements: (show: DeclaredPanelPlacement | readonly DeclaredPanelPlacement[] | undefined) => any[];
|
|
1677
|
+
|
|
1678
|
+
export declare const toWorkbenchCompositionPanelContribution: (input: {
|
|
1679
|
+
panel: ExtensionPanelRecord;
|
|
1680
|
+
rendererId: string;
|
|
1681
|
+
declarationIndex: number;
|
|
1682
|
+
menuDeclarationOffset: number;
|
|
1683
|
+
resourcePanels?: ExtensionResourcePanels;
|
|
1684
|
+
config?: WorkbenchPanelContribution["config"];
|
|
1685
|
+
}) => WorkbenchPanelContribution;
|
|
1455
1686
|
|
|
1456
1687
|
declare interface TreeAction {
|
|
1457
1688
|
id: string;
|
|
@@ -1486,11 +1717,13 @@ declare interface TreeNode {
|
|
|
1486
1717
|
target?: NavigationTarget;
|
|
1487
1718
|
/** Visual row variant for non-data rows such as placeholders. */
|
|
1488
1719
|
rowVariant?: TreeNodeRowVariant;
|
|
1720
|
+
inlineInput?: TreeNodeInlineInput;
|
|
1489
1721
|
actions?: TreeAction[];
|
|
1490
1722
|
contextMenuActions?: TreeAction[];
|
|
1491
1723
|
contextMenuPath?: MenuPath;
|
|
1492
1724
|
menuPath?: MenuPath;
|
|
1493
1725
|
menuPlacement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "left-start";
|
|
1726
|
+
showContextMenuTrigger?: boolean;
|
|
1494
1727
|
collapsible?: boolean;
|
|
1495
1728
|
disabled?: boolean;
|
|
1496
1729
|
children?: TreeNode[];
|
|
@@ -1501,6 +1734,18 @@ declare interface TreeNode {
|
|
|
1501
1734
|
canHide?: boolean;
|
|
1502
1735
|
/** When false, the node stays fixed within its Sidenav group. */
|
|
1503
1736
|
canReorder?: boolean;
|
|
1737
|
+
/** Allow this node to be moved to another tree location. */
|
|
1738
|
+
canDrag?: boolean;
|
|
1739
|
+
/** Allow movable nodes to be dropped on this node. */
|
|
1740
|
+
canDrop?: boolean;
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
declare interface TreeNodeInlineInput {
|
|
1744
|
+
ariaLabel: string;
|
|
1745
|
+
defaultValue?: string;
|
|
1746
|
+
placeholder?: string;
|
|
1747
|
+
onCommit(value: string): Promise<void> | void;
|
|
1748
|
+
onCancel?(): void;
|
|
1504
1749
|
}
|
|
1505
1750
|
|
|
1506
1751
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1509,6 +1754,8 @@ declare interface TreeRendererContribution {
|
|
|
1509
1754
|
id: string;
|
|
1510
1755
|
title: string;
|
|
1511
1756
|
icon?: string;
|
|
1757
|
+
searchable?: boolean;
|
|
1758
|
+
searchPlaceholder?: string;
|
|
1512
1759
|
when?: string;
|
|
1513
1760
|
defaultExpandedSectionIds?: string[];
|
|
1514
1761
|
defaultExpandedNodeIds?: string[];
|
|
@@ -1516,6 +1763,7 @@ declare interface TreeRendererContribution {
|
|
|
1516
1763
|
getHeader?(ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1517
1764
|
getFooter?(ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1518
1765
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1766
|
+
moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeContext): Promise<void> | void;
|
|
1519
1767
|
}
|
|
1520
1768
|
|
|
1521
1769
|
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
@@ -1608,7 +1856,6 @@ declare interface WidgetContribution {
|
|
|
1608
1856
|
priority?: number;
|
|
1609
1857
|
rendererId: string;
|
|
1610
1858
|
openCommandId?: string;
|
|
1611
|
-
role?: WorkbenchWidgetRole;
|
|
1612
1859
|
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1613
1860
|
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1614
1861
|
tab?: WorkbenchWidgetTab;
|
|
@@ -1708,6 +1955,35 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1708
1955
|
context?: WorkbenchCommandExecutionContext;
|
|
1709
1956
|
}
|
|
1710
1957
|
|
|
1958
|
+
declare interface WorkbenchComposition {
|
|
1959
|
+
resourceKinds: readonly CompositionResourceKindDefinition[];
|
|
1960
|
+
panels: readonly CompositionPanelDefinition[];
|
|
1961
|
+
resourcePanels: readonly CompositionResourcePanelEdge[];
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
declare interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
|
|
1965
|
+
contribution: RegisteredWidgetContribution;
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
declare interface WorkbenchCompositionController {
|
|
1969
|
+
panelsFor(region: WorkbenchPanelRegion): WorkbenchCompositionRegionPanels;
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
declare interface WorkbenchCompositionRegionPanels {
|
|
1973
|
+
open: readonly WorkbenchWidgetPlacement[];
|
|
1974
|
+
addable: readonly WorkbenchCompositionAddablePanel[];
|
|
1975
|
+
closable: readonly string[];
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
export declare interface WorkbenchCompositionRegistry {
|
|
1979
|
+
registerResourceKind(definition: CompositionResourceKindDefinition): Disposable_2;
|
|
1980
|
+
registerPanelCapability(definition: CompositionPanelDefinition): Disposable_2;
|
|
1981
|
+
registerResourcePanel(edge: CompositionResourcePanelEdge): Disposable_2;
|
|
1982
|
+
registerModeComposition(definition: CompositionModeDefinition): Disposable_2;
|
|
1983
|
+
getComposition(): WorkbenchComposition;
|
|
1984
|
+
getModeComposition(modeId: string): CompositionModeDefinition | undefined;
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1711
1987
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1712
1988
|
host: WorkbenchHost;
|
|
1713
1989
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
@@ -1719,6 +1995,7 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1719
1995
|
commandPalette: WorkbenchCommandPaletteController;
|
|
1720
1996
|
commandPaletteResources: CommandPaletteResourceRegistry;
|
|
1721
1997
|
commands: CommandRegistry;
|
|
1998
|
+
composition: WorkbenchCompositionController;
|
|
1722
1999
|
context: ContextKeyService;
|
|
1723
2000
|
focus: WorkbenchFocusController;
|
|
1724
2001
|
history: HistoryController;
|
|
@@ -1727,6 +2004,7 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1727
2004
|
layout: WorkbenchLayoutModel;
|
|
1728
2005
|
modes: WorkbenchModeRegistry;
|
|
1729
2006
|
navigation: NavigationRegistry;
|
|
2007
|
+
navigator: WorkbenchNavigator;
|
|
1730
2008
|
notifications: NotificationRegistry;
|
|
1731
2009
|
panels: WorkbenchPanelsController;
|
|
1732
2010
|
preferences: PreferenceRegistry;
|
|
@@ -1801,6 +2079,8 @@ export declare interface WorkbenchExtensionKanbanRendererAdapter {
|
|
|
1801
2079
|
row: KanbanRendererRow_2;
|
|
1802
2080
|
resource: ResourceRef | undefined;
|
|
1803
2081
|
}) => void;
|
|
2082
|
+
/** Translate extension navigation resource targets into host resources. */
|
|
2083
|
+
resolveNavigationResource?: (record: WorkbenchExtensionKanbanRendererRecord, resource: NonNullable<CommandExecuteRequest["resource"]>) => ResourceRef;
|
|
1804
2084
|
/** Called after a successful renderer-owned create form submission. */
|
|
1805
2085
|
onAfterCreate?: (input: {
|
|
1806
2086
|
record: WorkbenchExtensionKanbanRendererRecord;
|
|
@@ -1834,11 +2114,12 @@ export declare type WorkbenchExtensionMenuWhenBuilder = (contribution: Extension
|
|
|
1834
2114
|
|
|
1835
2115
|
export { WorkbenchExtensionMetadata }
|
|
1836
2116
|
|
|
1837
|
-
declare interface
|
|
1838
|
-
|
|
1839
|
-
declarationIndex?: number;
|
|
2117
|
+
declare interface WorkbenchExtensionRefreshEvent extends FileRendererRefreshEnvelope {
|
|
2118
|
+
id: string;
|
|
1840
2119
|
}
|
|
1841
2120
|
|
|
2121
|
+
export declare type WorkbenchExtensionRendererKind = "tree" | "file" | "controls" | "dataTable" | "kanban";
|
|
2122
|
+
|
|
1842
2123
|
export declare type WorkbenchExtensionRoute = WorkbenchExtensionMetadata["routes"][number];
|
|
1843
2124
|
|
|
1844
2125
|
export declare interface WorkbenchExtensionRouteResourceInput {
|
|
@@ -1902,7 +2183,7 @@ declare interface WorkbenchLayoutStoreState {
|
|
|
1902
2183
|
placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
|
|
1903
2184
|
}
|
|
1904
2185
|
|
|
1905
|
-
declare type WorkbenchLocationContribution =
|
|
2186
|
+
declare type WorkbenchLocationContribution = WidgetContribution & WorkbenchPanelMenusContribution;
|
|
1906
2187
|
|
|
1907
2188
|
declare interface WorkbenchLocationEligibility {
|
|
1908
2189
|
modeIds?: string[];
|
|
@@ -1924,15 +2205,31 @@ declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
|
1924
2205
|
|
|
1925
2206
|
declare type WorkbenchModeActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1926
2207
|
|
|
2208
|
+
declare interface WorkbenchModeAddablePanel {
|
|
2209
|
+
panelId: string;
|
|
2210
|
+
region: WorkbenchPanelRegion;
|
|
2211
|
+
allowedRegions?: readonly WorkbenchRegion[];
|
|
2212
|
+
pinned?: boolean;
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
declare interface WorkbenchModeAddablePanelContext {
|
|
2216
|
+
layout: WorkbenchLayout;
|
|
2217
|
+
resource?: ResourceRef;
|
|
2218
|
+
}
|
|
2219
|
+
|
|
1927
2220
|
declare type WorkbenchModeChangeListener = () => void;
|
|
1928
2221
|
|
|
1929
2222
|
declare interface WorkbenchModeContribution {
|
|
1930
2223
|
id: string;
|
|
1931
2224
|
label?: string;
|
|
1932
2225
|
panels?: readonly WorkbenchPanelRegion[];
|
|
2226
|
+
resourceKinds?: readonly string[];
|
|
2227
|
+
defaultResource?: ResourceRef | (() => Promise<ResourceRef | undefined> | ResourceRef | undefined);
|
|
2228
|
+
listAddablePanels?(context: WorkbenchModeAddablePanelContext): readonly WorkbenchModeAddablePanel[];
|
|
1933
2229
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1934
2230
|
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1935
2231
|
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
2232
|
+
reconcile?(ctx: WorkbenchModeActivationContext): void;
|
|
1936
2233
|
}
|
|
1937
2234
|
|
|
1938
2235
|
declare interface WorkbenchModeRegistry {
|
|
@@ -1968,6 +2265,14 @@ declare interface WorkbenchModuleContribution {
|
|
|
1968
2265
|
|
|
1969
2266
|
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1970
2267
|
|
|
2268
|
+
declare interface WorkbenchNavigationCommit {
|
|
2269
|
+
modeId: string | undefined;
|
|
2270
|
+
resource: ResourceRef | undefined;
|
|
2271
|
+
replaceActive: boolean;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
declare type WorkbenchNavigationDiagnosticCode = "navigation_mode_missing" | "navigation_resource_missing" | "navigation_resource_incompatible" | "navigation_default_missing" | "navigation_target_stale";
|
|
2275
|
+
|
|
1971
2276
|
declare interface WorkbenchNavigationEntry {
|
|
1972
2277
|
entryId: string;
|
|
1973
2278
|
recordedAt: number;
|
|
@@ -1982,6 +2287,53 @@ declare interface WorkbenchNavigationEntry {
|
|
|
1982
2287
|
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1983
2288
|
}
|
|
1984
2289
|
|
|
2290
|
+
declare type WorkbenchNavigationResult = {
|
|
2291
|
+
ok: true;
|
|
2292
|
+
modeId: string | undefined;
|
|
2293
|
+
resource: ResourceRef | undefined;
|
|
2294
|
+
} | {
|
|
2295
|
+
ok: false;
|
|
2296
|
+
code: WorkbenchNavigationDiagnosticCode;
|
|
2297
|
+
message: string;
|
|
2298
|
+
};
|
|
2299
|
+
|
|
2300
|
+
declare interface WorkbenchNavigationTarget {
|
|
2301
|
+
modeId?: string;
|
|
2302
|
+
resource?: ResourceRef;
|
|
2303
|
+
replaceActive?: boolean;
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
declare interface WorkbenchNavigator {
|
|
2307
|
+
configure(hooks: WorkbenchNavigatorHostHooks): void;
|
|
2308
|
+
getSelectedResource(): ResourceRef | undefined;
|
|
2309
|
+
open(target: WorkbenchNavigationTarget): Promise<WorkbenchNavigationResult>;
|
|
2310
|
+
commitContext(input: WorkbenchNavigatorCommitInput): WorkbenchNavigationResult;
|
|
2311
|
+
getLastResource(projectId: string | undefined, modeId: string): ResourceRef | undefined;
|
|
2312
|
+
forgetResource(uri: string): void;
|
|
2313
|
+
onDidCommit(listener: (commit: WorkbenchNavigationCommit) => void): {
|
|
2314
|
+
dispose(): void;
|
|
2315
|
+
};
|
|
2316
|
+
}
|
|
2317
|
+
|
|
2318
|
+
declare interface WorkbenchNavigatorCommitInput {
|
|
2319
|
+
modeId?: string | null;
|
|
2320
|
+
resource?: ResourceRef | null;
|
|
2321
|
+
replaceActive?: boolean;
|
|
2322
|
+
present?: boolean;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
declare interface WorkbenchNavigatorHostHooks {
|
|
2326
|
+
getProjectId?(): string | undefined;
|
|
2327
|
+
getSelectedResource?(): ResourceRef | undefined;
|
|
2328
|
+
interpretSelection?(resource: ResourceRef): ResourceRef | undefined;
|
|
2329
|
+
applySelection?(resource: ResourceRef | undefined): void;
|
|
2330
|
+
applyScope?(commit: WorkbenchNavigationCommit): void;
|
|
2331
|
+
applyBreadcrumb?(resource: ResourceRef | undefined): void;
|
|
2332
|
+
presentResource?(resource: ResourceRef, input: {
|
|
2333
|
+
replaceActive: boolean;
|
|
2334
|
+
}): Promise<unknown> | unknown;
|
|
2335
|
+
}
|
|
2336
|
+
|
|
1985
2337
|
declare interface WorkbenchNotification {
|
|
1986
2338
|
id?: string;
|
|
1987
2339
|
level: WorkbenchNotificationLevel;
|
|
@@ -2023,7 +2375,6 @@ declare interface WorkbenchPanelContribution {
|
|
|
2023
2375
|
region: WorkbenchRegion;
|
|
2024
2376
|
fallbackRegion?: WorkbenchRegion;
|
|
2025
2377
|
rendererId: string;
|
|
2026
|
-
closable: boolean;
|
|
2027
2378
|
singleton?: boolean;
|
|
2028
2379
|
reuse?: WorkbenchPanelReusePolicy;
|
|
2029
2380
|
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
@@ -2079,7 +2430,7 @@ declare interface WorkbenchPanelInstance_2 {
|
|
|
2079
2430
|
tab?: WorkbenchPanelTab_2;
|
|
2080
2431
|
}
|
|
2081
2432
|
|
|
2082
|
-
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion"
|
|
2433
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion"> & {
|
|
2083
2434
|
region: WorkbenchPanelMenuRegion;
|
|
2084
2435
|
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
2085
2436
|
};
|
|
@@ -2285,7 +2636,7 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
2285
2636
|
|
|
2286
2637
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
2287
2638
|
|
|
2288
|
-
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion"
|
|
2639
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion"> & {
|
|
2289
2640
|
region: WorkbenchPanelRegion;
|
|
2290
2641
|
fallbackRegion?: WorkbenchPanelRegion;
|
|
2291
2642
|
} & WorkbenchPanelMenusContribution;
|