@opentui/core 0.0.0-20251208-bec95e7d → 0.0.0-20251211-4403a69a
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/3d.js +1 -1
- package/Renderable.d.ts +14 -3
- package/buffer.d.ts +4 -0
- package/edit-buffer.d.ts +20 -6
- package/editor-view.d.ts +2 -0
- package/{index-crebvcxc.js → index-yhfn13z6.js} +154 -27
- package/{index-crebvcxc.js.map → index-yhfn13z6.js.map} +8 -8
- package/index.js +134 -82
- package/index.js.map +11 -11
- package/lib/extmarks.d.ts +1 -0
- package/package.json +8 -8
- package/renderables/EditBufferRenderable.d.ts +10 -3
- package/renderables/Input.d.ts +1 -1
- package/renderables/ScrollBar.d.ts +1 -1
- package/renderables/ScrollBox.d.ts +1 -1
- package/renderables/Select.d.ts +1 -1
- package/renderables/TabSelect.d.ts +1 -1
- package/renderables/Textarea.d.ts +8 -2
- package/renderer.d.ts +12 -1
- package/testing.js +15 -5
- package/testing.js.map +4 -4
- package/zig.d.ts +12 -4
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
|
|
|
65
65
|
visible?: boolean;
|
|
66
66
|
buffered?: boolean;
|
|
67
67
|
live?: boolean;
|
|
68
|
+
opacity?: number;
|
|
68
69
|
renderBefore?: (this: T, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
69
70
|
renderAfter?: (this: T, buffer: OptimizedBuffer, deltaTime: number) => void;
|
|
70
71
|
onMouse?: (this: T, event: MouseEvent) => void;
|
|
@@ -140,6 +141,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
140
141
|
protected _positionType: PositionTypeString;
|
|
141
142
|
protected _overflow: OverflowString;
|
|
142
143
|
protected _position: Position;
|
|
144
|
+
protected _opacity: number;
|
|
143
145
|
private _flexShrink;
|
|
144
146
|
private renderableMapById;
|
|
145
147
|
protected _childrenInLayoutOrder: Renderable[];
|
|
@@ -160,6 +162,8 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
160
162
|
get visible(): boolean;
|
|
161
163
|
get primaryAxis(): "row" | "column";
|
|
162
164
|
set visible(value: boolean);
|
|
165
|
+
get opacity(): number;
|
|
166
|
+
set opacity(value: number);
|
|
163
167
|
hasSelection(): boolean;
|
|
164
168
|
onSelectionChanged(selection: Selection | null): boolean;
|
|
165
169
|
getSelectedText(): string;
|
|
@@ -171,7 +175,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
171
175
|
get liveCount(): number;
|
|
172
176
|
set live(value: boolean);
|
|
173
177
|
protected propagateLiveCount(delta: number): void;
|
|
174
|
-
handleKeyPress?(key: KeyEvent
|
|
178
|
+
handleKeyPress?(key: KeyEvent): boolean;
|
|
175
179
|
handlePaste?(event: PasteEvent): void;
|
|
176
180
|
findDescendantById(id: string): Renderable | undefined;
|
|
177
181
|
requestRender(): void;
|
|
@@ -284,7 +288,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
284
288
|
private applyEventOptions;
|
|
285
289
|
}
|
|
286
290
|
interface RenderCommandBase {
|
|
287
|
-
action: "render" | "pushScissorRect" | "popScissorRect";
|
|
291
|
+
action: "render" | "pushScissorRect" | "popScissorRect" | "pushOpacity" | "popOpacity";
|
|
288
292
|
}
|
|
289
293
|
interface RenderCommandPushScissorRect extends RenderCommandBase {
|
|
290
294
|
action: "pushScissorRect";
|
|
@@ -300,7 +304,14 @@ interface RenderCommandRender extends RenderCommandBase {
|
|
|
300
304
|
action: "render";
|
|
301
305
|
renderable: Renderable;
|
|
302
306
|
}
|
|
303
|
-
|
|
307
|
+
interface RenderCommandPushOpacity extends RenderCommandBase {
|
|
308
|
+
action: "pushOpacity";
|
|
309
|
+
opacity: number;
|
|
310
|
+
}
|
|
311
|
+
interface RenderCommandPopOpacity extends RenderCommandBase {
|
|
312
|
+
action: "popOpacity";
|
|
313
|
+
}
|
|
314
|
+
export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender | RenderCommandPushOpacity | RenderCommandPopOpacity;
|
|
304
315
|
export declare class RootRenderable extends Renderable {
|
|
305
316
|
private renderList;
|
|
306
317
|
constructor(ctx: RenderContext);
|
package/buffer.d.ts
CHANGED
|
@@ -73,6 +73,10 @@ export declare class OptimizedBuffer {
|
|
|
73
73
|
pushScissorRect(x: number, y: number, width: number, height: number): void;
|
|
74
74
|
popScissorRect(): void;
|
|
75
75
|
clearScissorRects(): void;
|
|
76
|
+
pushOpacity(opacity: number): void;
|
|
77
|
+
popOpacity(): void;
|
|
78
|
+
getCurrentOpacity(): number;
|
|
79
|
+
clearOpacity(): void;
|
|
76
80
|
encodeUnicode(text: string): {
|
|
77
81
|
ptr: Pointer;
|
|
78
82
|
data: Array<{
|
package/edit-buffer.d.ts
CHANGED
|
@@ -26,12 +26,26 @@ export declare class EditBuffer extends EventEmitter {
|
|
|
26
26
|
private static subscribeToNativeEvents;
|
|
27
27
|
private guard;
|
|
28
28
|
get ptr(): Pointer;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Set text and completely reset the buffer state (clears history, resets add_buffer).
|
|
31
|
+
* Use this for initial text setting or when you want a clean slate.
|
|
32
|
+
*/
|
|
33
|
+
setText(text: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Set text using owned memory and completely reset the buffer state (clears history, resets add_buffer).
|
|
36
|
+
* The native code takes ownership of the memory.
|
|
37
|
+
*/
|
|
38
|
+
setTextOwned(text: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Replace text while preserving undo history (creates an undo point).
|
|
41
|
+
* Use this when you want the setText operation to be undoable.
|
|
42
|
+
*/
|
|
43
|
+
replaceText(text: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Replace text using owned memory while preserving undo history (creates an undo point).
|
|
46
|
+
* The native code takes ownership of the memory.
|
|
47
|
+
*/
|
|
48
|
+
replaceTextOwned(text: string): void;
|
|
35
49
|
getLineCount(): number;
|
|
36
50
|
getText(): string;
|
|
37
51
|
insertChar(char: string): void;
|
package/editor-view.d.ts
CHANGED
|
@@ -49,6 +49,8 @@ export declare class EditorView {
|
|
|
49
49
|
getNextWordBoundary(): VisualCursor;
|
|
50
50
|
getPrevWordBoundary(): VisualCursor;
|
|
51
51
|
getEOL(): VisualCursor;
|
|
52
|
+
getVisualSOL(): VisualCursor;
|
|
53
|
+
getVisualEOL(): VisualCursor;
|
|
52
54
|
getLineInfo(): LineInfo;
|
|
53
55
|
getLogicalLineInfo(): LineInfo;
|
|
54
56
|
get extmarks(): any;
|
|
@@ -2319,6 +2319,7 @@ var parseKeypress = (s = "", options = {}) => {
|
|
|
2319
2319
|
const segs = [...s];
|
|
2320
2320
|
if (segs[0] === "\x1B" && segs[1] === "\x1B") {
|
|
2321
2321
|
key.option = true;
|
|
2322
|
+
key.meta = true;
|
|
2322
2323
|
}
|
|
2323
2324
|
const code = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
|
|
2324
2325
|
const modifier = parseInt(parts[3] || parts[5] || "1", 10) - 1;
|
|
@@ -8266,6 +8267,7 @@ class ExtmarksController {
|
|
|
8266
8267
|
originalInsertChar;
|
|
8267
8268
|
originalDeleteRange;
|
|
8268
8269
|
originalSetText;
|
|
8270
|
+
originalReplaceText;
|
|
8269
8271
|
originalClear;
|
|
8270
8272
|
originalNewLine;
|
|
8271
8273
|
originalDeleteLine;
|
|
@@ -8286,6 +8288,7 @@ class ExtmarksController {
|
|
|
8286
8288
|
this.originalInsertChar = editBuffer.insertChar.bind(editBuffer);
|
|
8287
8289
|
this.originalDeleteRange = editBuffer.deleteRange.bind(editBuffer);
|
|
8288
8290
|
this.originalSetText = editBuffer.setText.bind(editBuffer);
|
|
8291
|
+
this.originalReplaceText = editBuffer.replaceText.bind(editBuffer);
|
|
8289
8292
|
this.originalClear = editBuffer.clear.bind(editBuffer);
|
|
8290
8293
|
this.originalNewLine = editBuffer.newLine.bind(editBuffer);
|
|
8291
8294
|
this.originalDeleteLine = editBuffer.deleteLine.bind(editBuffer);
|
|
@@ -8551,16 +8554,22 @@ class ExtmarksController {
|
|
|
8551
8554
|
this.originalInsertChar(char);
|
|
8552
8555
|
this.adjustExtmarksAfterInsertion(currentOffset, 1);
|
|
8553
8556
|
};
|
|
8554
|
-
this.editBuffer.setText = (text
|
|
8557
|
+
this.editBuffer.setText = (text) => {
|
|
8555
8558
|
if (this.destroyed) {
|
|
8556
|
-
this.originalSetText(text
|
|
8559
|
+
this.originalSetText(text);
|
|
8557
8560
|
return;
|
|
8558
8561
|
}
|
|
8559
|
-
|
|
8560
|
-
|
|
8562
|
+
this.clear();
|
|
8563
|
+
this.originalSetText(text);
|
|
8564
|
+
};
|
|
8565
|
+
this.editBuffer.replaceText = (text) => {
|
|
8566
|
+
if (this.destroyed) {
|
|
8567
|
+
this.originalReplaceText(text);
|
|
8568
|
+
return;
|
|
8561
8569
|
}
|
|
8570
|
+
this.saveSnapshot();
|
|
8562
8571
|
this.clear();
|
|
8563
|
-
this.
|
|
8572
|
+
this.originalReplaceText(text);
|
|
8564
8573
|
};
|
|
8565
8574
|
this.editBuffer.clear = () => {
|
|
8566
8575
|
if (this.destroyed) {
|
|
@@ -8879,6 +8888,7 @@ class ExtmarksController {
|
|
|
8879
8888
|
this.editBuffer.insertChar = this.originalInsertChar;
|
|
8880
8889
|
this.editBuffer.deleteRange = this.originalDeleteRange;
|
|
8881
8890
|
this.editBuffer.setText = this.originalSetText;
|
|
8891
|
+
this.editBuffer.replaceText = this.originalReplaceText;
|
|
8882
8892
|
this.editBuffer.clear = this.originalClear;
|
|
8883
8893
|
this.editBuffer.newLine = this.originalNewLine;
|
|
8884
8894
|
this.editBuffer.deleteLine = this.originalDeleteLine;
|
|
@@ -9381,6 +9391,22 @@ class OptimizedBuffer {
|
|
|
9381
9391
|
this.guard();
|
|
9382
9392
|
this.lib.bufferClearScissorRects(this.bufferPtr);
|
|
9383
9393
|
}
|
|
9394
|
+
pushOpacity(opacity) {
|
|
9395
|
+
this.guard();
|
|
9396
|
+
this.lib.bufferPushOpacity(this.bufferPtr, Math.max(0, Math.min(1, opacity)));
|
|
9397
|
+
}
|
|
9398
|
+
popOpacity() {
|
|
9399
|
+
this.guard();
|
|
9400
|
+
this.lib.bufferPopOpacity(this.bufferPtr);
|
|
9401
|
+
}
|
|
9402
|
+
getCurrentOpacity() {
|
|
9403
|
+
this.guard();
|
|
9404
|
+
return this.lib.bufferGetCurrentOpacity(this.bufferPtr);
|
|
9405
|
+
}
|
|
9406
|
+
clearOpacity() {
|
|
9407
|
+
this.guard();
|
|
9408
|
+
this.lib.bufferClearOpacity(this.bufferPtr);
|
|
9409
|
+
}
|
|
9384
9410
|
encodeUnicode(text) {
|
|
9385
9411
|
this.guard();
|
|
9386
9412
|
return this.lib.encodeUnicode(text, this._widthMethod);
|
|
@@ -10310,6 +10336,22 @@ function getOpenTUILib(libPath) {
|
|
|
10310
10336
|
args: ["ptr"],
|
|
10311
10337
|
returns: "void"
|
|
10312
10338
|
},
|
|
10339
|
+
bufferPushOpacity: {
|
|
10340
|
+
args: ["ptr", "f32"],
|
|
10341
|
+
returns: "void"
|
|
10342
|
+
},
|
|
10343
|
+
bufferPopOpacity: {
|
|
10344
|
+
args: ["ptr"],
|
|
10345
|
+
returns: "void"
|
|
10346
|
+
},
|
|
10347
|
+
bufferGetCurrentOpacity: {
|
|
10348
|
+
args: ["ptr"],
|
|
10349
|
+
returns: "f32"
|
|
10350
|
+
},
|
|
10351
|
+
bufferClearOpacity: {
|
|
10352
|
+
args: ["ptr"],
|
|
10353
|
+
returns: "void"
|
|
10354
|
+
},
|
|
10313
10355
|
addToHitGrid: {
|
|
10314
10356
|
args: ["ptr", "i32", "i32", "u32", "u32", "u32"],
|
|
10315
10357
|
returns: "void"
|
|
@@ -10346,13 +10388,13 @@ function getOpenTUILib(libPath) {
|
|
|
10346
10388
|
args: ["ptr"],
|
|
10347
10389
|
returns: "void"
|
|
10348
10390
|
},
|
|
10349
|
-
|
|
10350
|
-
args: ["ptr", "
|
|
10391
|
+
setKittyKeyboardFlags: {
|
|
10392
|
+
args: ["ptr", "u8"],
|
|
10351
10393
|
returns: "void"
|
|
10352
10394
|
},
|
|
10353
|
-
|
|
10395
|
+
getKittyKeyboardFlags: {
|
|
10354
10396
|
args: ["ptr"],
|
|
10355
|
-
returns: "
|
|
10397
|
+
returns: "u8"
|
|
10356
10398
|
},
|
|
10357
10399
|
setupTerminal: {
|
|
10358
10400
|
args: ["ptr", "bool"],
|
|
@@ -10635,11 +10677,19 @@ function getOpenTUILib(libPath) {
|
|
|
10635
10677
|
returns: "void"
|
|
10636
10678
|
},
|
|
10637
10679
|
editBufferSetText: {
|
|
10638
|
-
args: ["ptr", "ptr", "usize"
|
|
10680
|
+
args: ["ptr", "ptr", "usize"],
|
|
10639
10681
|
returns: "void"
|
|
10640
10682
|
},
|
|
10641
10683
|
editBufferSetTextFromMem: {
|
|
10642
|
-
args: ["ptr", "u8"
|
|
10684
|
+
args: ["ptr", "u8"],
|
|
10685
|
+
returns: "void"
|
|
10686
|
+
},
|
|
10687
|
+
editBufferReplaceText: {
|
|
10688
|
+
args: ["ptr", "ptr", "usize"],
|
|
10689
|
+
returns: "void"
|
|
10690
|
+
},
|
|
10691
|
+
editBufferReplaceTextFromMem: {
|
|
10692
|
+
args: ["ptr", "u8"],
|
|
10643
10693
|
returns: "void"
|
|
10644
10694
|
},
|
|
10645
10695
|
editBufferGetText: {
|
|
@@ -10842,6 +10892,14 @@ function getOpenTUILib(libPath) {
|
|
|
10842
10892
|
args: ["ptr", "ptr"],
|
|
10843
10893
|
returns: "void"
|
|
10844
10894
|
},
|
|
10895
|
+
editorViewGetVisualSOL: {
|
|
10896
|
+
args: ["ptr", "ptr"],
|
|
10897
|
+
returns: "void"
|
|
10898
|
+
},
|
|
10899
|
+
editorViewGetVisualEOL: {
|
|
10900
|
+
args: ["ptr", "ptr"],
|
|
10901
|
+
returns: "void"
|
|
10902
|
+
},
|
|
10845
10903
|
editorViewSetPlaceholderStyledText: {
|
|
10846
10904
|
args: ["ptr", "ptr", "usize"],
|
|
10847
10905
|
returns: "void"
|
|
@@ -11349,11 +11407,11 @@ class FFIRenderLib {
|
|
|
11349
11407
|
disableKittyKeyboard(renderer) {
|
|
11350
11408
|
this.opentui.symbols.disableKittyKeyboard(renderer);
|
|
11351
11409
|
}
|
|
11352
|
-
|
|
11353
|
-
this.opentui.symbols.
|
|
11410
|
+
setKittyKeyboardFlags(renderer, flags) {
|
|
11411
|
+
this.opentui.symbols.setKittyKeyboardFlags(renderer, flags);
|
|
11354
11412
|
}
|
|
11355
|
-
|
|
11356
|
-
return this.opentui.symbols.
|
|
11413
|
+
getKittyKeyboardFlags(renderer) {
|
|
11414
|
+
return this.opentui.symbols.getKittyKeyboardFlags(renderer);
|
|
11357
11415
|
}
|
|
11358
11416
|
setupTerminal(renderer, useAlternateScreen) {
|
|
11359
11417
|
this.opentui.symbols.setupTerminal(renderer, useAlternateScreen);
|
|
@@ -11729,11 +11787,17 @@ class FFIRenderLib {
|
|
|
11729
11787
|
destroyEditBuffer(buffer) {
|
|
11730
11788
|
this.opentui.symbols.destroyEditBuffer(buffer);
|
|
11731
11789
|
}
|
|
11732
|
-
editBufferSetText(buffer, textBytes
|
|
11733
|
-
this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length
|
|
11790
|
+
editBufferSetText(buffer, textBytes) {
|
|
11791
|
+
this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length);
|
|
11734
11792
|
}
|
|
11735
|
-
editBufferSetTextFromMem(buffer, memId
|
|
11736
|
-
this.opentui.symbols.editBufferSetTextFromMem(buffer, memId
|
|
11793
|
+
editBufferSetTextFromMem(buffer, memId) {
|
|
11794
|
+
this.opentui.symbols.editBufferSetTextFromMem(buffer, memId);
|
|
11795
|
+
}
|
|
11796
|
+
editBufferReplaceText(buffer, textBytes) {
|
|
11797
|
+
this.opentui.symbols.editBufferReplaceText(buffer, textBytes, textBytes.length);
|
|
11798
|
+
}
|
|
11799
|
+
editBufferReplaceTextFromMem(buffer, memId) {
|
|
11800
|
+
this.opentui.symbols.editBufferReplaceTextFromMem(buffer, memId);
|
|
11737
11801
|
}
|
|
11738
11802
|
editBufferGetText(buffer, maxLength) {
|
|
11739
11803
|
const outBuffer = new Uint8Array(maxLength);
|
|
@@ -11959,6 +12023,16 @@ class FFIRenderLib {
|
|
|
11959
12023
|
this.opentui.symbols.editorViewGetEOL(view, ptr3(cursorBuffer));
|
|
11960
12024
|
return VisualCursorStruct.unpack(cursorBuffer);
|
|
11961
12025
|
}
|
|
12026
|
+
editorViewGetVisualSOL(view) {
|
|
12027
|
+
const cursorBuffer = new ArrayBuffer(VisualCursorStruct.size);
|
|
12028
|
+
this.opentui.symbols.editorViewGetVisualSOL(view, ptr3(cursorBuffer));
|
|
12029
|
+
return VisualCursorStruct.unpack(cursorBuffer);
|
|
12030
|
+
}
|
|
12031
|
+
editorViewGetVisualEOL(view) {
|
|
12032
|
+
const cursorBuffer = new ArrayBuffer(VisualCursorStruct.size);
|
|
12033
|
+
this.opentui.symbols.editorViewGetVisualEOL(view, ptr3(cursorBuffer));
|
|
12034
|
+
return VisualCursorStruct.unpack(cursorBuffer);
|
|
12035
|
+
}
|
|
11962
12036
|
bufferPushScissorRect(buffer, x, y, width, height) {
|
|
11963
12037
|
this.opentui.symbols.bufferPushScissorRect(buffer, x, y, width, height);
|
|
11964
12038
|
}
|
|
@@ -11968,6 +12042,18 @@ class FFIRenderLib {
|
|
|
11968
12042
|
bufferClearScissorRects(buffer) {
|
|
11969
12043
|
this.opentui.symbols.bufferClearScissorRects(buffer);
|
|
11970
12044
|
}
|
|
12045
|
+
bufferPushOpacity(buffer, opacity) {
|
|
12046
|
+
this.opentui.symbols.bufferPushOpacity(buffer, opacity);
|
|
12047
|
+
}
|
|
12048
|
+
bufferPopOpacity(buffer) {
|
|
12049
|
+
this.opentui.symbols.bufferPopOpacity(buffer);
|
|
12050
|
+
}
|
|
12051
|
+
bufferGetCurrentOpacity(buffer) {
|
|
12052
|
+
return this.opentui.symbols.bufferGetCurrentOpacity(buffer);
|
|
12053
|
+
}
|
|
12054
|
+
bufferClearOpacity(buffer) {
|
|
12055
|
+
this.opentui.symbols.bufferClearOpacity(buffer);
|
|
12056
|
+
}
|
|
11971
12057
|
getTerminalCapabilities(renderer) {
|
|
11972
12058
|
const capsBuffer = new ArrayBuffer(TerminalCapabilitiesStruct.size);
|
|
11973
12059
|
this.opentui.symbols.getTerminalCapabilities(renderer, ptr3(capsBuffer));
|
|
@@ -12460,6 +12546,7 @@ class Renderable extends BaseRenderable {
|
|
|
12460
12546
|
_positionType = "relative";
|
|
12461
12547
|
_overflow = "visible";
|
|
12462
12548
|
_position = {};
|
|
12549
|
+
_opacity = 1;
|
|
12463
12550
|
_flexShrink = 1;
|
|
12464
12551
|
renderableMapById = new Map;
|
|
12465
12552
|
_childrenInLayoutOrder = [];
|
|
@@ -12492,6 +12579,7 @@ class Renderable extends BaseRenderable {
|
|
|
12492
12579
|
this.buffered = options.buffered ?? false;
|
|
12493
12580
|
this._live = options.live ?? false;
|
|
12494
12581
|
this._liveCount = this._live && this._visible ? 1 : 0;
|
|
12582
|
+
this._opacity = options.opacity !== undefined ? Math.max(0, Math.min(1, options.opacity)) : 1;
|
|
12495
12583
|
this.yogaNode = src_default.Node.create(yogaConfig);
|
|
12496
12584
|
this.yogaNode.setDisplay(this._visible ? Display.Flex : Display.None);
|
|
12497
12585
|
this.setupYogaProperties(options);
|
|
@@ -12541,6 +12629,16 @@ class Renderable extends BaseRenderable {
|
|
|
12541
12629
|
}
|
|
12542
12630
|
this.requestRender();
|
|
12543
12631
|
}
|
|
12632
|
+
get opacity() {
|
|
12633
|
+
return this._opacity;
|
|
12634
|
+
}
|
|
12635
|
+
set opacity(value) {
|
|
12636
|
+
const clamped = Math.max(0, Math.min(1, value));
|
|
12637
|
+
if (this._opacity !== clamped) {
|
|
12638
|
+
this._opacity = clamped;
|
|
12639
|
+
this.requestRender();
|
|
12640
|
+
}
|
|
12641
|
+
}
|
|
12544
12642
|
hasSelection() {
|
|
12545
12643
|
return false;
|
|
12546
12644
|
}
|
|
@@ -13285,6 +13383,10 @@ class Renderable extends BaseRenderable {
|
|
|
13285
13383
|
}
|
|
13286
13384
|
if (this._isDestroyed)
|
|
13287
13385
|
return;
|
|
13386
|
+
const shouldPushOpacity = this._opacity < 1;
|
|
13387
|
+
if (shouldPushOpacity) {
|
|
13388
|
+
renderList.push({ action: "pushOpacity", opacity: this._opacity });
|
|
13389
|
+
}
|
|
13288
13390
|
renderList.push({ action: "render", renderable: this });
|
|
13289
13391
|
this.ensureZIndexSorted();
|
|
13290
13392
|
const shouldPushScissor = this._overflow !== "visible" && this.width > 0 && this.height > 0;
|
|
@@ -13309,6 +13411,9 @@ class Renderable extends BaseRenderable {
|
|
|
13309
13411
|
if (shouldPushScissor) {
|
|
13310
13412
|
renderList.push({ action: "popScissorRect" });
|
|
13311
13413
|
}
|
|
13414
|
+
if (shouldPushOpacity) {
|
|
13415
|
+
renderList.push({ action: "popOpacity" });
|
|
13416
|
+
}
|
|
13312
13417
|
}
|
|
13313
13418
|
render(buffer, deltaTime) {
|
|
13314
13419
|
let renderBuffer = buffer;
|
|
@@ -13522,6 +13627,12 @@ class RootRenderable extends Renderable {
|
|
|
13522
13627
|
case "popScissorRect":
|
|
13523
13628
|
buffer.popScissorRect();
|
|
13524
13629
|
break;
|
|
13630
|
+
case "pushOpacity":
|
|
13631
|
+
buffer.pushOpacity(command.opacity);
|
|
13632
|
+
break;
|
|
13633
|
+
case "popOpacity":
|
|
13634
|
+
buffer.popOpacity();
|
|
13635
|
+
break;
|
|
13525
13636
|
}
|
|
13526
13637
|
}
|
|
13527
13638
|
}
|
|
@@ -14555,6 +14666,18 @@ registerEnvVar({
|
|
|
14555
14666
|
type: "boolean",
|
|
14556
14667
|
default: false
|
|
14557
14668
|
});
|
|
14669
|
+
var KITTY_FLAG_ALTERNATE_KEYS = 1;
|
|
14670
|
+
var KITTY_FLAG_EVENT_TYPES = 2;
|
|
14671
|
+
function buildKittyKeyboardFlags(config) {
|
|
14672
|
+
if (!config) {
|
|
14673
|
+
return 0;
|
|
14674
|
+
}
|
|
14675
|
+
let flags = KITTY_FLAG_ALTERNATE_KEYS;
|
|
14676
|
+
if (config.events) {
|
|
14677
|
+
flags |= KITTY_FLAG_EVENT_TYPES;
|
|
14678
|
+
}
|
|
14679
|
+
return flags;
|
|
14680
|
+
}
|
|
14558
14681
|
|
|
14559
14682
|
class MouseEvent {
|
|
14560
14683
|
type;
|
|
@@ -14639,8 +14762,9 @@ async function createCliRenderer(config = {}) {
|
|
|
14639
14762
|
config.useThread = false;
|
|
14640
14763
|
}
|
|
14641
14764
|
ziglib.setUseThread(rendererPtr, config.useThread);
|
|
14642
|
-
const
|
|
14643
|
-
|
|
14765
|
+
const kittyConfig = config.useKittyKeyboard ?? {};
|
|
14766
|
+
const kittyFlags = buildKittyKeyboardFlags(kittyConfig);
|
|
14767
|
+
ziglib.setKittyKeyboardFlags(rendererPtr, kittyFlags);
|
|
14644
14768
|
const renderer = new CliRenderer(ziglib, rendererPtr, stdin, stdout, width, height, config);
|
|
14645
14769
|
await renderer.setupTerminal();
|
|
14646
14770
|
return renderer;
|
|
@@ -14856,7 +14980,9 @@ Captured output:
|
|
|
14856
14980
|
process.on("uncaughtException", this.handleError);
|
|
14857
14981
|
process.on("unhandledRejection", this.handleError);
|
|
14858
14982
|
process.on("beforeExit", this.exitHandler);
|
|
14859
|
-
|
|
14983
|
+
const kittyConfig = config.useKittyKeyboard ?? {};
|
|
14984
|
+
const useKittyForParsing = kittyConfig !== null;
|
|
14985
|
+
this._keyHandler = new InternalKeyHandler(useKittyForParsing);
|
|
14860
14986
|
this._keyHandler.on("keypress", (event) => {
|
|
14861
14987
|
if (this.exitOnCtrlC && event.name === "c" && event.ctrl) {
|
|
14862
14988
|
process.nextTick(() => {
|
|
@@ -15057,10 +15183,11 @@ Captured output:
|
|
|
15057
15183
|
return [...this._debugInputs];
|
|
15058
15184
|
}
|
|
15059
15185
|
get useKittyKeyboard() {
|
|
15060
|
-
return this.lib.
|
|
15186
|
+
return this.lib.getKittyKeyboardFlags(this.rendererPtr) > 0;
|
|
15061
15187
|
}
|
|
15062
15188
|
set useKittyKeyboard(use) {
|
|
15063
|
-
|
|
15189
|
+
const flags = use ? KITTY_FLAG_ALTERNATE_KEYS : 0;
|
|
15190
|
+
this.lib.setKittyKeyboardFlags(this.rendererPtr, flags);
|
|
15064
15191
|
}
|
|
15065
15192
|
set experimental_splitHeight(splitHeight) {
|
|
15066
15193
|
if (splitHeight < 0)
|
|
@@ -15943,7 +16070,7 @@ Captured output:
|
|
|
15943
16070
|
}
|
|
15944
16071
|
}
|
|
15945
16072
|
|
|
15946
|
-
export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
16073
|
+
export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
15947
16074
|
|
|
15948
|
-
//# debugId=
|
|
15949
|
-
//# sourceMappingURL=index-
|
|
16075
|
+
//# debugId=539C513F2BA4422564756E2164756E21
|
|
16076
|
+
//# sourceMappingURL=index-yhfn13z6.js.map
|