@silo-code/sdk 0.31.0 → 0.32.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/ActivityGlyph.d.ts +25 -0
- package/dist/ActivityGlyph.d.ts.map +1 -0
- package/dist/ActivityGlyph.js +25 -0
- package/dist/ActivityGlyph.js.map +1 -0
- package/dist/IconButton.d.ts +23 -6
- package/dist/IconButton.d.ts.map +1 -1
- package/dist/IconButton.js +14 -5
- package/dist/IconButton.js.map +1 -1
- package/dist/activity.d.ts +36 -0
- package/dist/activity.d.ts.map +1 -0
- package/dist/activity.js +33 -0
- package/dist/activity.js.map +1 -0
- package/dist/editor-service.d.ts +5 -1
- package/dist/editor-service.d.ts.map +1 -1
- package/dist/icon-button-classes.d.ts +10 -2
- package/dist/icon-button-classes.d.ts.map +1 -1
- package/dist/icon-button-classes.js +9 -5
- package/dist/icon-button-classes.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/phosphor-icon.d.ts +15 -0
- package/dist/phosphor-icon.d.ts.map +1 -0
- package/dist/phosphor-icon.js +2 -0
- package/dist/phosphor-icon.js.map +1 -0
- package/dist/tab-adornment.d.ts +193 -0
- package/dist/tab-adornment.d.ts.map +1 -0
- package/dist/tab-adornment.js +2 -0
- package/dist/tab-adornment.js.map +1 -0
- package/dist/terminal-service.d.ts +18 -35
- package/dist/terminal-service.d.ts.map +1 -1
- package/dist/toolbar-items.d.ts +171 -0
- package/dist/toolbar-items.d.ts.map +1 -0
- package/dist/toolbar-items.js +2 -0
- package/dist/toolbar-items.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workspace-service.d.ts +66 -45
- package/dist/workspace-service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ActivityGlyph.tsx +43 -0
- package/src/IconButton.tsx +28 -6
- package/src/activity.test.ts +35 -0
- package/src/activity.ts +57 -0
- package/src/editor-service.ts +5 -1
- package/src/icon-button-classes.test.ts +10 -0
- package/src/icon-button-classes.ts +18 -5
- package/src/index.ts +32 -1
- package/src/phosphor-icon.ts +14 -0
- package/src/tab-adornment.ts +208 -0
- package/src/terminal-service.ts +21 -35
- package/src/toolbar-items.ts +190 -0
- package/src/types.ts +17 -0
- package/src/workspace-service.ts +72 -45
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-adornment.d.ts","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-adornment.js","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
1
|
import type { Disposable } from "./types.js";
|
|
3
2
|
import type { TerminalKind, TerminalRecord } from "./domain-types.js";
|
|
3
|
+
import type { TabAdornmentMethods, TabIndicatorContribution } from "./tab-adornment.js";
|
|
4
4
|
/**
|
|
5
5
|
* A parsed OSC (Operating System Command) escape sequence emitted by a
|
|
6
6
|
* terminal program. Delivered by {@link TerminalService.subscribeOsc}.
|
|
@@ -22,31 +22,17 @@ export interface OscEvent {
|
|
|
22
22
|
}
|
|
23
23
|
export type { TerminalKind, TerminalRecord } from "./domain-types.js";
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* @deprecated Prefer {@link TerminalService.setIndicator} /
|
|
26
|
+
* {@link TerminalService.bindIndicator}. Alias for a trailing indicator
|
|
27
|
+
* contribution (no `id` — the provider id supplies it).
|
|
28
28
|
*
|
|
29
29
|
* @category Consumer Services
|
|
30
30
|
* @public
|
|
31
31
|
*/
|
|
32
|
-
export
|
|
33
|
-
/**
|
|
34
|
-
* Small React node rendered as a decoration badge on the tab (≤16 px).
|
|
35
|
-
* The extension supplies the shape; the host applies `color` via a CSS
|
|
36
|
-
* data attribute mapped to design tokens.
|
|
37
|
-
*/
|
|
38
|
-
icon: React.ReactNode;
|
|
39
|
-
/** Tooltip shown when hovering the decoration icon. */
|
|
40
|
-
tooltip?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Semantic color applied to the icon element. The host maps this to the
|
|
43
|
-
* matching `--silo-color-*` design token so themes control the exact shade.
|
|
44
|
-
*/
|
|
45
|
-
color?: "accent" | "warn" | "ok" | "error" | "muted";
|
|
46
|
-
}
|
|
32
|
+
export type TerminalTabDecoration = TabIndicatorContribution;
|
|
47
33
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
34
|
+
* @deprecated Prefer {@link TerminalService.bindIndicator}. Terminal-only
|
|
35
|
+
* trailing-indicator provider kept as a shim over the adornment registry.
|
|
50
36
|
*
|
|
51
37
|
* @category Consumer Services
|
|
52
38
|
* @public
|
|
@@ -56,8 +42,7 @@ export interface TerminalTabDecorationProvider {
|
|
|
56
42
|
id: string;
|
|
57
43
|
/**
|
|
58
44
|
* Called synchronously for each terminal tab during render. Return `null`
|
|
59
|
-
* to contribute nothing for this terminal.
|
|
60
|
-
* registered, the first non-null result wins.
|
|
45
|
+
* to contribute nothing for this terminal.
|
|
61
46
|
*/
|
|
62
47
|
provide(terminalId: string): TerminalTabDecoration | null;
|
|
63
48
|
}
|
|
@@ -85,10 +70,13 @@ export interface CreateTerminalInput {
|
|
|
85
70
|
* deleting the workspace. The tab itself is rendered by the core dock from the
|
|
86
71
|
* workspace's terminal records.
|
|
87
72
|
*
|
|
73
|
+
* Tab chrome adornments (`setIcon` / `setIndicator` / …) take a **terminal
|
|
74
|
+
* session id** as the target — see {@link TabAdornmentMethods}.
|
|
75
|
+
*
|
|
88
76
|
* @category Consumer Services
|
|
89
77
|
* @public
|
|
90
78
|
*/
|
|
91
|
-
export interface TerminalService {
|
|
79
|
+
export interface TerminalService extends TabAdornmentMethods {
|
|
92
80
|
/**
|
|
93
81
|
* Open a new terminal in a workspace (defaults to the active one). Returns the
|
|
94
82
|
* created {@link TerminalRecord}; the PTY session spawns lazily when its tab
|
|
@@ -144,26 +132,21 @@ export interface TerminalService {
|
|
|
144
132
|
*/
|
|
145
133
|
focus(terminalId: string): void;
|
|
146
134
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* providers are not consulted. Returns a {@link Disposable} that unregisters
|
|
150
|
-
* the provider.
|
|
135
|
+
* @deprecated Prefer {@link TerminalService.bindIndicator}. Thin shim that
|
|
136
|
+
* registers a trailing-indicator binder for terminal tabs only.
|
|
151
137
|
*/
|
|
152
138
|
registerTabDecoration(provider: TerminalTabDecorationProvider): Disposable;
|
|
153
139
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
140
|
+
* @deprecated Prefer {@link TerminalService.getIndicators}. Returns the first
|
|
141
|
+
* trailing indicator for a terminal tab, or `null`.
|
|
156
142
|
*/
|
|
157
143
|
getTabDecoration(terminalId: string): TerminalTabDecoration | null;
|
|
158
144
|
/**
|
|
159
|
-
*
|
|
160
|
-
* via {@link TerminalService.subscribeTabDecorations}, causing terminal tabs
|
|
161
|
-
* to re-query providers and re-render their decoration.
|
|
145
|
+
* @deprecated Prefer {@link TerminalService.invalidateTabAdornments}.
|
|
162
146
|
*/
|
|
163
147
|
invalidateTabDecorations(): void;
|
|
164
148
|
/**
|
|
165
|
-
*
|
|
166
|
-
* that cancels the subscription.
|
|
149
|
+
* @deprecated Prefer {@link TerminalService.subscribeTabAdornments}.
|
|
167
150
|
*/
|
|
168
151
|
subscribeTabDecorations(listener: () => void): Disposable;
|
|
169
152
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,cAAc,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvE;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,UAAU,CAAC;IAE3E;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,wBAAwB,IAAI,IAAI,CAAC;IAEjC;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GACjC,UAAU,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9B,UAAU,CAAC;IAEd;;;;;;OAMG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,UAAU,CAAC;CAC5E"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import type { ContextKeys } from "./context-keys.js";
|
|
2
|
+
import type { PhosphorIconName } from "./phosphor-icon.js";
|
|
3
|
+
import type { MenuEntry } from "./ui-service.js";
|
|
4
|
+
/**
|
|
5
|
+
* Built-in CenterDock surfaces that accept
|
|
6
|
+
* {@link ToolbarItemContribution}s. One surface per registration.
|
|
7
|
+
*
|
|
8
|
+
* @category Registration
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type ToolbarSurface = "editor" | "terminal";
|
|
12
|
+
/**
|
|
13
|
+
* The typed target each {@link ToolbarSurface} passes to an invoked command
|
|
14
|
+
* and to `when` / `checked` / {@link ToolbarMenuItemContribution.menu} builders.
|
|
15
|
+
*
|
|
16
|
+
* @category Registration
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface ToolbarItemContext {
|
|
20
|
+
editor: {
|
|
21
|
+
editorId: string;
|
|
22
|
+
};
|
|
23
|
+
terminal: {
|
|
24
|
+
terminalId: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Shared fields for interactive toolbar contributions. Render chrome is driven
|
|
29
|
+
* by {@link ToolbarItemFields.icon | icon} + {@link ToolbarItemFields.title | title}:
|
|
30
|
+
*
|
|
31
|
+
* | icon | title | Control |
|
|
32
|
+
* | ---- | ----- | -------------- |
|
|
33
|
+
* | ✓ | — | icon-only |
|
|
34
|
+
* | — | ✓ | text-only |
|
|
35
|
+
* | ✓ | ✓ | icon + text |
|
|
36
|
+
*
|
|
37
|
+
* Icons are Phosphor export names ({@link PhosphorIconName}); the host
|
|
38
|
+
* resolves and paints them bold at 1em so they match local-web-viewer and
|
|
39
|
+
* track UI zoom. Pass a React node is no longer supported — use the name.
|
|
40
|
+
*
|
|
41
|
+
* @category Registration
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export interface ToolbarItemFields<S extends ToolbarSurface = ToolbarSurface> {
|
|
45
|
+
/** Unique id for this contribution. */
|
|
46
|
+
id: string;
|
|
47
|
+
/** Which toolbar to contribute to. */
|
|
48
|
+
surface: S;
|
|
49
|
+
/**
|
|
50
|
+
* Leading glyph as a {@link PhosphorIconName} (e.g. `"Flag"`). Omit for a
|
|
51
|
+
* text-only control (requires {@link ToolbarItemFields.title | title}).
|
|
52
|
+
*/
|
|
53
|
+
icon?: PhosphorIconName;
|
|
54
|
+
/**
|
|
55
|
+
* Visible label painted in the control. Omit for icon-only. When both
|
|
56
|
+
* `icon` and `title` are set, the host renders icon + text.
|
|
57
|
+
*/
|
|
58
|
+
title?: string;
|
|
59
|
+
/** Hover tooltip (falls back to title / label / command label). */
|
|
60
|
+
tooltip?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Accessible name (falls back to title / the command's label). Always used
|
|
63
|
+
* for `aria-label`; not painted unless {@link ToolbarItemFields.title | title}
|
|
64
|
+
* is also set.
|
|
65
|
+
*/
|
|
66
|
+
label?: string;
|
|
67
|
+
/** Ordering within the trailing cluster; lower sorts first. */
|
|
68
|
+
order?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Visibility predicate. Returning false hides the item for this target.
|
|
71
|
+
*/
|
|
72
|
+
when?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Toggle-state predicate for command items. When provided, the host renders
|
|
75
|
+
* the control in a pressed/checked visual state whenever this returns true.
|
|
76
|
+
* Menu items put checks on individual {@link MenuEntry} rows instead.
|
|
77
|
+
*/
|
|
78
|
+
checked?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Command-backed toolbar control — click runs {@link ToolbarCommandItemContribution.command}.
|
|
82
|
+
*
|
|
83
|
+
* @category Registration
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
export interface ToolbarCommandItemContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarItemFields<S> {
|
|
87
|
+
/** The command to run; receives {@link ToolbarItemContext}[S] as its first arg. */
|
|
88
|
+
command: string;
|
|
89
|
+
menu?: undefined;
|
|
90
|
+
type?: undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Menu-backed toolbar control — click opens a host dropdown via
|
|
94
|
+
* {@link UiService.showMenu} with entries from
|
|
95
|
+
* {@link ToolbarMenuItemContribution.menu}.
|
|
96
|
+
*
|
|
97
|
+
* @category Registration
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export interface ToolbarMenuItemContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarItemFields<S> {
|
|
101
|
+
/**
|
|
102
|
+
* Build the dropdown for this target. May be sync or async. The host
|
|
103
|
+
* anchors the menu on the toolbar control (`align: "end"`, toggle on).
|
|
104
|
+
*/
|
|
105
|
+
menu: (target: ToolbarItemContext[S]) => MenuEntry[] | Promise<MenuEntry[]>;
|
|
106
|
+
command?: undefined;
|
|
107
|
+
type?: undefined;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Shared placement fields for non-interactive toolbar chrome
|
|
111
|
+
* ({@link ToolbarSeparatorContribution} / {@link ToolbarSpacerContribution}).
|
|
112
|
+
*
|
|
113
|
+
* @category Registration
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
export interface ToolbarChromeFields<S extends ToolbarSurface = ToolbarSurface> {
|
|
117
|
+
id: string;
|
|
118
|
+
surface: S;
|
|
119
|
+
order?: number;
|
|
120
|
+
when?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* A light vertical rule between toolbar controls. Softer than the Text |
|
|
124
|
+
* Preview pipe — host paints it with a low-opacity mix of toolbar text, not
|
|
125
|
+
* `--silo-color-toolbar-text-disabled`.
|
|
126
|
+
*
|
|
127
|
+
* @category Registration
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
export interface ToolbarSeparatorContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarChromeFields<S> {
|
|
131
|
+
type: "separator";
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Gap size for {@link ToolbarSpacerContribution}. Maps to em of the toolbar
|
|
135
|
+
* font (`sm` 0.25em / `md` 0.5em / `lg` 0.75em).
|
|
136
|
+
*
|
|
137
|
+
* @category Registration
|
|
138
|
+
* @public
|
|
139
|
+
*/
|
|
140
|
+
export type ToolbarSpacerSize = "sm" | "md" | "lg";
|
|
141
|
+
/**
|
|
142
|
+
* An empty gap between toolbar controls (no rule). Use to group without a
|
|
143
|
+
* hard split; prefer {@link ToolbarSeparatorContribution} when a hairline helps.
|
|
144
|
+
*
|
|
145
|
+
* @category Registration
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
export interface ToolbarSpacerContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarChromeFields<S> {
|
|
149
|
+
type: "spacer";
|
|
150
|
+
/** Default `"md"`. */
|
|
151
|
+
size?: ToolbarSpacerSize;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Adds a control or chrome element to the trailing cluster of a built-in
|
|
155
|
+
* editor or terminal toolbar. Register via
|
|
156
|
+
* {@link ExtensionContext.registerToolbarItem}.
|
|
157
|
+
*
|
|
158
|
+
* Interactive items set exactly one of
|
|
159
|
+
* {@link ToolbarCommandItemContribution.command | command} or
|
|
160
|
+
* {@link ToolbarMenuItemContribution.menu | menu}. Separators and spacers use
|
|
161
|
+
* `type: "separator" | "spacer"`.
|
|
162
|
+
*
|
|
163
|
+
* Contributions are independent of context-menu items — an extension may
|
|
164
|
+
* register either, both, or neither. Hosts only render items while that
|
|
165
|
+
* surface's breadcrumbs setting is on.
|
|
166
|
+
*
|
|
167
|
+
* @category Registration
|
|
168
|
+
* @public
|
|
169
|
+
*/
|
|
170
|
+
export type ToolbarItemContribution<S extends ToolbarSurface = ToolbarSurface> = ToolbarCommandItemContribution<S> | ToolbarMenuItemContribution<S> | ToolbarSeparatorContribution<S> | ToolbarSpacerContribution<S>;
|
|
171
|
+
//# sourceMappingURL=toolbar-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar-items.d.ts","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar-items.js","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ import type { WebviewService } from "./webview-service.js";
|
|
|
44
44
|
import type { SystemService } from "./system-service.js";
|
|
45
45
|
import type { LogService } from "./output-service.js";
|
|
46
46
|
import type { ExtensionStorage, ExtensionStorageScopes } from "./extension-storage.js";
|
|
47
|
+
import type { ToolbarItemContribution, ToolbarSurface } from "./toolbar-items.js";
|
|
47
48
|
/**
|
|
48
49
|
* The teardown handle returned by every `register*` call on
|
|
49
50
|
* {@link ExtensionContext}. Calling {@link Disposable.dispose | dispose}
|
|
@@ -614,6 +615,20 @@ export interface ExtensionContext {
|
|
|
614
615
|
* surface's {@link MenuContext} target as its first argument.
|
|
615
616
|
*/
|
|
616
617
|
registerContextMenuItem<S extends MenuSurface>(item: ContextMenuContribution<S>): Disposable;
|
|
618
|
+
/**
|
|
619
|
+
* Register a {@link ToolbarItemContribution} (icon-only, text-only,
|
|
620
|
+
* icon+text, or dropdown) in the trailing cluster of an editor or terminal
|
|
621
|
+
* toolbar. Independent of {@link ExtensionContext.registerContextMenuItem}
|
|
622
|
+
* — register either, both, or neither. Hosts only show items while that
|
|
623
|
+
* surface's breadcrumbs setting is on. See
|
|
624
|
+
* {@link ExtensionContext.invalidateToolbarItems}.
|
|
625
|
+
*/
|
|
626
|
+
registerToolbarItem<S extends ToolbarSurface>(item: ToolbarItemContribution<S>): Disposable;
|
|
627
|
+
/**
|
|
628
|
+
* Signal that toolbar-item `when` / `checked` data changed. Causes editor
|
|
629
|
+
* and terminal toolbars to re-query contributions and re-render.
|
|
630
|
+
*/
|
|
631
|
+
invalidateToolbarItems(): void;
|
|
617
632
|
/** Register a {@link Keybinding} (bind a shortcut to a command). */
|
|
618
633
|
registerKeybinding(binding: Keybinding): Disposable;
|
|
619
634
|
/** Register a {@link SidePanel} (a left/right column panel). */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Disposable } from "./types.js";
|
|
2
2
|
import type { Workspace } from "./domain-types.js";
|
|
3
|
+
import type { Activity } from "./activity.js";
|
|
3
4
|
export type { Workspace, TerminalRecord } from "./domain-types.js";
|
|
4
5
|
/**
|
|
5
6
|
* A single status row contributed by a {@link WorkspaceStatusProvider}.
|
|
@@ -11,8 +12,11 @@ export type { Workspace, TerminalRecord } from "./domain-types.js";
|
|
|
11
12
|
export interface WorkspaceStatusRow {
|
|
12
13
|
/** Stable key unique within this provider's results; used for reconciliation. */
|
|
13
14
|
id: string;
|
|
14
|
-
/**
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Host-owned {@link Activity} glyph to the left of the label. Omit for the
|
|
17
|
+
* neutral gray fallback (same as today’s omitted `status`). See ADR 0030.
|
|
18
|
+
*/
|
|
19
|
+
activity?: Activity;
|
|
16
20
|
/** Short label — the host truncates with an ellipsis when space is tight. */
|
|
17
21
|
label: string;
|
|
18
22
|
/**
|
|
@@ -66,21 +70,22 @@ export interface WorkspaceBadge {
|
|
|
66
70
|
/** Short text rendered inside the badge. */
|
|
67
71
|
text: string;
|
|
68
72
|
/**
|
|
69
|
-
*
|
|
70
|
-
* muted
|
|
73
|
+
* Solid chip fill color. Text paints white on top for contrast. Falls back
|
|
74
|
+
* to a muted solid background + hi text when omitted.
|
|
71
75
|
*/
|
|
72
76
|
color?: string;
|
|
73
77
|
}
|
|
74
78
|
/**
|
|
75
|
-
* A badge
|
|
76
|
-
* workspace name in the Workspaces side panel.
|
|
77
|
-
* {@link WorkspaceService.registerBadge}
|
|
79
|
+
* A badge binder that contributes {@link WorkspaceBadge}s next to the
|
|
80
|
+
* workspace name in the Workspaces side panel. Prefer
|
|
81
|
+
* {@link WorkspaceService.bindBadge}; {@link WorkspaceService.registerBadge}
|
|
82
|
+
* remains as a deprecated alias.
|
|
78
83
|
*
|
|
79
84
|
* @category Consumer Services
|
|
80
85
|
* @public
|
|
81
86
|
*/
|
|
82
87
|
export interface WorkspaceBadgeProvider {
|
|
83
|
-
/** Unique id for this
|
|
88
|
+
/** Unique id for this binder — conventionally `"<extension-id>.badges"`. */
|
|
84
89
|
id: string;
|
|
85
90
|
/**
|
|
86
91
|
* Called synchronously for each workspace during render. Return an empty
|
|
@@ -89,15 +94,19 @@ export interface WorkspaceBadgeProvider {
|
|
|
89
94
|
provide(workspaceId: string): WorkspaceBadge[];
|
|
90
95
|
}
|
|
91
96
|
/**
|
|
92
|
-
* A status
|
|
93
|
-
* workspace rows in the Workspaces side panel.
|
|
94
|
-
* {@link WorkspaceService.registerStatus}
|
|
97
|
+
* A status binder that contributes {@link WorkspaceStatusRow}s to
|
|
98
|
+
* workspace rows in the Workspaces side panel. Prefer
|
|
99
|
+
* {@link WorkspaceService.bindStatus}; {@link WorkspaceService.registerStatus}
|
|
100
|
+
* remains as a deprecated alias.
|
|
101
|
+
*
|
|
102
|
+
* Unlike CenterDock tab `bindIndicator` (single adornment | null), status
|
|
103
|
+
* and badge binders return an **array** — one projection may emit many rows.
|
|
95
104
|
*
|
|
96
105
|
* @category Consumer Services
|
|
97
106
|
* @public
|
|
98
107
|
*/
|
|
99
108
|
export interface WorkspaceStatusProvider {
|
|
100
|
-
/** Unique id for this
|
|
109
|
+
/** Unique id for this binder — conventionally `"<extension-id>.status"`. */
|
|
101
110
|
id: string;
|
|
102
111
|
/**
|
|
103
112
|
* Called synchronously for each workspace during render. Return an empty
|
|
@@ -246,47 +255,56 @@ export interface WorkspaceService {
|
|
|
246
255
|
*/
|
|
247
256
|
delete(id: string): Promise<void>;
|
|
248
257
|
/**
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
|
|
252
|
-
|
|
258
|
+
* Imperatively adorn a workspace row with a status line. `row.id` is the
|
|
259
|
+
* adornment key for {@link WorkspaceService.clearStatus}.
|
|
260
|
+
*/
|
|
261
|
+
setStatus(workspaceId: string, row: WorkspaceStatusRow): void;
|
|
262
|
+
/** Remove an imperative status row previously set via {@link WorkspaceService.setStatus}. */
|
|
263
|
+
clearStatus(workspaceId: string, rowId: string): void;
|
|
264
|
+
/**
|
|
265
|
+
* Keep a status projection in sync for every workspace. `provide` returns
|
|
266
|
+
* an array of rows (may be empty). Prefer this over repeatedly calling
|
|
267
|
+
* {@link WorkspaceService.setStatus}.
|
|
253
268
|
*
|
|
254
269
|
* @example
|
|
255
270
|
* ```ts
|
|
256
271
|
* ctx.subscriptions.push(
|
|
257
|
-
* ctx.workspaces.
|
|
272
|
+
* ctx.workspaces.bindStatus({
|
|
258
273
|
* id: "my-ext.status",
|
|
259
274
|
* provide(workspaceId) {
|
|
260
275
|
* const running = getRunningTasks(workspaceId);
|
|
261
|
-
* return running.map(t => ({ id: t.id,
|
|
276
|
+
* return running.map(t => ({ id: t.id, activity: "working", label: t.name, startedAt: t.startedAt }));
|
|
262
277
|
* },
|
|
263
278
|
* }),
|
|
264
|
-
* ctx.workspaces.subscribeStatus(() => ctx.workspaces.invalidateStatus()),
|
|
265
279
|
* );
|
|
266
280
|
* ```
|
|
267
281
|
*/
|
|
282
|
+
bindStatus(binder: WorkspaceStatusProvider): Disposable;
|
|
283
|
+
/**
|
|
284
|
+
* @deprecated Prefer {@link WorkspaceService.bindStatus}.
|
|
285
|
+
*/
|
|
268
286
|
registerStatus(provider: WorkspaceStatusProvider): Disposable;
|
|
269
287
|
/**
|
|
270
|
-
* Concatenate all
|
|
271
|
-
* registration order). Called synchronously during panel render —
|
|
272
|
-
* must be fast and side-effect-free.
|
|
288
|
+
* Concatenate imperative rows and all binders' rows for one workspace (in
|
|
289
|
+
* binder registration order). Called synchronously during panel render —
|
|
290
|
+
* binders must be fast and side-effect-free.
|
|
273
291
|
*/
|
|
274
292
|
getStatus(workspaceId: string): WorkspaceStatusRow[];
|
|
275
293
|
/**
|
|
276
|
-
* Signal that
|
|
294
|
+
* Signal that binder data has changed. Fires all listeners registered
|
|
277
295
|
* via {@link WorkspaceService.subscribeStatus}, causing the Workspaces
|
|
278
|
-
* panel to re-query
|
|
296
|
+
* panel to re-query binders and re-render the status rows.
|
|
279
297
|
*
|
|
280
298
|
* Call this after any mutation to the state your `provide` function reads.
|
|
299
|
+
* Imperative {@link WorkspaceService.setStatus} / {@link WorkspaceService.clearStatus}
|
|
300
|
+
* already notify listeners.
|
|
281
301
|
*/
|
|
282
302
|
invalidateStatus(): void;
|
|
283
303
|
/**
|
|
284
304
|
* Subscribe to status invalidations. The listener is called whenever
|
|
285
|
-
* {@link WorkspaceService.invalidateStatus} is invoked
|
|
286
|
-
* {@link Disposable} that cancels the
|
|
287
|
-
*
|
|
288
|
-
* The Workspaces panel subscribes internally; extensions may also subscribe
|
|
289
|
-
* to observe invalidations.
|
|
305
|
+
* {@link WorkspaceService.invalidateStatus} is invoked (or imperative
|
|
306
|
+
* set/clear runs). Returns a {@link Disposable} that cancels the
|
|
307
|
+
* subscription.
|
|
290
308
|
*/
|
|
291
309
|
subscribeStatus(listener: () => void): Disposable;
|
|
292
310
|
/**
|
|
@@ -353,15 +371,20 @@ export interface WorkspaceService {
|
|
|
353
371
|
*/
|
|
354
372
|
registerPropertyPage(page: WorkspacePropertyPage): Disposable;
|
|
355
373
|
/**
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
|
|
359
|
-
|
|
374
|
+
* Imperatively adorn a workspace name with a badge. `badge.id` is the
|
|
375
|
+
* adornment key for {@link WorkspaceService.clearBadge}.
|
|
376
|
+
*/
|
|
377
|
+
setBadge(workspaceId: string, badge: WorkspaceBadge): void;
|
|
378
|
+
/** Remove an imperative badge previously set via {@link WorkspaceService.setBadge}. */
|
|
379
|
+
clearBadge(workspaceId: string, badgeId: string): void;
|
|
380
|
+
/**
|
|
381
|
+
* Keep a badge projection in sync for every workspace. `provide` returns
|
|
382
|
+
* an array of badges (may be empty).
|
|
360
383
|
*
|
|
361
384
|
* @example
|
|
362
385
|
* ```ts
|
|
363
386
|
* ctx.subscriptions.push(
|
|
364
|
-
* ctx.workspaces.
|
|
387
|
+
* ctx.workspaces.bindBadge({
|
|
365
388
|
* id: "my-ext.badges",
|
|
366
389
|
* provide(workspaceId) {
|
|
367
390
|
* const status = getStatus(workspaceId);
|
|
@@ -372,25 +395,23 @@ export interface WorkspaceService {
|
|
|
372
395
|
* );
|
|
373
396
|
* ```
|
|
374
397
|
*/
|
|
398
|
+
bindBadge(binder: WorkspaceBadgeProvider): Disposable;
|
|
399
|
+
/**
|
|
400
|
+
* @deprecated Prefer {@link WorkspaceService.bindBadge}.
|
|
401
|
+
*/
|
|
375
402
|
registerBadge(provider: WorkspaceBadgeProvider): Disposable;
|
|
376
403
|
/**
|
|
377
|
-
* Concatenate all
|
|
378
|
-
* registration order).
|
|
379
|
-
* must be fast and side-effect-free.
|
|
404
|
+
* Concatenate imperative badges and all binders' badges for one workspace
|
|
405
|
+
* (in binder registration order).
|
|
380
406
|
*/
|
|
381
407
|
getBadges(workspaceId: string): WorkspaceBadge[];
|
|
382
408
|
/**
|
|
383
|
-
* Signal that badge data has changed.
|
|
384
|
-
*
|
|
385
|
-
* re-query providers and re-render the name row.
|
|
386
|
-
*
|
|
387
|
-
* Call this after any mutation to the state your `provide` function reads.
|
|
409
|
+
* Signal that badge binder data has changed. Imperative set/clear already
|
|
410
|
+
* notify listeners.
|
|
388
411
|
*/
|
|
389
412
|
invalidateBadges(): void;
|
|
390
413
|
/**
|
|
391
|
-
* Subscribe to badge invalidations.
|
|
392
|
-
* {@link WorkspaceService.invalidateBadges} is invoked. Returns a
|
|
393
|
-
* {@link Disposable} that cancels the subscription.
|
|
414
|
+
* Subscribe to badge invalidations.
|
|
394
415
|
*/
|
|
395
416
|
subscribeBadges(listener: () => void): Disposable;
|
|
396
417
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../src/workspace-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../src/workspace-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED