@promptctl/rich-js 0.8.0 → 0.10.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 +68 -1
- package/dist/core/box.d.ts +93 -39
- package/dist/core/box.d.ts.map +1 -1
- package/dist/core/box.js +348 -490
- package/dist/core/box.js.map +1 -1
- package/dist/core/color.d.ts.map +1 -1
- package/dist/core/color.js +22 -8
- package/dist/core/color.js.map +1 -1
- package/dist/core/console.d.ts +2 -4
- package/dist/core/console.d.ts.map +1 -1
- package/dist/core/console.js +35 -24
- package/dist/core/console.js.map +1 -1
- package/dist/core/highlighter.d.ts +2 -1
- package/dist/core/highlighter.d.ts.map +1 -1
- package/dist/core/highlighter.js +28 -6
- package/dist/core/highlighter.js.map +1 -1
- package/dist/{renderables → core}/json.d.ts +8 -3
- package/dist/core/json.d.ts.map +1 -0
- package/dist/{renderables → core}/json.js +7 -2
- package/dist/core/json.js.map +1 -0
- package/dist/core/markup.d.ts +6 -7
- package/dist/core/markup.d.ts.map +1 -1
- package/dist/core/markup.js +124 -32
- package/dist/core/markup.js.map +1 -1
- package/dist/core/pretty.d.ts +56 -21
- package/dist/core/pretty.d.ts.map +1 -1
- package/dist/core/pretty.js +210 -116
- package/dist/core/pretty.js.map +1 -1
- package/dist/core/protocol.d.ts +16 -0
- package/dist/core/protocol.d.ts.map +1 -1
- package/dist/core/protocol.js +13 -0
- package/dist/core/protocol.js.map +1 -1
- package/dist/core/segment.d.ts +5 -0
- package/dist/core/segment.d.ts.map +1 -1
- package/dist/core/segment.js +9 -3
- package/dist/core/segment.js.map +1 -1
- package/dist/core/strip.d.ts +9 -5
- package/dist/core/strip.d.ts.map +1 -1
- package/dist/core/strip.js +39 -41
- package/dist/core/strip.js.map +1 -1
- package/dist/core/style.d.ts +19 -0
- package/dist/core/style.d.ts.map +1 -1
- package/dist/core/style.js +46 -38
- package/dist/core/style.js.map +1 -1
- package/dist/core/text.d.ts +102 -4
- package/dist/core/text.d.ts.map +1 -1
- package/dist/core/text.js +322 -184
- package/dist/core/text.js.map +1 -1
- package/dist/core/wrap.d.ts +42 -0
- package/dist/core/wrap.d.ts.map +1 -0
- package/dist/core/wrap.js +128 -0
- package/dist/core/wrap.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/renderables/markdown.d.ts +1 -1
- package/dist/renderables/markdown.d.ts.map +1 -1
- package/dist/renderables/markdown.js +7 -14
- package/dist/renderables/markdown.js.map +1 -1
- package/dist/renderables/padding.d.ts +1 -1
- package/dist/renderables/padding.d.ts.map +1 -1
- package/dist/renderables/padding.js +5 -11
- package/dist/renderables/padding.js.map +1 -1
- package/dist/renderables/panel.d.ts +4 -4
- package/dist/renderables/panel.d.ts.map +1 -1
- package/dist/renderables/panel.js +39 -39
- package/dist/renderables/panel.js.map +1 -1
- package/dist/renderables/progress.d.ts +3 -3
- package/dist/renderables/progress.d.ts.map +1 -1
- package/dist/renderables/progress.js +11 -9
- package/dist/renderables/progress.js.map +1 -1
- package/dist/renderables/progressBar.d.ts +3 -3
- package/dist/renderables/progressBar.d.ts.map +1 -1
- package/dist/renderables/progressBar.js +9 -15
- package/dist/renderables/progressBar.js.map +1 -1
- package/dist/renderables/prompt.js +1 -1
- package/dist/renderables/prompt.js.map +1 -1
- package/dist/renderables/rule.d.ts +1 -1
- package/dist/renderables/rule.d.ts.map +1 -1
- package/dist/renderables/rule.js +5 -10
- package/dist/renderables/rule.js.map +1 -1
- package/dist/renderables/spinner.d.ts +2 -2
- package/dist/renderables/spinner.d.ts.map +1 -1
- package/dist/renderables/spinner.js +6 -11
- package/dist/renderables/spinner.js.map +1 -1
- package/dist/renderables/status.d.ts.map +1 -1
- package/dist/renderables/status.js +5 -11
- package/dist/renderables/status.js.map +1 -1
- package/dist/renderables/table.d.ts +54 -16
- package/dist/renderables/table.d.ts.map +1 -1
- package/dist/renderables/table.js +239 -99
- package/dist/renderables/table.js.map +1 -1
- package/dist/renderables/traceback.d.ts +1 -1
- package/dist/renderables/traceback.d.ts.map +1 -1
- package/dist/renderables/traceback.js +9 -8
- package/dist/renderables/traceback.js.map +1 -1
- package/dist/renderables/tree.d.ts +2 -2
- package/dist/renderables/tree.d.ts.map +1 -1
- package/dist/renderables/tree.js +16 -22
- package/dist/renderables/tree.js.map +1 -1
- package/dist/template-bindings/helpers.d.ts.map +1 -1
- package/dist/template-bindings/helpers.js +19 -1
- package/dist/template-bindings/helpers.js.map +1 -1
- package/dist/widgets/button.d.ts.map +1 -1
- package/dist/widgets/button.js +4 -5
- package/dist/widgets/button.js.map +1 -1
- package/dist/widgets/checkbox.d.ts.map +1 -1
- package/dist/widgets/checkbox.js +3 -4
- package/dist/widgets/checkbox.js.map +1 -1
- package/dist/widgets/dropdown.d.ts.map +1 -1
- package/dist/widgets/dropdown.js +4 -5
- package/dist/widgets/dropdown.js.map +1 -1
- package/dist/widgets/focus-manager.d.ts +0 -1
- package/dist/widgets/focus-manager.d.ts.map +1 -1
- package/dist/widgets/focus-manager.js +3 -7
- package/dist/widgets/focus-manager.js.map +1 -1
- package/dist/widgets/screen.d.ts.map +1 -1
- package/dist/widgets/screen.js +2 -4
- package/dist/widgets/screen.js.map +1 -1
- package/dist/widgets/slider.d.ts.map +1 -1
- package/dist/widgets/slider.js +7 -8
- package/dist/widgets/slider.js.map +1 -1
- package/dist/widgets/text-input.d.ts.map +1 -1
- package/dist/widgets/text-input.js +5 -6
- package/dist/widgets/text-input.js.map +1 -1
- package/dist/widgets/toggle.d.ts.map +1 -1
- package/dist/widgets/toggle.js +4 -5
- package/dist/widgets/toggle.js.map +1 -1
- package/dist/widgets/widget-base.d.ts +3 -3
- package/dist/widgets/widget-base.d.ts.map +1 -1
- package/dist/widgets/widget-base.js +4 -6
- package/dist/widgets/widget-base.js.map +1 -1
- package/package.json +26 -10
- package/dist/renderables/json.d.ts.map +0 -1
- package/dist/renderables/json.js.map +0 -1
- package/dist/renderables/pretty.d.ts +0 -29
- package/dist/renderables/pretty.d.ts.map +0 -1
- package/dist/renderables/pretty.js +0 -141
- package/dist/renderables/pretty.js.map +0 -1
- package/dist/themes/paletteResolver.d.ts +0 -35
- package/dist/themes/paletteResolver.d.ts.map +0 -1
- package/dist/themes/paletteResolver.js +0 -88
- package/dist/themes/paletteResolver.js.map +0 -1
- package/dist/widgets/host-stream.d.ts +0 -31
- package/dist/widgets/host-stream.d.ts.map +0 -1
- package/dist/widgets/host-stream.js +0 -36
- package/dist/widgets/host-stream.js.map +0 -1
- package/dist/widgets/terminal-host.d.ts +0 -138
- package/dist/widgets/terminal-host.d.ts.map +0 -1
- package/dist/widgets/terminal-host.js +0 -127
- package/dist/widgets/terminal-host.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptctl/rich-js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Rich text and beautiful formatting in the terminal — a TypeScript port of Python's Rich",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
9
|
"exports": {
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
"dist"
|
|
52
53
|
],
|
|
53
54
|
"scripts": {
|
|
55
|
+
"prepublishOnly": "node scripts/verify-release-tag.mjs",
|
|
54
56
|
"build": "tsc",
|
|
55
57
|
"test": "vitest run",
|
|
56
58
|
"test:watch": "vitest",
|
|
@@ -89,20 +91,34 @@
|
|
|
89
91
|
],
|
|
90
92
|
"license": "MIT",
|
|
91
93
|
"engines": {
|
|
92
|
-
"node": "
|
|
94
|
+
"node": ">=20"
|
|
93
95
|
},
|
|
94
96
|
"devDependencies": {
|
|
95
|
-
"@playwright/test": "^1.
|
|
96
|
-
"@
|
|
97
|
+
"@playwright/test": "^1.63.0",
|
|
98
|
+
"@promptctl/go-template-js": "^0.9.0",
|
|
99
|
+
"@types/node": "^26.5.1",
|
|
100
|
+
"@types/semver": "^7.8.0",
|
|
101
|
+
"mobx": "^7.0.3",
|
|
102
|
+
"semver": "^7.8.5",
|
|
97
103
|
"strip-ansi": "^7.2.0",
|
|
98
|
-
"typescript": "^
|
|
99
|
-
"vite": "^
|
|
104
|
+
"typescript": "^6.0.3",
|
|
105
|
+
"vite": "^8.3.0",
|
|
100
106
|
"vitepress": "^1.6.4",
|
|
101
|
-
"vitest": "^
|
|
107
|
+
"vitest": "^5.0.0"
|
|
102
108
|
},
|
|
103
109
|
"dependencies": {
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
110
|
+
"string-width": "^8.2.2"
|
|
111
|
+
},
|
|
112
|
+
"peerDependencies": {
|
|
113
|
+
"@promptctl/go-template-js": "^0.9.0",
|
|
114
|
+
"mobx": "^7.0.3"
|
|
115
|
+
},
|
|
116
|
+
"peerDependenciesMeta": {
|
|
117
|
+
"@promptctl/go-template-js": {
|
|
118
|
+
"optional": true
|
|
119
|
+
},
|
|
120
|
+
"mobx": {
|
|
121
|
+
"optional": true
|
|
122
|
+
}
|
|
107
123
|
}
|
|
108
124
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/renderables/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,cAAe,YAAW,UAAU,EAAE,UAAU;IAC3D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc;IAS5E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc;IA4BpE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAIlD,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAGtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/renderables/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;AAE1C,MAAM,OAAO,cAAc;IAChB,IAAI,CAAW;IAExB,YAAoB,IAAc;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAqB;QACzD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAE5C,mDAAmD;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAY,CAAC;QAC/C,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAa,EAAE,OAAqB;QAClD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;QAEjD,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,CAAC,IAAY,EAAE,KAAc,EAAE,EAAE;gBAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,MAAM,MAAM,GAA4B,EAAE,CAAC;oBAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBACrE,MAAM,CAAC,CAAC,CAAC,GAAI,KAAiC,CAAC,CAAC,CAAC,CAAC;oBACpD,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,CAAC,MAAM,CAAC,OAAsB;QAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,OAAsB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pretty — formats JavaScript data structures with highlighting.
|
|
3
|
-
*/
|
|
4
|
-
import { Segment } from "../core/segment.js";
|
|
5
|
-
import type { Renderable, Measurable, RenderOptions } from "../core/protocol.js";
|
|
6
|
-
export interface PrettyOptions {
|
|
7
|
-
indent?: number;
|
|
8
|
-
expandAll?: boolean;
|
|
9
|
-
maxLength?: number;
|
|
10
|
-
maxString?: number;
|
|
11
|
-
indentGuides?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare class Pretty implements Renderable, Measurable {
|
|
14
|
-
readonly data: unknown;
|
|
15
|
-
readonly indent: number;
|
|
16
|
-
readonly expandAll: boolean;
|
|
17
|
-
readonly maxLength: number | undefined;
|
|
18
|
-
readonly maxString: number | undefined;
|
|
19
|
-
readonly indentGuides: boolean;
|
|
20
|
-
constructor(data: unknown, options?: PrettyOptions);
|
|
21
|
-
render(options: RenderOptions): Iterable<Segment>;
|
|
22
|
-
measure(_options: RenderOptions): {
|
|
23
|
-
minimum: number;
|
|
24
|
-
maximum: number;
|
|
25
|
-
};
|
|
26
|
-
private _format;
|
|
27
|
-
private _addIndentGuides;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=pretty.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pretty.d.ts","sourceRoot":"","sources":["../../src/renderables/pretty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAID,qBAAa,MAAO,YAAW,UAAU,EAAE,UAAU;IACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;gBAEnB,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IASjD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAYlD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAUtE,OAAO,CAAC,OAAO;IA6Ff,OAAO,CAAC,gBAAgB;CAczB"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pretty — formats JavaScript data structures with highlighting.
|
|
3
|
-
*/
|
|
4
|
-
import { cellLen } from "../core/cells.js";
|
|
5
|
-
import { Style } from "../core/style.js";
|
|
6
|
-
import { RichText } from "../core/text.js";
|
|
7
|
-
import { ReprHighlighter } from "../core/highlighter.js";
|
|
8
|
-
const reprHighlighter = new ReprHighlighter();
|
|
9
|
-
export class Pretty {
|
|
10
|
-
data;
|
|
11
|
-
indent;
|
|
12
|
-
expandAll;
|
|
13
|
-
maxLength;
|
|
14
|
-
maxString;
|
|
15
|
-
indentGuides;
|
|
16
|
-
constructor(data, options) {
|
|
17
|
-
this.data = data;
|
|
18
|
-
this.indent = options?.indent ?? 4;
|
|
19
|
-
this.expandAll = options?.expandAll ?? false;
|
|
20
|
-
this.maxLength = options?.maxLength;
|
|
21
|
-
this.maxString = options?.maxString;
|
|
22
|
-
this.indentGuides = options?.indentGuides !== false;
|
|
23
|
-
}
|
|
24
|
-
*render(options) {
|
|
25
|
-
const formatted = this._format(this.data, 0, options.maxWidth);
|
|
26
|
-
const text = new RichText(formatted, { end: "" });
|
|
27
|
-
reprHighlighter.highlight(text);
|
|
28
|
-
if (this.indentGuides) {
|
|
29
|
-
this._addIndentGuides(text);
|
|
30
|
-
}
|
|
31
|
-
yield* text.render(options);
|
|
32
|
-
}
|
|
33
|
-
measure(_options) {
|
|
34
|
-
const formatted = this._format(this.data, 0, _options.maxWidth);
|
|
35
|
-
const lines = formatted.split("\n");
|
|
36
|
-
let max = 0;
|
|
37
|
-
for (const line of lines) {
|
|
38
|
-
max = Math.max(max, cellLen(line));
|
|
39
|
-
}
|
|
40
|
-
return { minimum: 1, maximum: Math.min(max, _options.maxWidth) };
|
|
41
|
-
}
|
|
42
|
-
_format(value, depth, maxWidth) {
|
|
43
|
-
const indentStr = " ".repeat(this.indent * depth);
|
|
44
|
-
const innerIndent = " ".repeat(this.indent * (depth + 1));
|
|
45
|
-
if (value === null)
|
|
46
|
-
return "null";
|
|
47
|
-
if (value === undefined)
|
|
48
|
-
return "undefined";
|
|
49
|
-
switch (typeof value) {
|
|
50
|
-
case "string": {
|
|
51
|
-
let str = value;
|
|
52
|
-
if (this.maxString !== undefined && str.length > this.maxString) {
|
|
53
|
-
str = str.slice(0, this.maxString) + `+${value.length - this.maxString}`;
|
|
54
|
-
}
|
|
55
|
-
return JSON.stringify(str);
|
|
56
|
-
}
|
|
57
|
-
case "number":
|
|
58
|
-
case "bigint":
|
|
59
|
-
return String(value);
|
|
60
|
-
case "boolean":
|
|
61
|
-
return String(value);
|
|
62
|
-
case "symbol":
|
|
63
|
-
return value.toString();
|
|
64
|
-
case "function":
|
|
65
|
-
return `[Function: ${value.name || "anonymous"}]`;
|
|
66
|
-
}
|
|
67
|
-
if (Array.isArray(value)) {
|
|
68
|
-
if (value.length === 0)
|
|
69
|
-
return "[]";
|
|
70
|
-
const items = this.maxLength !== undefined
|
|
71
|
-
? value.slice(0, this.maxLength)
|
|
72
|
-
: value;
|
|
73
|
-
const remaining = this.maxLength !== undefined
|
|
74
|
-
? Math.max(0, value.length - this.maxLength)
|
|
75
|
-
: 0;
|
|
76
|
-
// Try compact first
|
|
77
|
-
if (!this.expandAll) {
|
|
78
|
-
const compact = "[" + items.map((v) => this._format(v, 0, maxWidth)).join(", ") +
|
|
79
|
-
(remaining > 0 ? `, ... +${remaining}` : "") + "]";
|
|
80
|
-
if (cellLen(indentStr + compact) <= maxWidth)
|
|
81
|
-
return compact;
|
|
82
|
-
}
|
|
83
|
-
const parts = items.map((v) => innerIndent + this._format(v, depth + 1, maxWidth));
|
|
84
|
-
if (remaining > 0)
|
|
85
|
-
parts.push(innerIndent + `... +${remaining}`);
|
|
86
|
-
return "[\n" + parts.join(",\n") + "\n" + indentStr + "]";
|
|
87
|
-
}
|
|
88
|
-
if (value instanceof Map) {
|
|
89
|
-
if (value.size === 0)
|
|
90
|
-
return "Map {}";
|
|
91
|
-
const entries = [...value.entries()];
|
|
92
|
-
const items = this.maxLength !== undefined ? entries.slice(0, this.maxLength) : entries;
|
|
93
|
-
const parts = items.map(([k, v]) => innerIndent + this._format(k, depth + 1, maxWidth) + " => " + this._format(v, depth + 1, maxWidth));
|
|
94
|
-
return "Map {\n" + parts.join(",\n") + "\n" + indentStr + "}";
|
|
95
|
-
}
|
|
96
|
-
if (value instanceof Set) {
|
|
97
|
-
if (value.size === 0)
|
|
98
|
-
return "Set {}";
|
|
99
|
-
const items = [...value];
|
|
100
|
-
const bounded = this.maxLength !== undefined ? items.slice(0, this.maxLength) : items;
|
|
101
|
-
const parts = bounded.map((v) => innerIndent + this._format(v, depth + 1, maxWidth));
|
|
102
|
-
return "Set {\n" + parts.join(",\n") + "\n" + indentStr + "}";
|
|
103
|
-
}
|
|
104
|
-
// Plain objects
|
|
105
|
-
if (typeof value === "object") {
|
|
106
|
-
const obj = value;
|
|
107
|
-
const keys = Object.keys(obj);
|
|
108
|
-
if (keys.length === 0)
|
|
109
|
-
return "{}";
|
|
110
|
-
const items = this.maxLength !== undefined ? keys.slice(0, this.maxLength) : keys;
|
|
111
|
-
const remaining = this.maxLength !== undefined ? Math.max(0, keys.length - this.maxLength) : 0;
|
|
112
|
-
// Try compact
|
|
113
|
-
if (!this.expandAll) {
|
|
114
|
-
const compact = "{ " + items.map((k) => `${k}: ${this._format(obj[k], 0, maxWidth)}`).join(", ") +
|
|
115
|
-
(remaining > 0 ? `, ... +${remaining}` : "") + " }";
|
|
116
|
-
if (cellLen(indentStr + compact) <= maxWidth)
|
|
117
|
-
return compact;
|
|
118
|
-
}
|
|
119
|
-
const parts = items.map((k) => innerIndent + `${k}: ${this._format(obj[k], depth + 1, maxWidth)}`);
|
|
120
|
-
if (remaining > 0)
|
|
121
|
-
parts.push(innerIndent + `... +${remaining}`);
|
|
122
|
-
return "{\n" + parts.join(",\n") + "\n" + indentStr + "}";
|
|
123
|
-
}
|
|
124
|
-
return String(value);
|
|
125
|
-
}
|
|
126
|
-
_addIndentGuides(text) {
|
|
127
|
-
const guideStyle = Style.parse("repr.indent");
|
|
128
|
-
const lines = text.plain.split("\n");
|
|
129
|
-
let offset = 0;
|
|
130
|
-
for (const line of lines) {
|
|
131
|
-
const leadingSpaces = line.length - line.trimStart().length;
|
|
132
|
-
for (let i = 0; i < leadingSpaces; i += this.indent) {
|
|
133
|
-
if (i + offset < text.length) {
|
|
134
|
-
text.stylize(guideStyle, offset + i, offset + i + 1);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
offset += line.length + 1; // +1 for newline
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=pretty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pretty.js","sourceRoot":"","sources":["../../src/renderables/pretty.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { ColorRgba } from "../core/color.js";
|
|
2
|
-
import { Palette } from "./palette.js";
|
|
3
|
-
export interface ResolveContext {
|
|
4
|
-
/**
|
|
5
|
-
* The background the result will be painted on. Required for specs whose
|
|
6
|
-
* meaning depends on a target: alpha (`primary 50%`) and auto-contrast
|
|
7
|
-
* (`auto`, `auto 33%`). Bare names and modifiers do not need it.
|
|
8
|
-
*/
|
|
9
|
-
against?: ColorRgba;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Resolves Textual-style spec strings against a Palette into ColorRgba values.
|
|
13
|
-
*
|
|
14
|
-
* Spec grammar:
|
|
15
|
-
* spec = name ("-darken-" N | "-lighten-" N)? (" " NN "%")?
|
|
16
|
-
* name = "auto" | <palette var name>
|
|
17
|
-
*
|
|
18
|
-
* Examples (against gruvbox):
|
|
19
|
-
* "primary" → palette["primary"]
|
|
20
|
-
* "primary-background" → palette["primary-background"] (name has hyphens)
|
|
21
|
-
* "primary-darken-3" → darken(palette["primary"], 3)
|
|
22
|
-
* "primary 50%" → alphaBlend(palette["primary"], against, 0.5)
|
|
23
|
-
* "auto 33%" → alphaBlend(contrastFor(against), against, 0.33)
|
|
24
|
-
* "primary-darken-3 50%" → alphaBlend(darken(palette["primary"], 3), against, 0.5)
|
|
25
|
-
*
|
|
26
|
-
* Returns null on: invalid syntax, missing var, or missing required `against`.
|
|
27
|
-
* Pure: same inputs always yield the same output, no internal state.
|
|
28
|
-
*/
|
|
29
|
-
export declare class PaletteResolver {
|
|
30
|
-
readonly palette: Palette;
|
|
31
|
-
constructor(palette: Palette);
|
|
32
|
-
resolve(spec: string, ctx?: ResolveContext): ColorRgba | null;
|
|
33
|
-
private lookupBase;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=paletteResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paletteResolver.d.ts","sourceRoot":"","sources":["../../src/themes/paletteResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAiDvC,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe;IACd,QAAQ,CAAC,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO;IAErC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAoB7D,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { darken, alphaBlend, contrastFor } from "./colorMath.js";
|
|
2
|
-
const AUTO_NAME = "auto";
|
|
3
|
-
// Modifier matches the trailing "-darken-N" or "-lighten-N" of a name part.
|
|
4
|
-
// Anchored right (`.+` is greedy) because var names themselves contain
|
|
5
|
-
// hyphens — `"primary-background-darken-3"` must split into the var
|
|
6
|
-
// `primary-background` and the modifier `darken-3`, not `primary` /
|
|
7
|
-
// `background-darken-3`.
|
|
8
|
-
const MODIFIER_RE = /^(.+)-(darken|lighten)-(\d+)$/;
|
|
9
|
-
const ALPHA_RE = /^(\d+(?:\.\d+)?)%$/;
|
|
10
|
-
function parse(spec) {
|
|
11
|
-
const trimmed = spec.trim();
|
|
12
|
-
if (trimmed === "")
|
|
13
|
-
return null;
|
|
14
|
-
const [namePart, alphaPart, ...rest] = trimmed.split(/\s+/);
|
|
15
|
-
if (namePart === undefined || rest.length > 0)
|
|
16
|
-
return null;
|
|
17
|
-
let alpha = null;
|
|
18
|
-
if (alphaPart !== undefined) {
|
|
19
|
-
const m = ALPHA_RE.exec(alphaPart);
|
|
20
|
-
if (m === null)
|
|
21
|
-
return null;
|
|
22
|
-
const pct = parseFloat(m[1]);
|
|
23
|
-
if (pct < 0 || pct > 100)
|
|
24
|
-
return null;
|
|
25
|
-
alpha = pct / 100;
|
|
26
|
-
}
|
|
27
|
-
const mod = MODIFIER_RE.exec(namePart);
|
|
28
|
-
if (mod !== null) {
|
|
29
|
-
const levels = parseInt(mod[3], 10);
|
|
30
|
-
return {
|
|
31
|
-
name: mod[1],
|
|
32
|
-
darkenLevels: mod[2] === "darken" ? levels : -levels,
|
|
33
|
-
alpha,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return { name: namePart, darkenLevels: 0, alpha };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Resolves Textual-style spec strings against a Palette into ColorRgba values.
|
|
40
|
-
*
|
|
41
|
-
* Spec grammar:
|
|
42
|
-
* spec = name ("-darken-" N | "-lighten-" N)? (" " NN "%")?
|
|
43
|
-
* name = "auto" | <palette var name>
|
|
44
|
-
*
|
|
45
|
-
* Examples (against gruvbox):
|
|
46
|
-
* "primary" → palette["primary"]
|
|
47
|
-
* "primary-background" → palette["primary-background"] (name has hyphens)
|
|
48
|
-
* "primary-darken-3" → darken(palette["primary"], 3)
|
|
49
|
-
* "primary 50%" → alphaBlend(palette["primary"], against, 0.5)
|
|
50
|
-
* "auto 33%" → alphaBlend(contrastFor(against), against, 0.33)
|
|
51
|
-
* "primary-darken-3 50%" → alphaBlend(darken(palette["primary"], 3), against, 0.5)
|
|
52
|
-
*
|
|
53
|
-
* Returns null on: invalid syntax, missing var, or missing required `against`.
|
|
54
|
-
* Pure: same inputs always yield the same output, no internal state.
|
|
55
|
-
*/
|
|
56
|
-
export class PaletteResolver {
|
|
57
|
-
palette;
|
|
58
|
-
constructor(palette) {
|
|
59
|
-
this.palette = palette;
|
|
60
|
-
}
|
|
61
|
-
resolve(spec, ctx) {
|
|
62
|
-
const parsed = parse(spec);
|
|
63
|
-
if (parsed === null)
|
|
64
|
-
return null;
|
|
65
|
-
// [LAW:one-type-per-behavior] `auto` is a synthetic var whose "lookup"
|
|
66
|
-
// depends on ctx; named vars look up in the palette. Both produce a
|
|
67
|
-
// ColorRgba | null, so the pipeline downstream is identical.
|
|
68
|
-
const base = this.lookupBase(parsed.name, ctx);
|
|
69
|
-
if (base === null)
|
|
70
|
-
return null;
|
|
71
|
-
// [LAW:dataflow-not-control-flow] darken at level 0 is a no-op (modulo
|
|
72
|
-
// ±1 RGB roundtrip); we always run it and let the data (levels) decide
|
|
73
|
-
// the magnitude. Negative levels lighten — same op, different value.
|
|
74
|
-
const modified = darken(base, parsed.darkenLevels);
|
|
75
|
-
if (parsed.alpha === null)
|
|
76
|
-
return modified;
|
|
77
|
-
if (!ctx?.against)
|
|
78
|
-
return null;
|
|
79
|
-
return alphaBlend(modified, ctx.against, parsed.alpha);
|
|
80
|
-
}
|
|
81
|
-
lookupBase(name, ctx) {
|
|
82
|
-
if (name === AUTO_NAME) {
|
|
83
|
-
return ctx?.against ? contrastFor(ctx.against) : null;
|
|
84
|
-
}
|
|
85
|
-
return this.palette.get(name) ?? null;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=paletteResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paletteResolver.js","sourceRoot":"","sources":["../../src/themes/paletteResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* hostStream — adapt a `TerminalHost` into the narrow Writable surface that
|
|
3
|
-
* Console (and Live) actually exercise.
|
|
4
|
-
*
|
|
5
|
-
* [LAW:types-are-the-program] The return type matches Console's `ConsoleSink`
|
|
6
|
-
* exactly: a single `.write(chunk)` method whose return value Console never
|
|
7
|
-
* inspects (so the type leaves it as `unknown`; this implementation happens
|
|
8
|
-
* to return `true` to mirror Node's stream contract, but callers may not
|
|
9
|
-
* rely on that). Anything wider would lie about what this adapter
|
|
10
|
-
* implements; anything narrower would force a cast at the call site.
|
|
11
|
-
* Calling `.pipe()`, `.cork()`, `.on('error')`, etc. is a programming error
|
|
12
|
-
* that TypeScript will reject at compile time.
|
|
13
|
-
*
|
|
14
|
-
* [LAW:locality-or-seam] Console + Live access their sink only via `.write()`
|
|
15
|
-
* — verified in src/core/console.ts (one `_file.write` call) and
|
|
16
|
-
* src/renderables/live.ts (every `this._console.file.write(...)` site). So
|
|
17
|
-
* this narrow surface is the entire contract they need.
|
|
18
|
-
*/
|
|
19
|
-
import type { ConsoleSink } from "../core/console.js";
|
|
20
|
-
import type { TerminalHost } from "./terminal-host.js";
|
|
21
|
-
/**
|
|
22
|
-
* Wrap a `TerminalHost` so its output can be threaded into `Console` via the
|
|
23
|
-
* existing `file:` option. The returned object implements `.write()` only —
|
|
24
|
-
* exactly the surface Console + Live touch.
|
|
25
|
-
*
|
|
26
|
-
* Pair with `forceTerminal: true` on the Console — without it, Console treats
|
|
27
|
-
* any non-undefined `file` option as non-TTY and disables color, which
|
|
28
|
-
* defeats the point.
|
|
29
|
-
*/
|
|
30
|
-
export declare function hostStream(host: TerminalHost): ConsoleSink;
|
|
31
|
-
//# sourceMappingURL=host-stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-stream.d.ts","sourceRoot":"","sources":["../../src/widgets/host-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CAO1D"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* hostStream — adapt a `TerminalHost` into the narrow Writable surface that
|
|
3
|
-
* Console (and Live) actually exercise.
|
|
4
|
-
*
|
|
5
|
-
* [LAW:types-are-the-program] The return type matches Console's `ConsoleSink`
|
|
6
|
-
* exactly: a single `.write(chunk)` method whose return value Console never
|
|
7
|
-
* inspects (so the type leaves it as `unknown`; this implementation happens
|
|
8
|
-
* to return `true` to mirror Node's stream contract, but callers may not
|
|
9
|
-
* rely on that). Anything wider would lie about what this adapter
|
|
10
|
-
* implements; anything narrower would force a cast at the call site.
|
|
11
|
-
* Calling `.pipe()`, `.cork()`, `.on('error')`, etc. is a programming error
|
|
12
|
-
* that TypeScript will reject at compile time.
|
|
13
|
-
*
|
|
14
|
-
* [LAW:locality-or-seam] Console + Live access their sink only via `.write()`
|
|
15
|
-
* — verified in src/core/console.ts (one `_file.write` call) and
|
|
16
|
-
* src/renderables/live.ts (every `this._console.file.write(...)` site). So
|
|
17
|
-
* this narrow surface is the entire contract they need.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Wrap a `TerminalHost` so its output can be threaded into `Console` via the
|
|
21
|
-
* existing `file:` option. The returned object implements `.write()` only —
|
|
22
|
-
* exactly the surface Console + Live touch.
|
|
23
|
-
*
|
|
24
|
-
* Pair with `forceTerminal: true` on the Console — without it, Console treats
|
|
25
|
-
* any non-undefined `file` option as non-TTY and disables color, which
|
|
26
|
-
* defeats the point.
|
|
27
|
-
*/
|
|
28
|
-
export function hostStream(host) {
|
|
29
|
-
return {
|
|
30
|
-
write(chunk) {
|
|
31
|
-
host.write(chunk);
|
|
32
|
-
return true;
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=host-stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-stream.js","sourceRoot":"","sources":["../../src/widgets/host-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO;QACL,KAAK,CAAC,KAA0B;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TerminalHost — the capability seam between the interactive runtime and its
|
|
3
|
-
* I/O environment.
|
|
4
|
-
*
|
|
5
|
-
* [LAW:locality-or-seam] The missing seam *was* the missing type. Before this
|
|
6
|
-
* type existed, Screen and EventRouter reached for ambient `process.stdin`/
|
|
7
|
-
* `process.stdout`, which crystallised them to node. With a `TerminalHost`
|
|
8
|
-
* value flowing across one boundary, the same runtime code runs against any
|
|
9
|
-
* implementation — node's TTY (`NodeTerminalHost`, on the `node/terminal-host`
|
|
10
|
-
* subpath) or a browser xterm.js terminal (`BrowserTerminalHost`, below).
|
|
11
|
-
*
|
|
12
|
-
* [LAW:dataflow-not-control-flow] The runtime never branches on "am I in
|
|
13
|
-
* node or browser." The host is the value that differs; the code path is
|
|
14
|
-
* the same. Variability lives in which host is constructed at the program
|
|
15
|
-
* entry, not in any `if` inside the runtime.
|
|
16
|
-
*
|
|
17
|
-
* [LAW:one-way-deps] The interface and the browser host live here, in the
|
|
18
|
-
* barrel; the node host lives in `src/node/terminal-host.ts`, behind an
|
|
19
|
-
* explicit subpath, because it reads `process.stdin` / `process.stdout`. The
|
|
20
|
-
* dependency runs one way — the node adapter imports this seam; nothing here
|
|
21
|
-
* imports the adapter — so importing the main barrel in a browser cannot
|
|
22
|
-
* reach the ambient `process` global by any path, rather than merely not
|
|
23
|
-
* reaching it in practice. `test/seam/browser-safe.test.ts` is what holds
|
|
24
|
-
* that direction; who reads the host at all is `HOST_ACCESS` in
|
|
25
|
-
* `test/seam/ambient-process.ts`, and neither list is repeated here.
|
|
26
|
-
*
|
|
27
|
-
* [boundaries: capabilities over context] A `TerminalHost` grants exactly
|
|
28
|
-
* the I/O capabilities the runtime needs: write bytes, read input, query
|
|
29
|
-
* size, observe resize, switch raw mode, lifecycle. It is not an
|
|
30
|
-
* omniscient handle to "the process."
|
|
31
|
-
*/
|
|
32
|
-
import type { Unsubscribe } from "./types.js";
|
|
33
|
-
export interface TerminalSize {
|
|
34
|
-
readonly cols: number;
|
|
35
|
-
readonly rows: number;
|
|
36
|
-
}
|
|
37
|
-
export type DataHandler = (chunk: Uint8Array | string) => void;
|
|
38
|
-
export type ResizeHandler = (size: TerminalSize) => void;
|
|
39
|
-
export interface TerminalHost {
|
|
40
|
-
/**
|
|
41
|
-
* Write raw bytes (or UTF-8 text) to the terminal. The byte sequence is
|
|
42
|
-
* written verbatim; no escape interpretation, no framing.
|
|
43
|
-
*/
|
|
44
|
-
write(data: Uint8Array | string): void;
|
|
45
|
-
/**
|
|
46
|
-
* Subscribe to input data. The host emits whatever its underlying
|
|
47
|
-
* transport produces (Buffer on node, string on browser xterm.js); the
|
|
48
|
-
* runtime's parser accepts either.
|
|
49
|
-
*/
|
|
50
|
-
onData(handler: DataHandler): Unsubscribe;
|
|
51
|
-
/**
|
|
52
|
-
* Subscribe to terminal resize events. The handler fires with the new
|
|
53
|
-
* size after a resize is observed.
|
|
54
|
-
*/
|
|
55
|
-
onResize(handler: ResizeHandler): Unsubscribe;
|
|
56
|
-
/** Current terminal size in cells. Always returns a valid size. */
|
|
57
|
-
size(): TerminalSize;
|
|
58
|
-
/**
|
|
59
|
-
* Enable or disable raw mode on the input side. Implementations whose
|
|
60
|
-
* transport has no "cooked" mode (xterm.js, non-TTY pipes) silently
|
|
61
|
-
* no-op so callers don't need to branch on capability.
|
|
62
|
-
*/
|
|
63
|
-
setRawMode(raw: boolean): void;
|
|
64
|
-
/**
|
|
65
|
-
* Whether the host is connected to a real interactive terminal. Drives
|
|
66
|
-
* default option values (e.g. `manageCursor`, `manageRawMode`) in the
|
|
67
|
-
* runtime; non-TTY hosts default those features off.
|
|
68
|
-
*/
|
|
69
|
-
readonly isTTY: boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Begin the host's lifecycle. Implementations attach whatever resources
|
|
72
|
-
* they own — or no-op when there is nothing to attach. Idempotent. See
|
|
73
|
-
* the concrete host's own JSDoc for what its `start()` actually does:
|
|
74
|
-
* `NodeTerminalHost` and `BrowserTerminalHost` both no-op because their
|
|
75
|
-
* underlying transports (process streams; a caller-managed xterm.js
|
|
76
|
-
* Terminal) are already live by the time the host is constructed.
|
|
77
|
-
*/
|
|
78
|
-
start(): void;
|
|
79
|
-
/**
|
|
80
|
-
* Stop the host's lifecycle. Pairs with `start`. Idempotent. After
|
|
81
|
-
* `stop()`, the host releases its own subscriptions to the underlying
|
|
82
|
-
* transport and clears its handler sets; the transport itself is not
|
|
83
|
-
* torn down (that is the caller's concern — process streams persist;
|
|
84
|
-
* an xterm.js Terminal is disposed by the caller). Re-subscribing via
|
|
85
|
-
* `onData` / `onResize` after `stop()` re-engages the host.
|
|
86
|
-
*/
|
|
87
|
-
stop(): void;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Subset of xterm.js's `Terminal` surface the browser host depends on.
|
|
91
|
-
*
|
|
92
|
-
* [LAW:locality-or-seam] Declaring the dependency by *shape* — rather than
|
|
93
|
-
* importing xterm.js's types — keeps this package free of an xterm.js
|
|
94
|
-
* dev-dep at the type level, lets the browser-bundle pipeline (downstream
|
|
95
|
-
* ticket) pin whichever xterm.js version it wants, and lets unit tests
|
|
96
|
-
* pass a hand-built fake: ask for exactly the capabilities the host uses,
|
|
97
|
-
* no more.
|
|
98
|
-
*/
|
|
99
|
-
export interface XtermDisposable {
|
|
100
|
-
dispose(): void;
|
|
101
|
-
}
|
|
102
|
-
export interface XtermResizeEvent {
|
|
103
|
-
cols: number;
|
|
104
|
-
rows: number;
|
|
105
|
-
}
|
|
106
|
-
export interface XtermTerminal {
|
|
107
|
-
readonly cols: number;
|
|
108
|
-
readonly rows: number;
|
|
109
|
-
write(data: Uint8Array | string): void;
|
|
110
|
-
onData(handler: (data: string) => void): XtermDisposable;
|
|
111
|
-
onResize(handler: (size: XtermResizeEvent) => void): XtermDisposable;
|
|
112
|
-
}
|
|
113
|
-
export interface BrowserTerminalHostOptions {
|
|
114
|
-
/**
|
|
115
|
-
* The xterm.js `Terminal` instance to wrap. The caller is responsible
|
|
116
|
-
* for its DOM lifecycle (`terminal.open(element)`, `terminal.dispose()`)
|
|
117
|
-
* — the host only owns its own subscriber lifecycle, exactly mirroring
|
|
118
|
-
* `NodeTerminalHost`'s relationship to `process.stdin`/`process.stdout`.
|
|
119
|
-
*/
|
|
120
|
-
terminal: XtermTerminal;
|
|
121
|
-
}
|
|
122
|
-
export declare class BrowserTerminalHost implements TerminalHost {
|
|
123
|
-
private readonly terminal;
|
|
124
|
-
private readonly dataHandlers;
|
|
125
|
-
private readonly resizeHandlers;
|
|
126
|
-
private dataSubscription;
|
|
127
|
-
private resizeSubscription;
|
|
128
|
-
constructor(options: BrowserTerminalHostOptions);
|
|
129
|
-
get isTTY(): boolean;
|
|
130
|
-
write(data: Uint8Array | string): void;
|
|
131
|
-
size(): TerminalSize;
|
|
132
|
-
setRawMode(_raw: boolean): void;
|
|
133
|
-
onData(handler: DataHandler): Unsubscribe;
|
|
134
|
-
onResize(handler: ResizeHandler): Unsubscribe;
|
|
135
|
-
start(): void;
|
|
136
|
-
stop(): void;
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=terminal-host.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-host.d.ts","sourceRoot":"","sources":["../../src/widgets/terminal-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAAC;IAE9C,mEAAmE;IACnE,IAAI,IAAI,YAAY,CAAC;IAErB;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,eAAe,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,eAAe,CAAC;CACtE;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAA8B;gBAE5C,OAAO,EAAE,0BAA0B;IAQ/C,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAItC,IAAI,IAAI,YAAY;IAUpB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAO/B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;IAgBzC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW;IAiB7C,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;CAmBb"}
|