@pstdio/workbench 0.40.0 → 0.42.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/dist/extensions.d.ts +354 -28
- package/dist/extensions.js +710 -577
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-DA77lgiT.js +670 -0
- package/dist/file-renderer-view-DA77lgiT.js.map +1 -0
- package/dist/{index-DLh_fcGT.d.ts → index-BUtrxfUl.d.ts} +315 -223
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2457 -2184
- package/dist/index.js.map +1 -1
- package/dist/{kanban-presentation-Ds4FpmbS.d.ts → kanban-presentation-Wc433DQF.d.ts} +1 -1
- package/dist/navigation-tree-registry-DbTv4Kv7.js +120 -0
- package/dist/navigation-tree-registry-DbTv4Kv7.js.map +1 -0
- package/dist/react-Buqbh5XD.js +10568 -0
- package/dist/react-Buqbh5XD.js.map +1 -0
- package/dist/react.d.ts +90 -14
- package/dist/react.js +2 -2
- package/dist/storage.d.ts +3 -2
- package/dist/storage.js +28 -24
- package/dist/storage.js.map +1 -1
- package/dist/webview-runtime.js +1 -1
- package/dist/{workbench-renderers-DNXWpDWd.js → workbench-renderers-BGXfLY9a.js} +184 -127
- package/dist/workbench-renderers-BGXfLY9a.js.map +1 -0
- package/package.json +5 -7
- package/dist/file-renderer-view-C95GHv9m.js +0 -637
- package/dist/file-renderer-view-C95GHv9m.js.map +0 -1
- package/dist/navigation-tree-registry-DazyPivr.js +0 -106
- package/dist/navigation-tree-registry-DazyPivr.js.map +0 -1
- package/dist/react-NAZBfSZz.js +0 -8912
- package/dist/react-NAZBfSZz.js.map +0 -1
- package/dist/workbench-renderers-DNXWpDWd.js.map +0 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { ControlValue, ControlValueMap, ControlsQueryResult, ControlsQueryResult as ControlsQueryResult$1, DockedWorkbenchRegion, DockedWorkbenchRegion as DockedWorkbenchRegion$1, FileRendererSectionTarget, KanbanRendererAttributeDisplay, Localizable, ModeRegionSettings, NavigationTargetPage, NavigationTargetPanel, PageLocation, PageMain, PageOpenIntent, PageRef, PageSlot, PlacementIdentity, PlacementItem, PlacementRef, ResourceConstraint, ResourceRef, ResourceRef as ResourceRef$1, defaultPageResourceCodec, dockedWorkbenchRegions } from "@pstdio/sdk/extensions";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
//#endregion
|
|
1
|
+
import { ControlValue, ControlValueMap, ControlsQueryResult, ControlsQueryResult as ControlsQueryResult$1, DataTableRendererSettings, DockedWorkbenchRegion, DockedWorkbenchRegion as DockedWorkbenchRegion$1, FileRendererSectionTarget, KanbanRendererAttributeDisplay, Localizable, ModeRegionSettings, NavigationTargetPage, NavigationTargetPanel, PageDocumentDeclaration, PageLocation, PageMain, PageOpenIntent, PageRef, PageSlot, PlacementIdentity, PlacementItem, PlacementRef, ResourceConstraint, ResourceRef, ResourceRef as ResourceRef$1, ViewFilterGroup, ViewSort, defaultPageResourceCodec, dockedWorkbenchRegions } from "@pstdio/sdk/extensions";
|
|
2
|
+
import { NamedSet } from "zustand/middleware";
|
|
3
|
+
import { StoreApi } from "zustand/vanilla";
|
|
4
|
+
import { TerminalSessionAdapter, TerminalSessionError, TerminalSessionExit, TerminalSessionRequest } from "@pstdio/sdk/api";
|
|
7
5
|
//#region src/core/shared/store/workbench-store.d.ts
|
|
8
6
|
type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
9
7
|
type WorkbenchStoreListener<TState> = (state: TState, previousState: TState) => void;
|
|
@@ -17,6 +15,38 @@ interface WorkbenchStore<TState> {
|
|
|
17
15
|
fireImmediately?: boolean;
|
|
18
16
|
}): () => void;
|
|
19
17
|
}
|
|
18
|
+
interface InternalWorkbenchStore<TState> extends WorkbenchStore<TState> {
|
|
19
|
+
setState: NamedSet<TState>;
|
|
20
|
+
api: StoreApi<TState>;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/core/registries/resources/resource-preview.d.ts
|
|
24
|
+
type ResourceChange = {
|
|
25
|
+
label: string;
|
|
26
|
+
} | {
|
|
27
|
+
removed: true;
|
|
28
|
+
};
|
|
29
|
+
type ResourcePreviewChanges = ReadonlyMap<symbol, {
|
|
30
|
+
resource: ResourceRef;
|
|
31
|
+
change: ResourceChange;
|
|
32
|
+
}>;
|
|
33
|
+
declare const createResourcePreview: () => {
|
|
34
|
+
store: InternalWorkbenchStore<{
|
|
35
|
+
changes: ResourcePreviewChanges;
|
|
36
|
+
}>;
|
|
37
|
+
resolve(resource: ResourceRef): ResourceRef | undefined;
|
|
38
|
+
persist<T>(resource: ResourceRef, save: () => Promise<T>): Promise<T>;
|
|
39
|
+
subscribeRefresh(refresh: (resource: ResourceRef) => Promise<void>): Disposable;
|
|
40
|
+
begin(resource: ResourceRef, change: ResourceChange): {
|
|
41
|
+
rollback: () => void;
|
|
42
|
+
commit(): Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/core/shared/disposable.d.ts
|
|
47
|
+
interface Disposable {
|
|
48
|
+
dispose(): void;
|
|
49
|
+
}
|
|
20
50
|
//#endregion
|
|
21
51
|
//#region src/core/shared/context/context-key-service.d.ts
|
|
22
52
|
type ContextKeyValue = boolean | number | string | undefined;
|
|
@@ -79,6 +109,7 @@ interface ResourceHierarchyCycle {
|
|
|
79
109
|
//#endregion
|
|
80
110
|
//#region src/core/registries/resources/resource-registry.d.ts
|
|
81
111
|
declare const workbenchResourceTypeContextKey = "workbench.resource.type";
|
|
112
|
+
declare const workbenchResourceOwnerContextKey = "workbench.resource.extensionId";
|
|
82
113
|
declare const workbenchResourceIdContextKey = "workbench.resource.id";
|
|
83
114
|
declare const workbenchResourceMetadataContextKey: (key: string) => string;
|
|
84
115
|
declare const workbenchSelectionResourceKeyMetadataKey = "workbench.selectionResourceKey";
|
|
@@ -115,6 +146,7 @@ interface ResourceRegistryStoreState {
|
|
|
115
146
|
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
116
147
|
}
|
|
117
148
|
interface ResourceRegistry {
|
|
149
|
+
preview: ReturnType<typeof createResourcePreview>;
|
|
118
150
|
removed(resource: ResourceRef): void;
|
|
119
151
|
onWillRemove(listener: (resource: ResourceRef) => readonly PlacementIdentity[]): Disposable;
|
|
120
152
|
store: WorkbenchStore<ResourceRegistryStoreState>;
|
|
@@ -202,6 +234,7 @@ interface Command {
|
|
|
202
234
|
icon?: string;
|
|
203
235
|
when?: string;
|
|
204
236
|
params?: CommandParamSchema;
|
|
237
|
+
resourceMutation?: import("@pstdio/sdk/extensions").CommandDefinition["resourceMutation"];
|
|
205
238
|
}
|
|
206
239
|
interface CommandHandler<TArgs = unknown, TResult = unknown> {
|
|
207
240
|
prepareArgs?(args: TArgs, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: TArgs) => void): TArgs | Promise<TArgs>;
|
|
@@ -239,13 +272,19 @@ interface WorkbenchCommandParamsRequest {
|
|
|
239
272
|
id: string;
|
|
240
273
|
label: string;
|
|
241
274
|
params?: CommandParamSchema;
|
|
275
|
+
resourceMutation?: import("@pstdio/sdk/extensions").CommandDefinition["resourceMutation"];
|
|
242
276
|
};
|
|
243
277
|
};
|
|
244
278
|
label: string;
|
|
245
279
|
args?: unknown;
|
|
246
280
|
context?: WorkbenchCommandExecutionContext;
|
|
247
281
|
}
|
|
282
|
+
interface WorkbenchCommandConfirmation {
|
|
283
|
+
label: string;
|
|
284
|
+
resolve(confirmed: boolean): void;
|
|
285
|
+
}
|
|
248
286
|
interface WorkbenchCommandPaletteState {
|
|
287
|
+
confirmation: WorkbenchCommandConfirmation | null;
|
|
249
288
|
open: boolean;
|
|
250
289
|
view: WorkbenchCommandPaletteView;
|
|
251
290
|
initialQuery: string;
|
|
@@ -264,6 +303,7 @@ interface WorkbenchCommandPaletteController {
|
|
|
264
303
|
open(input?: WorkbenchCommandPaletteOpenInput): void;
|
|
265
304
|
close(): void;
|
|
266
305
|
toggle(): void;
|
|
306
|
+
requestConfirmation(label: string): Promise<boolean>;
|
|
267
307
|
requestParams(request: WorkbenchCommandParamsRequest): void;
|
|
268
308
|
clearParams(): void;
|
|
269
309
|
onDidChange(listener: WorkbenchCommandPaletteChangeListener): Disposable;
|
|
@@ -564,6 +604,8 @@ interface WorkbenchRegionState {
|
|
|
564
604
|
visible: boolean;
|
|
565
605
|
size?: number;
|
|
566
606
|
widgets: WorkbenchWidgetPlacement[];
|
|
607
|
+
/** Page snapshots retain mixed-owner order without storing shared mode content. Consumed on restore. */
|
|
608
|
+
savedWidgetOrder?: string[];
|
|
567
609
|
activeWidgetId?: string;
|
|
568
610
|
/** Side region only: how the open Side Panel is shown. `visible` says whether it is open. */
|
|
569
611
|
presentation?: Exclude<WorkbenchSidePanelMode, "closed">;
|
|
@@ -784,7 +826,11 @@ interface TreeContext extends TreeQueryContext {
|
|
|
784
826
|
refresh(): void;
|
|
785
827
|
setSelectedNode(nodeId: string | undefined): void;
|
|
786
828
|
}
|
|
829
|
+
interface TreeMoveContext extends TreeContext {
|
|
830
|
+
position?: "before" | "after" | "inside";
|
|
831
|
+
}
|
|
787
832
|
interface TreeAction {
|
|
833
|
+
resourceMutation?: import("@pstdio/sdk/extensions").CommandDefinition["resourceMutation"];
|
|
788
834
|
id: string;
|
|
789
835
|
label?: string;
|
|
790
836
|
icon?: string;
|
|
@@ -892,7 +938,7 @@ interface TreeRendererContribution {
|
|
|
892
938
|
getFooter?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
|
|
893
939
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
894
940
|
canMove?: TreeMovePolicy;
|
|
895
|
-
moveNode?(source: TreeNode, target: TreeNode | undefined, ctx:
|
|
941
|
+
moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeMoveContext): Promise<void> | void;
|
|
896
942
|
}
|
|
897
943
|
interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {}
|
|
898
944
|
interface TreeRendererState {
|
|
@@ -940,6 +986,11 @@ interface TreeRendererRegistry {
|
|
|
940
986
|
}
|
|
941
987
|
//#endregion
|
|
942
988
|
//#region src/core/registries/navigation/navigation-tree-registry.d.ts
|
|
989
|
+
interface DeclaredNavigationAction {
|
|
990
|
+
label: string;
|
|
991
|
+
action: NavigationTarget$1;
|
|
992
|
+
category?: string;
|
|
993
|
+
}
|
|
943
994
|
type NavigationTreeSlot = "header" | "content" | "footer";
|
|
944
995
|
interface NavigationTreeOwner {
|
|
945
996
|
kind: "mode" | "page";
|
|
@@ -950,6 +1001,9 @@ interface NavigationTreeContext {
|
|
|
950
1001
|
resource?: ResourceRef$1;
|
|
951
1002
|
signal?: AbortSignal;
|
|
952
1003
|
}
|
|
1004
|
+
interface NavigationTreeMoveContext extends NavigationTreeContext {
|
|
1005
|
+
position?: "before" | "after" | "inside";
|
|
1006
|
+
}
|
|
953
1007
|
interface NavigationTreeContribution {
|
|
954
1008
|
id: string;
|
|
955
1009
|
/** Prefix projected section and node ids when they come from an independent tree renderer. */
|
|
@@ -964,13 +1018,19 @@ interface NavigationTreeContribution {
|
|
|
964
1018
|
resolveResource?(resource: ResourceRef$1 | undefined): ResourceRef$1 | undefined;
|
|
965
1019
|
getSections?(context: NavigationTreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
|
|
966
1020
|
getChildren?(node: TreeNode, context: NavigationTreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1021
|
+
/** Authored actions for discovery, independent of tree data and visibility context. */
|
|
1022
|
+
listActions?(): DeclaredNavigationAction[];
|
|
967
1023
|
}
|
|
968
1024
|
interface NavigationTreeRegistry {
|
|
1025
|
+
listActions(): (DeclaredNavigationAction & {
|
|
1026
|
+
ownerId: string;
|
|
1027
|
+
})[];
|
|
969
1028
|
registerContribution(contribution: NavigationTreeContribution): Disposable;
|
|
970
1029
|
resolveOwner(kind: NavigationTreeOwner["kind"], id: string, slot?: NavigationTreeSlot): NavigationTreeOwner | undefined;
|
|
971
1030
|
getReadKey(owner: NavigationTreeOwner, context?: NavigationTreeContext): string;
|
|
972
1031
|
getSections(owner: NavigationTreeOwner, slot?: NavigationTreeSlot, context?: NavigationTreeContext): Promise<TreeViewSection[]>;
|
|
973
1032
|
getChildren(node: TreeNode, context?: NavigationTreeContext): Promise<TreeNode[]>;
|
|
1033
|
+
moveNode(source: TreeNode, target: TreeNode | undefined, context?: NavigationTreeMoveContext): Promise<void>;
|
|
974
1034
|
getDefaultExpandedSectionIds(owner: NavigationTreeOwner, slot?: NavigationTreeSlot): string[];
|
|
975
1035
|
onDidChange(listener: () => void): Disposable;
|
|
976
1036
|
}
|
|
@@ -1035,162 +1095,6 @@ interface ControlsRendererContribution {
|
|
|
1035
1095
|
subscribe?: (listener: () => void) => Disposable | (() => void);
|
|
1036
1096
|
}
|
|
1037
1097
|
//#endregion
|
|
1038
|
-
//#region src/core/registries/renderers/view-toolbar-action.d.ts
|
|
1039
|
-
interface ViewToolbarAction extends TreeAction {
|
|
1040
|
-
presentation?: "primary" | "secondary";
|
|
1041
|
-
}
|
|
1042
|
-
//#endregion
|
|
1043
|
-
//#region src/core/registries/renderers/data-table-renderer-registry.d.ts
|
|
1044
|
-
interface DataTableRendererThemeColor {
|
|
1045
|
-
light: string;
|
|
1046
|
-
dark: string;
|
|
1047
|
-
foreground?: {
|
|
1048
|
-
light: string;
|
|
1049
|
-
dark: string;
|
|
1050
|
-
};
|
|
1051
|
-
}
|
|
1052
|
-
type DataTableRendererColumnStat = {
|
|
1053
|
-
type: "unique";
|
|
1054
|
-
} | {
|
|
1055
|
-
type: "histogram";
|
|
1056
|
-
bins?: number;
|
|
1057
|
-
} | {
|
|
1058
|
-
type: "top-values";
|
|
1059
|
-
limit?: number;
|
|
1060
|
-
};
|
|
1061
|
-
type DataTableRendererBadgePalette = "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink";
|
|
1062
|
-
type DataTableRendererColumnRenderer = {
|
|
1063
|
-
type: "json";
|
|
1064
|
-
} | {
|
|
1065
|
-
type: "color-scale";
|
|
1066
|
-
stops: Array<{
|
|
1067
|
-
value: number;
|
|
1068
|
-
color: DataTableRendererThemeColor;
|
|
1069
|
-
}>;
|
|
1070
|
-
} | {
|
|
1071
|
-
type: "categorical-color";
|
|
1072
|
-
categories: Array<{
|
|
1073
|
-
value: string | number | boolean | null;
|
|
1074
|
-
color: DataTableRendererThemeColor;
|
|
1075
|
-
}>;
|
|
1076
|
-
} | {
|
|
1077
|
-
type: "badge";
|
|
1078
|
-
categories?: Array<{
|
|
1079
|
-
value: string | number | boolean | null;
|
|
1080
|
-
palette: DataTableRendererBadgePalette;
|
|
1081
|
-
}>;
|
|
1082
|
-
} | {
|
|
1083
|
-
type: "diff";
|
|
1084
|
-
} | {
|
|
1085
|
-
type: "date";
|
|
1086
|
-
} | {
|
|
1087
|
-
type: "path";
|
|
1088
|
-
};
|
|
1089
|
-
interface DataTableRendererColumn {
|
|
1090
|
-
id: string;
|
|
1091
|
-
label?: string;
|
|
1092
|
-
description?: string;
|
|
1093
|
-
icon?: unknown;
|
|
1094
|
-
hidden?: boolean;
|
|
1095
|
-
/** Starts unchecked in the column menu; viewers can still show the column. */
|
|
1096
|
-
defaultHidden?: boolean;
|
|
1097
|
-
stat?: DataTableRendererColumnStat;
|
|
1098
|
-
renderer?: DataTableRendererColumnRenderer;
|
|
1099
|
-
}
|
|
1100
|
-
interface DataTableRendererRow {
|
|
1101
|
-
id: string;
|
|
1102
|
-
values: Record<string, unknown>;
|
|
1103
|
-
resource?: ResourceRef$1;
|
|
1104
|
-
}
|
|
1105
|
-
interface DataTableRendererQueryResult {
|
|
1106
|
-
rows: DataTableRendererRow[];
|
|
1107
|
-
columns?: DataTableRendererColumn[];
|
|
1108
|
-
}
|
|
1109
|
-
interface DataTableRendererQueryContext {
|
|
1110
|
-
resource?: ResourceRef$1;
|
|
1111
|
-
modeId?: string;
|
|
1112
|
-
}
|
|
1113
|
-
interface DataTableRendererRowAction {
|
|
1114
|
-
id: string;
|
|
1115
|
-
label: string;
|
|
1116
|
-
icon?: unknown;
|
|
1117
|
-
destructive?: boolean;
|
|
1118
|
-
run(row: DataTableRendererRow): Promise<void> | void;
|
|
1119
|
-
}
|
|
1120
|
-
interface DataTableRendererSelectionAction {
|
|
1121
|
-
id: string;
|
|
1122
|
-
label: string;
|
|
1123
|
-
icon?: unknown;
|
|
1124
|
-
destructive?: boolean;
|
|
1125
|
-
run(rows: DataTableRendererRow[]): Promise<void> | void;
|
|
1126
|
-
}
|
|
1127
|
-
interface DataTableRendererContribution {
|
|
1128
|
-
id: string;
|
|
1129
|
-
title: string;
|
|
1130
|
-
toolbarActions?: ViewToolbarAction[];
|
|
1131
|
-
resourceKind?: string;
|
|
1132
|
-
columns?: DataTableRendererColumn[];
|
|
1133
|
-
selectionMode?: "none" | "multiple";
|
|
1134
|
-
selectionActions?: DataTableRendererSelectionAction[];
|
|
1135
|
-
rowActions?: DataTableRendererRowAction[];
|
|
1136
|
-
initialPageSize?: number;
|
|
1137
|
-
pageSizeOptions?: number[];
|
|
1138
|
-
/** Whether column statistics start visible. Defaults to `true`. */
|
|
1139
|
-
defaultShowStats?: boolean;
|
|
1140
|
-
emptyTitle?: string;
|
|
1141
|
-
emptyDescription?: string;
|
|
1142
|
-
/** Context keys that choose which rows the query returns. A change drops the old rows and starts a new read. */
|
|
1143
|
-
contextKeys?: string[];
|
|
1144
|
-
executeQuery(context: DataTableRendererQueryContext, signal: AbortSignal): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
1145
|
-
subscribe?: (listener: () => void) => Disposable | (() => void);
|
|
1146
|
-
onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
|
|
1147
|
-
}
|
|
1148
|
-
interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
|
|
1149
|
-
//#endregion
|
|
1150
|
-
//#region src/core/registries/renderers/file-renderer-registry.d.ts
|
|
1151
|
-
interface FileRendererContent {
|
|
1152
|
-
fileName?: string;
|
|
1153
|
-
/** Workspace-relative path shown above the file preview. */
|
|
1154
|
-
filePath?: string;
|
|
1155
|
-
mimeType?: string;
|
|
1156
|
-
content?: string;
|
|
1157
|
-
dataUrl?: string;
|
|
1158
|
-
placeholder?: string;
|
|
1159
|
-
/** Override contribution-level save support for one loaded file. */
|
|
1160
|
-
editable?: boolean;
|
|
1161
|
-
/** Request Monaco for text that automatic dispatch would open as markdown. */
|
|
1162
|
-
textRenderer?: "automatic" | "monaco";
|
|
1163
|
-
/** Represent a deliberate no-file selection without an editable blank document. */
|
|
1164
|
-
emptyState?: {
|
|
1165
|
-
title: string;
|
|
1166
|
-
description?: string;
|
|
1167
|
-
};
|
|
1168
|
-
/** Ordered backing-store revision when one is available. */
|
|
1169
|
-
revision?: string;
|
|
1170
|
-
}
|
|
1171
|
-
interface FileRendererRefreshOrigin {
|
|
1172
|
-
rendererId: string;
|
|
1173
|
-
instanceId: string;
|
|
1174
|
-
operationId: string;
|
|
1175
|
-
}
|
|
1176
|
-
interface FileRendererRefreshEnvelope {
|
|
1177
|
-
resourceKey?: string;
|
|
1178
|
-
origin?: FileRendererRefreshOrigin;
|
|
1179
|
-
revision?: string;
|
|
1180
|
-
}
|
|
1181
|
-
interface FileRendererSaveResult {
|
|
1182
|
-
revision?: string;
|
|
1183
|
-
}
|
|
1184
|
-
interface FileRendererContribution {
|
|
1185
|
-
id: string;
|
|
1186
|
-
title: string;
|
|
1187
|
-
resourceKind?: string;
|
|
1188
|
-
/** Resolve the file's content (and identity) for the bound resource. */
|
|
1189
|
-
load(resource: ResourceRef$1 | undefined, signal: AbortSignal): Promise<FileRendererContent> | FileRendererContent;
|
|
1190
|
-
/** Persist edited text. Absent ⇒ read-only. Never called for images. */
|
|
1191
|
-
save?(resource: ResourceRef$1 | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
|
|
1192
|
-
}
|
|
1193
|
-
//#endregion
|
|
1194
1098
|
//#region src/core/registries/renderers/kanban-renderer-contracts.d.ts
|
|
1195
1099
|
/**
|
|
1196
1100
|
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
@@ -1199,9 +1103,7 @@ interface FileRendererContribution {
|
|
|
1199
1103
|
* API shape to UI package ownership.
|
|
1200
1104
|
*/
|
|
1201
1105
|
type ViewMode = "board" | "list";
|
|
1202
|
-
type SortDirection = "asc" | "desc";
|
|
1203
1106
|
declare const NO_GROUPING = "none";
|
|
1204
|
-
declare const MANUAL_ORDERING = "manual";
|
|
1205
1107
|
interface EnumOption {
|
|
1206
1108
|
value: string;
|
|
1207
1109
|
label: string;
|
|
@@ -1224,6 +1126,9 @@ type AttributeType = {
|
|
|
1224
1126
|
} | {
|
|
1225
1127
|
kind: "enum-multi";
|
|
1226
1128
|
options: EnumOptions;
|
|
1129
|
+
} | {
|
|
1130
|
+
kind: "boolean";
|
|
1131
|
+
legacyValues?: Record<string, boolean>;
|
|
1227
1132
|
} | {
|
|
1228
1133
|
kind: "string";
|
|
1229
1134
|
} | {
|
|
@@ -1267,24 +1172,22 @@ interface KanbanRendererRow {
|
|
|
1267
1172
|
resource?: unknown;
|
|
1268
1173
|
attributes: Record<string, unknown>;
|
|
1269
1174
|
}
|
|
1270
|
-
|
|
1271
|
-
attributeId: string | typeof MANUAL_ORDERING;
|
|
1272
|
-
direction: SortDirection;
|
|
1273
|
-
}
|
|
1175
|
+
/** Board display settings. Order lives in the view's sorts. */
|
|
1274
1176
|
interface KanbanRendererSettings {
|
|
1275
1177
|
viewMode: ViewMode;
|
|
1276
1178
|
columnGrouping: string | typeof NO_GROUPING;
|
|
1277
1179
|
rowGrouping: string | typeof NO_GROUPING;
|
|
1278
|
-
ordering: KanbanRendererOrdering;
|
|
1279
1180
|
displayProperties: string[];
|
|
1280
1181
|
}
|
|
1281
|
-
|
|
1282
|
-
interface
|
|
1182
|
+
/** A view stores display settings, one filter, and its sorts. Search is screen state and never saved. */
|
|
1183
|
+
interface CollectionSavedView<TSettings> {
|
|
1283
1184
|
id: string;
|
|
1284
1185
|
title: string;
|
|
1285
|
-
settings:
|
|
1286
|
-
|
|
1186
|
+
settings: TSettings;
|
|
1187
|
+
filter: ViewFilterGroup;
|
|
1188
|
+
sorts: ViewSort[];
|
|
1287
1189
|
}
|
|
1190
|
+
type KanbanRendererSavedView = CollectionSavedView<KanbanRendererSettings>;
|
|
1288
1191
|
type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
1289
1192
|
interface KanbanRendererCreateField {
|
|
1290
1193
|
id: string;
|
|
@@ -1345,39 +1248,218 @@ interface ResourceContextAction<TNode = unknown> {
|
|
|
1345
1248
|
endContent?: TNode;
|
|
1346
1249
|
separatorBefore?: boolean;
|
|
1347
1250
|
}
|
|
1348
|
-
interface
|
|
1349
|
-
views: (
|
|
1251
|
+
interface CollectionViewsSource<TSettings> {
|
|
1252
|
+
views: (CollectionSavedView<TSettings> & {
|
|
1350
1253
|
builtIn: boolean;
|
|
1351
1254
|
})[];
|
|
1352
1255
|
defaultViewId: string;
|
|
1353
1256
|
onCreateView: (input: {
|
|
1354
1257
|
title: string;
|
|
1355
|
-
settings:
|
|
1356
|
-
|
|
1258
|
+
settings: TSettings;
|
|
1259
|
+
filter: ViewFilterGroup;
|
|
1260
|
+
sorts: ViewSort[];
|
|
1357
1261
|
copyFrom?: string;
|
|
1358
|
-
}) => Promise<
|
|
1262
|
+
}) => Promise<CollectionSavedView<TSettings>>;
|
|
1359
1263
|
onUpdateView: (id: string, input: {
|
|
1360
1264
|
title?: string;
|
|
1361
|
-
settings?:
|
|
1362
|
-
|
|
1265
|
+
settings?: TSettings;
|
|
1266
|
+
filter?: ViewFilterGroup;
|
|
1267
|
+
sorts?: ViewSort[];
|
|
1363
1268
|
}) => Promise<void>;
|
|
1364
1269
|
onDeleteView: (id: string) => Promise<void>;
|
|
1365
1270
|
onSetDefaultView: (id: string | null) => Promise<void>;
|
|
1366
1271
|
}
|
|
1367
|
-
interface
|
|
1368
|
-
getSnapshot: () =>
|
|
1272
|
+
interface CollectionViewsProvider<TSettings> {
|
|
1273
|
+
getSnapshot: () => CollectionViewsSource<TSettings> | undefined;
|
|
1369
1274
|
subscribe: (listener: () => void) => () => void;
|
|
1370
1275
|
}
|
|
1276
|
+
type KanbanRendererViewsSource = CollectionViewsSource<KanbanRendererSettings>;
|
|
1277
|
+
type KanbanRendererViewsProvider = CollectionViewsProvider<KanbanRendererSettings>;
|
|
1278
|
+
//#endregion
|
|
1279
|
+
//#region src/core/registries/renderers/view-toolbar-action.d.ts
|
|
1280
|
+
interface ViewToolbarAction extends TreeAction {
|
|
1281
|
+
presentation?: "primary" | "secondary";
|
|
1282
|
+
}
|
|
1283
|
+
//#endregion
|
|
1284
|
+
//#region src/core/registries/renderers/data-table-renderer-registry.d.ts
|
|
1285
|
+
interface DataTableRendererThemeColor {
|
|
1286
|
+
light: string;
|
|
1287
|
+
dark: string;
|
|
1288
|
+
foreground?: {
|
|
1289
|
+
light: string;
|
|
1290
|
+
dark: string;
|
|
1291
|
+
};
|
|
1292
|
+
}
|
|
1293
|
+
type DataTableRendererColumnStat = {
|
|
1294
|
+
type: "unique";
|
|
1295
|
+
} | {
|
|
1296
|
+
type: "histogram";
|
|
1297
|
+
bins?: number;
|
|
1298
|
+
} | {
|
|
1299
|
+
type: "top-values";
|
|
1300
|
+
limit?: number;
|
|
1301
|
+
};
|
|
1302
|
+
type DataTableRendererBadgePalette = "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink";
|
|
1303
|
+
type DataTableRendererColumnRenderer = {
|
|
1304
|
+
type: "json";
|
|
1305
|
+
} | {
|
|
1306
|
+
type: "color-scale";
|
|
1307
|
+
stops: Array<{
|
|
1308
|
+
value: number;
|
|
1309
|
+
color: DataTableRendererThemeColor;
|
|
1310
|
+
}>;
|
|
1311
|
+
} | {
|
|
1312
|
+
type: "categorical-color";
|
|
1313
|
+
categories: Array<{
|
|
1314
|
+
value: string | number | boolean | null;
|
|
1315
|
+
color: DataTableRendererThemeColor;
|
|
1316
|
+
}>;
|
|
1317
|
+
} | {
|
|
1318
|
+
type: "badge";
|
|
1319
|
+
categories?: Array<{
|
|
1320
|
+
value: string | number | boolean | null;
|
|
1321
|
+
palette: DataTableRendererBadgePalette;
|
|
1322
|
+
}>;
|
|
1323
|
+
} | {
|
|
1324
|
+
type: "diff";
|
|
1325
|
+
} | {
|
|
1326
|
+
type: "date";
|
|
1327
|
+
} | {
|
|
1328
|
+
type: "path";
|
|
1329
|
+
};
|
|
1330
|
+
interface DataTableRendererColumn {
|
|
1331
|
+
id: string;
|
|
1332
|
+
label?: string;
|
|
1333
|
+
/** How filters and sorts compare the column. Without it, the type is inferred from the values. */
|
|
1334
|
+
type?: "string" | "number" | "boolean" | "date";
|
|
1335
|
+
/** Offers the column under Grouping in the table's Display menu. */
|
|
1336
|
+
groupable?: boolean;
|
|
1337
|
+
/** Whether this column can be filtered. Defaults to true. */
|
|
1338
|
+
filterable?: boolean;
|
|
1339
|
+
description?: string;
|
|
1340
|
+
icon?: unknown;
|
|
1341
|
+
hidden?: boolean;
|
|
1342
|
+
stat?: DataTableRendererColumnStat;
|
|
1343
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
1344
|
+
}
|
|
1345
|
+
interface DataTableRendererRow {
|
|
1346
|
+
id: string;
|
|
1347
|
+
values: Record<string, unknown>;
|
|
1348
|
+
resource?: ResourceRef$1;
|
|
1349
|
+
}
|
|
1350
|
+
interface DataTableRendererQueryResult {
|
|
1351
|
+
rows: DataTableRendererRow[];
|
|
1352
|
+
columns?: DataTableRendererColumn[];
|
|
1353
|
+
}
|
|
1354
|
+
interface DataTableRendererQueryContext {
|
|
1355
|
+
resource?: ResourceRef$1;
|
|
1356
|
+
modeId?: string;
|
|
1357
|
+
filter: ViewFilterGroup;
|
|
1358
|
+
sorts: ViewSort[];
|
|
1359
|
+
settings: DataTableRendererSettings;
|
|
1360
|
+
}
|
|
1361
|
+
type DataTableRendererSavedView = CollectionSavedView<DataTableRendererSettings>;
|
|
1362
|
+
interface DataTableRendererRowAction {
|
|
1363
|
+
id: string;
|
|
1364
|
+
commandId?: string;
|
|
1365
|
+
label: string;
|
|
1366
|
+
icon?: unknown;
|
|
1367
|
+
destructive?: boolean;
|
|
1368
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
1369
|
+
}
|
|
1370
|
+
interface DataTableRendererSelectionAction {
|
|
1371
|
+
id: string;
|
|
1372
|
+
commandId?: string;
|
|
1373
|
+
label: string;
|
|
1374
|
+
icon?: unknown;
|
|
1375
|
+
destructive?: boolean;
|
|
1376
|
+
run(rows: DataTableRendererRow[]): Promise<void> | void;
|
|
1377
|
+
}
|
|
1378
|
+
interface DataTableRendererContribution {
|
|
1379
|
+
id: string;
|
|
1380
|
+
title: string;
|
|
1381
|
+
toolbarActions?: ViewToolbarAction[];
|
|
1382
|
+
resourceKind?: string;
|
|
1383
|
+
columns?: DataTableRendererColumn[];
|
|
1384
|
+
selectionMode?: "none" | "multiple";
|
|
1385
|
+
selectionActions?: DataTableRendererSelectionAction[];
|
|
1386
|
+
rowActions?: DataTableRendererRowAction[];
|
|
1387
|
+
initialPageSize?: number;
|
|
1388
|
+
pageSizeOptions?: number[];
|
|
1389
|
+
/** The view state used before a saved view is active, such as hidden columns or statistics. */
|
|
1390
|
+
defaultSettings?: Partial<DataTableRendererSettings>;
|
|
1391
|
+
defaultFilter?: ViewFilterGroup;
|
|
1392
|
+
defaultSorts?: ViewSort[];
|
|
1393
|
+
defaultViews?: DataTableRendererSavedView[];
|
|
1394
|
+
defaultActiveViewId?: string;
|
|
1395
|
+
/** Shared saved views. Without it the table offers its default views only. */
|
|
1396
|
+
viewsProvider?: CollectionViewsProvider<DataTableRendererSettings>;
|
|
1397
|
+
emptyTitle?: string;
|
|
1398
|
+
emptyDescription?: string;
|
|
1399
|
+
/** Context keys that choose which rows the query returns. A change drops the old rows and starts a new read. */
|
|
1400
|
+
contextKeys?: string[];
|
|
1401
|
+
executeQuery(context: DataTableRendererQueryContext, signal: AbortSignal): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
1402
|
+
subscribe?: (listener: () => void) => Disposable | (() => void);
|
|
1403
|
+
onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
|
|
1404
|
+
}
|
|
1405
|
+
interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
|
|
1406
|
+
//#endregion
|
|
1407
|
+
//#region src/core/registries/renderers/file-renderer-registry.d.ts
|
|
1408
|
+
interface FileRendererContent {
|
|
1409
|
+
fileName?: string;
|
|
1410
|
+
/** Workspace-relative path shown above the file preview. */
|
|
1411
|
+
filePath?: string;
|
|
1412
|
+
mimeType?: string;
|
|
1413
|
+
content?: string;
|
|
1414
|
+
dataUrl?: string;
|
|
1415
|
+
placeholder?: string;
|
|
1416
|
+
/** Override contribution-level save support for one loaded file. */
|
|
1417
|
+
editable?: boolean;
|
|
1418
|
+
/** Request Monaco for text that automatic dispatch would open as markdown. */
|
|
1419
|
+
textRenderer?: "automatic" | "monaco";
|
|
1420
|
+
/** Represent a deliberate no-file selection without an editable blank document. */
|
|
1421
|
+
emptyState?: {
|
|
1422
|
+
title: string;
|
|
1423
|
+
description?: string;
|
|
1424
|
+
};
|
|
1425
|
+
/** Ordered backing-store revision when one is available. */
|
|
1426
|
+
revision?: string;
|
|
1427
|
+
}
|
|
1428
|
+
interface FileRendererRefreshOrigin {
|
|
1429
|
+
rendererId: string;
|
|
1430
|
+
instanceId: string;
|
|
1431
|
+
operationId: string;
|
|
1432
|
+
}
|
|
1433
|
+
interface FileRendererRefreshEnvelope {
|
|
1434
|
+
resourceKey?: string;
|
|
1435
|
+
origin?: FileRendererRefreshOrigin;
|
|
1436
|
+
revision?: string;
|
|
1437
|
+
}
|
|
1438
|
+
interface FileRendererSaveResult {
|
|
1439
|
+
revision?: string;
|
|
1440
|
+
}
|
|
1441
|
+
interface FileRendererContribution {
|
|
1442
|
+
id: string;
|
|
1443
|
+
title: string;
|
|
1444
|
+
resourceKind?: string;
|
|
1445
|
+
/** Resolve the file's content (and identity) for the bound resource. */
|
|
1446
|
+
load(resource: ResourceRef$1 | undefined, signal: AbortSignal): Promise<FileRendererContent> | FileRendererContent;
|
|
1447
|
+
/** Persist edited text. Absent ⇒ read-only. Never called for images. */
|
|
1448
|
+
save?(resource: ResourceRef$1 | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
|
|
1449
|
+
}
|
|
1371
1450
|
//#endregion
|
|
1372
1451
|
//#region src/core/registries/renderers/kanban-renderer-registry.d.ts
|
|
1373
1452
|
interface KanbanRendererQueryState {
|
|
1374
1453
|
settings: KanbanRendererSettings;
|
|
1375
|
-
|
|
1454
|
+
filter: ViewFilterGroup;
|
|
1455
|
+
sorts: ViewSort[];
|
|
1376
1456
|
}
|
|
1377
1457
|
interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow, TNode = unknown, TIcon = unknown> {
|
|
1378
1458
|
id: string;
|
|
1379
1459
|
title: string;
|
|
1380
1460
|
toolbarActions?: ViewToolbarAction[];
|
|
1461
|
+
/** Authored row actions for discovery without querying rows or evaluating a row menu. */
|
|
1462
|
+
listRowActions?: () => Pick<ViewToolbarAction, "commandId" | "label" | "args">[];
|
|
1381
1463
|
resourceKind?: string;
|
|
1382
1464
|
/** Host-owned scope for persisted display settings. */
|
|
1383
1465
|
storageScope?: string;
|
|
@@ -1396,9 +1478,10 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
|
|
|
1396
1478
|
hideToolbar?: boolean;
|
|
1397
1479
|
emptyTitle?: string;
|
|
1398
1480
|
emptyDescription?: string;
|
|
1399
|
-
/**
|
|
1481
|
+
/** The view state used before a saved view is active. */
|
|
1400
1482
|
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
1401
|
-
|
|
1483
|
+
defaultFilter?: ViewFilterGroup;
|
|
1484
|
+
defaultSorts?: ViewSort[];
|
|
1402
1485
|
viewsProvider?: KanbanRendererViewsProvider;
|
|
1403
1486
|
defaultViews?: KanbanRendererSavedView[];
|
|
1404
1487
|
defaultActiveViewId?: string;
|
|
@@ -1419,7 +1502,7 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
|
|
|
1419
1502
|
* column value).
|
|
1420
1503
|
*/
|
|
1421
1504
|
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
1422
|
-
/** Manual within-column reorder
|
|
1505
|
+
/** Manual within-column reorder. Only fires while the view has no sorts. */
|
|
1423
1506
|
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
1424
1507
|
createRow?: KanbanRendererCreateRowConfig;
|
|
1425
1508
|
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
@@ -1435,7 +1518,7 @@ interface RendererReadRequest<T> {
|
|
|
1435
1518
|
onError(error: unknown): void;
|
|
1436
1519
|
}
|
|
1437
1520
|
interface RendererReadBinding {
|
|
1438
|
-
request<T>(request: RendererReadRequest<T>, reason?: "refresh" | "retry"): void
|
|
1521
|
+
request<T>(request: RendererReadRequest<T>, reason?: "refresh" | "retry"): Promise<void>;
|
|
1439
1522
|
dispose(): void;
|
|
1440
1523
|
}
|
|
1441
1524
|
interface RendererReadRegistry {
|
|
@@ -1526,6 +1609,7 @@ interface WorkbenchPageContribution {
|
|
|
1526
1609
|
modeId: string;
|
|
1527
1610
|
parentId?: string;
|
|
1528
1611
|
resource?: ResourceConstraint;
|
|
1612
|
+
document?: PageDocumentDeclaration;
|
|
1529
1613
|
main: WorkbenchPageMain;
|
|
1530
1614
|
slots: readonly WorkbenchPageSlot[];
|
|
1531
1615
|
}
|
|
@@ -1568,7 +1652,7 @@ interface WorkbenchPageRegistry<Value> {
|
|
|
1568
1652
|
};
|
|
1569
1653
|
getPage(pageId: string): WorkbenchPageContribution | undefined;
|
|
1570
1654
|
listPages(): WorkbenchPageContribution[];
|
|
1571
|
-
pinPlacement(identity: PlacementIdentity): void;
|
|
1655
|
+
pinPlacement(identity: PlacementIdentity, open?: PageOpenIntent): void;
|
|
1572
1656
|
openSlot(input: WorkbenchPageSlotOpenInput): void;
|
|
1573
1657
|
}
|
|
1574
1658
|
//#endregion
|
|
@@ -1679,31 +1763,10 @@ interface WorkbenchShellController {
|
|
|
1679
1763
|
}
|
|
1680
1764
|
//#endregion
|
|
1681
1765
|
//#region src/core/controllers/terminal/terminal-controller.d.ts
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
cols: number;
|
|
1687
|
-
rows: number;
|
|
1688
|
-
}
|
|
1689
|
-
interface WorkbenchTerminalSessionExit {
|
|
1690
|
-
code: number | null;
|
|
1691
|
-
signal: string | null;
|
|
1692
|
-
}
|
|
1693
|
-
interface WorkbenchTerminalSessionError {
|
|
1694
|
-
message: string;
|
|
1695
|
-
}
|
|
1696
|
-
interface WorkbenchTerminalSessionAdapter {
|
|
1697
|
-
readonly id: string;
|
|
1698
|
-
write(data: string | Uint8Array): void;
|
|
1699
|
-
resize(cols: number, rows: number): void;
|
|
1700
|
-
kill(signal?: string): Promise<void> | void;
|
|
1701
|
-
onData(handler: (chunk: Uint8Array) => void): () => void;
|
|
1702
|
-
/** Foreground process name updates, when the opener can report them (real PTYs). */
|
|
1703
|
-
onTitle?(handler: (title: string) => void): () => void;
|
|
1704
|
-
onExit(handler: (exit: WorkbenchTerminalSessionExit) => void): () => void;
|
|
1705
|
-
onError(handler: (error: WorkbenchTerminalSessionError) => void): () => void;
|
|
1706
|
-
}
|
|
1766
|
+
type WorkbenchTerminalSessionRequest = TerminalSessionRequest;
|
|
1767
|
+
type WorkbenchTerminalSessionExit = TerminalSessionExit;
|
|
1768
|
+
type WorkbenchTerminalSessionError = TerminalSessionError;
|
|
1769
|
+
type WorkbenchTerminalSessionAdapter = TerminalSessionAdapter;
|
|
1707
1770
|
type WorkbenchTerminalSessionOpener = (request: WorkbenchTerminalSessionRequest) => Promise<WorkbenchTerminalSessionAdapter>;
|
|
1708
1771
|
type WorkbenchTerminalSessionStatus = "running" | "exited" | "killed";
|
|
1709
1772
|
interface WorkbenchTerminalSessionModel {
|
|
@@ -1758,9 +1821,11 @@ interface WorkbenchTerminalController {
|
|
|
1758
1821
|
interface CommandPaletteResourceQueryContext {
|
|
1759
1822
|
query: string;
|
|
1760
1823
|
limit: number;
|
|
1824
|
+
signal?: AbortSignal;
|
|
1761
1825
|
}
|
|
1762
1826
|
interface CommandPaletteResourceResult {
|
|
1763
1827
|
id: string;
|
|
1828
|
+
resource?: ResourceRef;
|
|
1764
1829
|
label: string;
|
|
1765
1830
|
description?: string;
|
|
1766
1831
|
icon?: string;
|
|
@@ -1793,6 +1858,8 @@ interface CommandPaletteResourceRegistry {
|
|
|
1793
1858
|
//#endregion
|
|
1794
1859
|
//#region src/core/registries/keybindings/keybinding-registry.d.ts
|
|
1795
1860
|
interface Keybinding {
|
|
1861
|
+
/** Extension that authored this binding, when registered by an extension host. */
|
|
1862
|
+
sourceExtensionId?: string;
|
|
1796
1863
|
/** Action the chord executes through the shared navigation executor. */
|
|
1797
1864
|
action: NavigationTarget$1;
|
|
1798
1865
|
keybinding: KeybindingSequence;
|
|
@@ -2101,16 +2168,28 @@ interface WorkbenchStatusBarItem {
|
|
|
2101
2168
|
}
|
|
2102
2169
|
interface WorkbenchStatusBarRegistryState {
|
|
2103
2170
|
items: Record<string, WorkbenchStatusBarItem>;
|
|
2171
|
+
order: string[];
|
|
2104
2172
|
}
|
|
2173
|
+
interface WorkbenchStatusBarPersistenceAdapter {
|
|
2174
|
+
getOrder(): string[] | undefined;
|
|
2175
|
+
setOrder(ids: string[]): void;
|
|
2176
|
+
}
|
|
2177
|
+
type WorkbenchStatusBarPosition = {
|
|
2178
|
+
beforeItemId: string;
|
|
2179
|
+
} | {
|
|
2180
|
+
afterItemId: string;
|
|
2181
|
+
};
|
|
2105
2182
|
interface WorkbenchStatusBarRegistry {
|
|
2106
2183
|
store: WorkbenchStore<WorkbenchStatusBarRegistryState>;
|
|
2107
2184
|
registerItem(item: WorkbenchStatusBarItem): Disposable;
|
|
2108
2185
|
getItem(id: string): WorkbenchStatusBarItem | undefined;
|
|
2109
2186
|
listItems(): WorkbenchStatusBarItem[];
|
|
2110
2187
|
listVisibleItems(slot?: WorkbenchStatusBarSlot): WorkbenchStatusBarItem[];
|
|
2188
|
+
reorderItem(id: string, position: WorkbenchStatusBarPosition): void;
|
|
2111
2189
|
}
|
|
2112
2190
|
interface CreateWorkbenchStatusBarRegistryInput {
|
|
2113
2191
|
hasView(viewId: string): boolean;
|
|
2192
|
+
persistence?: WorkbenchStatusBarPersistenceAdapter;
|
|
2114
2193
|
}
|
|
2115
2194
|
declare const createStatusBarRegistry: (input: CreateWorkbenchStatusBarRegistryInput) => WorkbenchStatusBarRegistry;
|
|
2116
2195
|
//#endregion
|
|
@@ -2223,7 +2302,11 @@ type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
2223
2302
|
type WorkbenchModuleLayoutModel = Omit<WorkbenchLayoutModel, "registerPanel" | "registerWidget" | "openPanel" | "openWidget" | "registerPlaceholder" | "registerPanelMenu">;
|
|
2224
2303
|
type WorkbenchTreeViews = Pick<TreeRendererRegistry, "getTreeState" | "setNodeExpanded" | "setSectionExpanded" | "setSelectedNode">;
|
|
2225
2304
|
interface WorkbenchCoreContributionContext {
|
|
2226
|
-
pinPlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity): void;
|
|
2305
|
+
pinPlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity, pinned?: boolean): void;
|
|
2306
|
+
getPanelDestinations(instanceId: string): WorkbenchPanelRegion[];
|
|
2307
|
+
movePanel(instanceId: string, region: WorkbenchPanelRegion, position?: WorkbenchTabPosition): void;
|
|
2308
|
+
resetLayout(): void;
|
|
2309
|
+
onDidResetLayout(listener: () => void): Disposable;
|
|
2227
2310
|
closePlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity): void;
|
|
2228
2311
|
breadcrumbs: WorkbenchBreadcrumbController;
|
|
2229
2312
|
commandPalette: WorkbenchCommandPaletteController;
|
|
@@ -2312,6 +2395,7 @@ interface createWorkbenchInput {
|
|
|
2312
2395
|
preferencePersistence?: PreferencePersistenceAdapter;
|
|
2313
2396
|
treePersistence?: TreeRendererPersistenceAdapter;
|
|
2314
2397
|
panelMenuStatePersistence?: WorkbenchPanelMenuStatePersistenceAdapter;
|
|
2398
|
+
statusBarPersistence?: WorkbenchStatusBarPersistenceAdapter;
|
|
2315
2399
|
defaultPanelOpenByRegionId?: Partial<Record<WorkbenchRegion, boolean>>;
|
|
2316
2400
|
/** Host-level region layout policy. The active mode's regionSettings win over it. */
|
|
2317
2401
|
regionSettings?: Partial<Record<WorkbenchRegion, WorkbenchRegionSettings>>;
|
|
@@ -2331,11 +2415,7 @@ interface WorkbenchModuleContribution {
|
|
|
2331
2415
|
//#region src/core/workbench-core.d.ts
|
|
2332
2416
|
declare const createWorkbench: (input?: createWorkbenchInput) => WorkbenchCore;
|
|
2333
2417
|
//#endregion
|
|
2334
|
-
//#region src/core/registries/modes/mode-
|
|
2335
|
-
declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
|
|
2336
|
-
declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
|
|
2337
|
-
//#endregion
|
|
2338
|
-
//#region src/core/registries/modes/mode-registry.d.ts
|
|
2418
|
+
//#region src/core/registries/modes/mode-registry-types.d.ts
|
|
2339
2419
|
type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
|
|
2340
2420
|
type WorkbenchModeActivationResult = Disposable | readonly Disposable[] | undefined;
|
|
2341
2421
|
interface WorkbenchModeAddablePanel {
|
|
@@ -2385,10 +2465,14 @@ interface WorkbenchModeRegistry {
|
|
|
2385
2465
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable;
|
|
2386
2466
|
}
|
|
2387
2467
|
//#endregion
|
|
2468
|
+
//#region src/core/registries/modes/mode-layout.d.ts
|
|
2469
|
+
declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
|
|
2470
|
+
declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
|
|
2471
|
+
//#endregion
|
|
2388
2472
|
//#region src/core/controllers/composition/composition-controller.d.ts
|
|
2389
2473
|
interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
|
|
2390
2474
|
contribution: RegisteredWidgetContribution;
|
|
2391
|
-
open?(resource?: ResourceRef$1): void
|
|
2475
|
+
open?(resource?: ResourceRef$1): void | Promise<void>;
|
|
2392
2476
|
}
|
|
2393
2477
|
interface WorkbenchCompositionRegionPanels {
|
|
2394
2478
|
open: readonly WorkbenchWidgetPlacement[];
|
|
@@ -2423,7 +2507,7 @@ declare const createLevelNavigation: (host: LevelNavigationHost) => {
|
|
|
2423
2507
|
//#endregion
|
|
2424
2508
|
//#region src/core/registries/layout/surface-map.d.ts
|
|
2425
2509
|
type AnchorId = "primary" | "secondary" | "attached";
|
|
2426
|
-
declare const resolveAnchorRegion: (anchorId: AnchorId) => "
|
|
2510
|
+
declare const resolveAnchorRegion: (anchorId: AnchorId) => "activity" | "sidenav" | "main" | "secondary" | "side" | "status" | "nav" | "main-header" | "main-left-menu" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side-right-menu" | "overlay";
|
|
2427
2511
|
//#endregion
|
|
2428
2512
|
//#region src/core/registries/menus/workbench-menu-paths.d.ts
|
|
2429
2513
|
declare const headerLeadingMenuPath: (region: string) => MenuPath;
|
|
@@ -2435,6 +2519,9 @@ declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
|
|
|
2435
2519
|
declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
|
|
2436
2520
|
declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
|
|
2437
2521
|
//#endregion
|
|
2522
|
+
//#region src/core/registries/navigation/navigation-target-key.d.ts
|
|
2523
|
+
declare const getNavigationTargetKey: (action: NavigationTarget$1) => string;
|
|
2524
|
+
//#endregion
|
|
2438
2525
|
//#region src/core/registries/resources/resource-icons.d.ts
|
|
2439
2526
|
declare const standardResourceIcons: {
|
|
2440
2527
|
readonly project: "folder-root";
|
|
@@ -2451,9 +2538,14 @@ declare const rendererReadKey: (placement: WorkbenchPanelInstance, lane?: string
|
|
|
2451
2538
|
//#region src/core/registries/views/settle-read-batch.d.ts
|
|
2452
2539
|
declare const settleReadBatch: <T>(tasks: ((signal: AbortSignal) => Promise<T> | T)[], signal?: AbortSignal) => Promise<Awaited<T>[]>;
|
|
2453
2540
|
//#endregion
|
|
2541
|
+
//#region src/core/shared/run-user-action.d.ts
|
|
2542
|
+
declare const runUserAction: (workbench: {
|
|
2543
|
+
notifications: Pick<NotificationRegistry, "show">;
|
|
2544
|
+
}, label: string, run: () => unknown) => Promise<void>;
|
|
2545
|
+
//#endregion
|
|
2454
2546
|
//#region src/core/shared/store/workbench-batch.d.ts
|
|
2455
2547
|
/** Commit related stores before their subscribers read the resulting workbench state. */
|
|
2456
2548
|
declare const batchWorkbenchChanges: <Result>(commit: () => Result) => Result;
|
|
2457
2549
|
//#endregion
|
|
2458
|
-
export {
|
|
2550
|
+
export { WorkflowStatus as $, workbenchResourceOwnerContextKey as $i, RegisteredDataTableRendererContribution as $n, RegisteredPlaceholderContribution as $r, WorkbenchTerminalSessionError as $t, createWorkbench as A, WorkbenchCommandPaletteController as Ai, workbenchViewIdContextKey as An, NavigationTreeContribution as Ar, WorkbenchPlaceholderRegistry as At, WorkbenchSnapshot as B, WorkbenchBreadcrumbController as Bi, FileRendererRefreshOrigin as Bn, TreeQueryContext as Br, WorkbenchModePlacementRegistry as Bt, isWorkbenchModePanelAvailable as C, NavigationParser as Ci, RegisteredWorkbenchView as Cn, ControlsApplyInput as Cr, PreferenceSchemaContribution as Ct, WorkbenchModeAddablePanelContext as D, NavigationTargetCompound as Di, WorkbenchViewRegistry as Dn, ControlsResetInput as Dr, WorkbenchShellPlacementContribution as Dt, WorkbenchModeAddablePanel as E, NavigationTargetCommand as Ei, WorkbenchViewContribution as En, ControlsRendererLayout as Er, PreferenceValue as Et, WorkbenchModuleContribution as F, CommandParamOption as Fi, KanbanRendererContribution as Fn, TreeContext as Fr, WorkbenchNotification as Ft, ThemePreferenceOption as G, ResourceProvider as Gi, DataTableRendererColumnStat as Gn, WorkbenchPanelRenderInput as Gr, getKeybindingSteps as Gt, ThemeRegistry as H, ResourceBrowseEntry as Hi, DataTableRendererBadgePalette as Hn, TreeRendererPersistenceAdapter as Hr, Keybinding as Ht, WorkbenchModuleContributionContext as I, CommandParamSchema as Ii, KanbanRendererQueryState as In, TreeMoveEndpoint as Ir, WorkbenchNotificationAction as It, FileIconThemeFont as J, createWorkbenchResourceContextValues as Ji, DataTableRendererQueryResult as Jn, MenuRegistry as Jr, CommandPaletteResourceQueryContext as Jt, ThemePreferenceTokens as K, ResourceRef$1 as Ki, DataTableRendererContribution as Kn, MenuItem as Kr, CommandPaletteResourceProvider as Kt, WorkbenchPagePersistenceScope as L, CommandRegistry as Li, FileRendererContent as Ln, TreeMovePolicy as Lr, WorkbenchNotificationEvent as Lt, WorkbenchCoreContributionContext as M, Command as Mi, RendererReadRegistry as Mn, NavigationTreeRegistry as Mr, WorkbenchOverlayRegistry as Mt, WorkbenchHost as N, CommandHandler as Ni, RendererReadRequest as Nn, NavigationTreeSlot as Nr, NotificationRegistry as Nt, WorkbenchModeContribution as O, NavigationTargetItem as Oi, WorkbenchViewRegistryStoreState as On, ControlsUpdateValueInput as Or, WorkbenchShellPlacementRegistry as Ot, WorkbenchModuleContext as P, CommandParamDescriptor as Pi, createRendererReadRegistry as Pn, TreeAction as Pr, RegisteredWorkbenchNotification as Pt, WorkbenchStatusSetContribution as Q, workbenchResourceMetadataContextKey as Qi, DataTableRendererThemeColor as Qn, LayoutPersistenceAdapter as Qr, WorkbenchTerminalSessionAdapter as Qt, WorkbenchPagePersistenceScopeInput as R, WorkbenchCommandExecutionContext as Ri, FileRendererContribution as Rn, TreeNode as Rr, WorkbenchNotificationLevel as Rt, getWorkbenchModePanelForRegion as S, NavigationDispatcherContext as Si, WorkbenchViewMenuRegistry as Sn, ViewMode as Sr, PreferenceRegistry as St, WorkbenchModeActivationResult as T, NavigationTarget$1 as Ti, WorkbenchViewBody as Tn, ControlsRendererContribution as Tr, PreferenceScopeRef as Tt, ThemePreference as U, ResourceKindContribution as Ui, DataTableRendererColumn as Un, TreeRendererState as Ur, KeybindingRegistry as Ut, createWorkbenchInput as V, WorkbenchBreadcrumbItem as Vi, FileRendererSaveResult as Vn, TreeRendererContribution as Vr, WorkbenchOwnedPlacementItem as Vt, ThemePreferenceMode as W, ResourceListContext as Wi, DataTableRendererColumnRenderer as Wn, TreeViewSection as Wr, KeybindingSequence as Wt, WorkbenchStatusRegistry as X, getWorkbenchSelectionResourceKeys as Xi, DataTableRendererRowAction as Xn, WorkbenchFocusController as Xr, CommandPaletteResourceResult as Xt, FileIconThemePreferenceOption as Y, createWorkbenchSelectionResourceMetadata as Yi, DataTableRendererRow as Yn, RegisteredMenuItem as Yr, CommandPaletteResourceRegistry as Yt, WorkbenchStatusRegistryState as Z, workbenchResourceIdContextKey as Zi, DataTableRendererSelectionAction as Zn, WorkbenchFocusRegionId as Zr, WorkbenchTerminalController as Zt, workbenchTopHeaderTrailingMenuPath as _, WorkbenchPanelMenuSide as _i, WorkbenchPageLocationPersistence as _n, KanbanRendererRow as _r, SettingsScope as _t, StandardResourceIcon as a, WorkbenchViewHierarchyNode as aa, WorkbenchPanelTab as ai, WorkbenchTerminalSessionStatus as an, BoardColumnAction as ar, WorkbenchStatusBarRegistry as at, defaultPageResourceCodec as b, workbenchPanelRegions as bi, WorkbenchPlacementPresentation as bn, KanbanRendererViewsSource as br, PreferencePersistenceAdapter as bt, dockedWorkbenchRegions as c, ContributionMetadata as ca, WorkbenchTabAction as ci, WorkbenchShellOpenRegion as cn, CollectionViewsProvider as cr, createStatusBarRegistry as ct, headerTrailingMenuPath as d, ContextKeyService as da, WorkbenchTabPosition as di, WorkbenchPanelMenuStatePersistenceAdapter as dn, EnumOptions as dr, SettingsAction as dt, workbenchResourceTypeContextKey as ea, RegisteredWidgetContribution as ei, WorkbenchTerminalSessionExit as en, AttributeDescriptor as er, WorkflowStatusAction as et, resourceContextMenuPath as f, ContextKeyValue as fa, WorkbenchTabRetention as fi, PersistedWorkbenchPageLocation as fn, EnumOptionsSource as fr, SettingsCollectionGroupBy as ft, workbenchTopHeaderLeadingMenuPath as g, WorkbenchPanelMenuRegion as gi, WorkbenchPageLocationDiagnostic as gn, KanbanRendererCreateSubmission as gr, SettingsRegistry as gt, workbenchRegionTabLeadingMenuPath as h, WorkbenchStore as ha, WorkbenchWidgetTab as hi, WorkbenchPageLocationController as hn, KanbanRendererCreateRowConfig as hr, SettingsPanelPreference as ht, rendererReadKey as i, WorkbenchHierarchyNode as ia, WorkbenchPanelMountStrategy as ii, WorkbenchTerminalSessionSink as in, AttributesSource as ir, WorkbenchStatusBarPosition as it, WorkbenchCore as j, WorkbenchCommandPaletteOpenInput as ji, RendererReadBinding as jn, NavigationTreeOwner as jr, WorkbenchOverlayContribution as jt, WorkbenchModeRegistry as k, NavigationTargetPanel$1 as ki, createViewRegistry as kn, NavigationTreeContext as kr, WorkbenchPlaceholderContribution as kt, getNavigationTargetKey as l, ContributionSource as la, WorkbenchTabMenuGroup as li, WorkbenchShellRegionState as ln, CollectionViewsSource as lr, CollectionSettingsPanel as lt, workbenchRegionTabAddMenuPath as m, Disposable as ma, WorkbenchWidgetPlacement as mi, WorkbenchPageLocationBrowser as mn, KanbanRendererCreateFieldType as mr, SettingsPanelContribution as mt, runUserAction as n, ResourceHierarchyCycle as na, WorkbenchLayout as ni, WorkbenchTerminalSessionOpener as nn, AttributeKind as nr, WorkbenchStatusBarItem as nt, standardResourceIcons as o, isWorkbenchViewHierarchyNode as oa, WorkbenchRegionSize as oi, WorkbenchTerminalState as on, BoardColumnConfig as or, WorkbenchStatusBarRegistryState as ot, workbenchCommandPaletteMenuPath as p, matchesContextExpression as pa, WorkbenchTabSnapshot as pi, WorkbenchPageBrowserEntry as pn, KanbanRendererCreateField as pr, SettingsPanelBase as pt, FileIconThemeRegistry as q, ResourceRegistry as qi, DataTableRendererQueryContext as qn, MenuPath as qr, CommandPaletteResourceProviderResult as qt, settleReadBatch as r, ResourceHierarchyProvider as ra, WorkbenchPanelInstance as ri, WorkbenchTerminalSessionRequest as rn, AttributeType as rr, WorkbenchStatusBarPersistenceAdapter as rt, DockedWorkbenchRegion$1 as s, resourceHierarchyCycleCode as sa, WorkbenchSidePanelMode as si, WorkbenchShellController as sn, CollectionSavedView as sr, WorkbenchStatusBarSlot as st, batchWorkbenchChanges as t, workbenchSelectionResourceKeyMetadataKey as ta, WorkbenchCommandTarget as ti, WorkbenchTerminalSessionModel as tn, AttributeDisplayDescriptor as tr, createStatusRegistry as tt, headerLeadingMenuPath as u, ContextKeyScope as ua, WorkbenchTabMenuRow as ui, WorkbenchSidePanelPresentation as un, EnumOption as ur, SchemaSettingsPanel as ut, AnchorId as v, WorkbenchPanelRegion as vi, WorkbenchPageNavigationResult as vn, KanbanRendererSettings as vr, SettingsSectionContribution as vt, WorkbenchModeActivationContext as w, NavigationRegistry as wi, WorkbenchReactViewBody as wn, ControlsQueryResult$1 as wr, PreferenceScope as wt, createLevelNavigation as x, workbenchRegions as xi, WorkbenchViewMenuContribution as xn, ResourceContextAction as xr, PreferencePropertySchema as xt, resolveAnchorRegion as y, WorkbenchRegion as yi, WorkbenchPageContribution as yn, KanbanRendererViewsProvider as yr, ViewSettingsPanel as yt, WorkbenchPersistenceAdapter as z, WorkbenchCommandExecutionError as zi, FileRendererRefreshEnvelope as zn, TreeNodeInlineInput as zr, WorkbenchModePlacementContribution as zt };
|
|
2459
2551
|
export {};
|