@opentui/core 0.1.33 → 0.1.35
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/{index-xqg0a6ka.js → index-n8nbvvhk.js} +50 -7
- package/{index-xqg0a6ka.js.map → index-n8nbvvhk.js.map} +6 -6
- package/index.js +173 -42
- package/index.js.map +8 -8
- package/package.json +7 -7
- package/renderables/Code.d.ts +12 -0
- package/renderables/EditBufferRenderable.d.ts +9 -1
- package/renderables/Input.d.ts +9 -1
- package/renderables/ScrollBox.d.ts +8 -2
- package/renderables/Select.d.ts +4 -1
- package/renderer.d.ts +4 -0
- package/testing/mock-tree-sitter-client.d.ts +20 -0
- package/testing.d.ts +1 -0
- package/testing.js +35 -2
- package/testing.js.map +4 -3
- package/types.d.ts +4 -0
- package/zig.d.ts +2 -0
package/3d.js
CHANGED
|
@@ -8408,6 +8408,14 @@ function getOpenTUILib(libPath) {
|
|
|
8408
8408
|
args: ["ptr"],
|
|
8409
8409
|
returns: "void"
|
|
8410
8410
|
},
|
|
8411
|
+
setUseKittyKeyboard: {
|
|
8412
|
+
args: ["ptr", "bool"],
|
|
8413
|
+
returns: "void"
|
|
8414
|
+
},
|
|
8415
|
+
getUseKittyKeyboard: {
|
|
8416
|
+
args: ["ptr"],
|
|
8417
|
+
returns: "bool"
|
|
8418
|
+
},
|
|
8411
8419
|
setupTerminal: {
|
|
8412
8420
|
args: ["ptr", "bool"],
|
|
8413
8421
|
returns: "void"
|
|
@@ -8928,16 +8936,28 @@ function convertToDebugSymbols(symbols) {
|
|
|
8928
8936
|
const debugSymbols = {};
|
|
8929
8937
|
const traceSymbols = {};
|
|
8930
8938
|
let hasTracing = false;
|
|
8939
|
+
let ffiLogWriter = null;
|
|
8931
8940
|
Object.entries(symbols).forEach(([key, value]) => {
|
|
8932
8941
|
debugSymbols[key] = value;
|
|
8933
8942
|
});
|
|
8934
8943
|
if (env.OTUI_DEBUG_FFI) {
|
|
8944
|
+
const now = new Date;
|
|
8945
|
+
const timestamp = now.toISOString().replace(/[:.]/g, "-").replace(/T/, "_").split("Z")[0];
|
|
8946
|
+
const logFilePath = `ffi_debug_${timestamp}.log`;
|
|
8947
|
+
ffiLogWriter = Bun.file(logFilePath).writer();
|
|
8948
|
+
const writer = ffiLogWriter;
|
|
8949
|
+
const writeSync = (msg) => {
|
|
8950
|
+
const buffer = new TextEncoder().encode(msg + `
|
|
8951
|
+
`);
|
|
8952
|
+
writer.write(buffer);
|
|
8953
|
+
writer.flush();
|
|
8954
|
+
};
|
|
8935
8955
|
Object.entries(symbols).forEach(([key, value]) => {
|
|
8936
8956
|
if (typeof value === "function") {
|
|
8937
8957
|
debugSymbols[key] = (...args) => {
|
|
8938
|
-
|
|
8958
|
+
writeSync(`${key}(${args.map((arg) => String(arg)).join(", ")})`);
|
|
8939
8959
|
const result = value(...args);
|
|
8940
|
-
|
|
8960
|
+
writeSync(`${key} returned: ${String(result)}`);
|
|
8941
8961
|
return result;
|
|
8942
8962
|
};
|
|
8943
8963
|
}
|
|
@@ -8959,6 +8979,13 @@ function convertToDebugSymbols(symbols) {
|
|
|
8959
8979
|
}
|
|
8960
8980
|
});
|
|
8961
8981
|
}
|
|
8982
|
+
if (env.OTUI_DEBUG_FFI && ffiLogWriter) {
|
|
8983
|
+
process.on("exit", () => {
|
|
8984
|
+
try {
|
|
8985
|
+
ffiLogWriter.end();
|
|
8986
|
+
} catch (e) {}
|
|
8987
|
+
});
|
|
8988
|
+
}
|
|
8962
8989
|
if (hasTracing) {
|
|
8963
8990
|
process.on("exit", () => {
|
|
8964
8991
|
const allStats = [];
|
|
@@ -9348,6 +9375,12 @@ class FFIRenderLib {
|
|
|
9348
9375
|
disableKittyKeyboard(renderer) {
|
|
9349
9376
|
this.opentui.symbols.disableKittyKeyboard(renderer);
|
|
9350
9377
|
}
|
|
9378
|
+
setUseKittyKeyboard(renderer, use) {
|
|
9379
|
+
this.opentui.symbols.setUseKittyKeyboard(renderer, use);
|
|
9380
|
+
}
|
|
9381
|
+
getUseKittyKeyboard(renderer) {
|
|
9382
|
+
return this.opentui.symbols.getUseKittyKeyboard(renderer);
|
|
9383
|
+
}
|
|
9351
9384
|
setupTerminal(renderer, useAlternateScreen) {
|
|
9352
9385
|
this.opentui.symbols.setupTerminal(renderer, useAlternateScreen);
|
|
9353
9386
|
}
|
|
@@ -11038,7 +11071,7 @@ class Renderable extends BaseRenderable {
|
|
|
11038
11071
|
}
|
|
11039
11072
|
try {
|
|
11040
11073
|
const widthMethod = this._ctx.widthMethod;
|
|
11041
|
-
this.frameBuffer = OptimizedBuffer.create(w, h, widthMethod, { respectAlpha: true });
|
|
11074
|
+
this.frameBuffer = OptimizedBuffer.create(w, h, widthMethod, { respectAlpha: true, id: `framebuffer-${this.id}` });
|
|
11042
11075
|
} catch (error) {
|
|
11043
11076
|
console.error(`Failed to create frame buffer for ${this.id}:`, error);
|
|
11044
11077
|
this.frameBuffer = null;
|
|
@@ -12517,6 +12550,8 @@ async function createCliRenderer(config = {}) {
|
|
|
12517
12550
|
config.useThread = false;
|
|
12518
12551
|
}
|
|
12519
12552
|
ziglib.setUseThread(rendererPtr, config.useThread);
|
|
12553
|
+
const useKittyKeyboard = config.useKittyKeyboard ?? true;
|
|
12554
|
+
ziglib.setUseKittyKeyboard(rendererPtr, useKittyKeyboard);
|
|
12520
12555
|
const renderer = new CliRenderer(ziglib, rendererPtr, stdin, stdout, width, height, config);
|
|
12521
12556
|
await renderer.setupTerminal();
|
|
12522
12557
|
return renderer;
|
|
@@ -12626,9 +12661,10 @@ class CliRenderer extends EventEmitter9 {
|
|
|
12626
12661
|
_latestPointer = { x: 0, y: 0 };
|
|
12627
12662
|
_currentFocusedRenderable = null;
|
|
12628
12663
|
lifecyclePasses = new Set;
|
|
12664
|
+
_openConsoleOnError = true;
|
|
12629
12665
|
handleError = ((error) => {
|
|
12630
12666
|
console.error(error);
|
|
12631
|
-
if (
|
|
12667
|
+
if (this._openConsoleOnError) {
|
|
12632
12668
|
this.console.show();
|
|
12633
12669
|
}
|
|
12634
12670
|
}).bind(this);
|
|
@@ -12713,7 +12749,8 @@ Captured output:
|
|
|
12713
12749
|
process.on("exit", this.exitHandler);
|
|
12714
12750
|
this._console = new TerminalConsole(this, config.consoleOptions);
|
|
12715
12751
|
this.useConsole = config.useConsole ?? true;
|
|
12716
|
-
this.
|
|
12752
|
+
this._openConsoleOnError = config.openConsoleOnError ?? true;
|
|
12753
|
+
this._keyHandler = new InternalKeyHandler(this.stdin, config.useKittyKeyboard ?? true);
|
|
12717
12754
|
this._keyHandler.on("keypress", (event) => {
|
|
12718
12755
|
if (this.exitOnCtrlC && event.name === "c" && event.ctrl) {
|
|
12719
12756
|
process.nextTick(() => {
|
|
@@ -12849,6 +12886,12 @@ Captured output:
|
|
|
12849
12886
|
get capabilities() {
|
|
12850
12887
|
return this._capabilities;
|
|
12851
12888
|
}
|
|
12889
|
+
get useKittyKeyboard() {
|
|
12890
|
+
return this.lib.getUseKittyKeyboard(this.rendererPtr);
|
|
12891
|
+
}
|
|
12892
|
+
set useKittyKeyboard(use) {
|
|
12893
|
+
this.lib.setUseKittyKeyboard(this.rendererPtr, use);
|
|
12894
|
+
}
|
|
12852
12895
|
set experimental_splitHeight(splitHeight) {
|
|
12853
12896
|
if (splitHeight < 0)
|
|
12854
12897
|
splitHeight = 0;
|
|
@@ -13622,5 +13665,5 @@ Captured output:
|
|
|
13622
13665
|
|
|
13623
13666
|
export { __toESM, __commonJS, __export, __require, Edge, Gutter, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, ANSI, StdinBuffer, 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, 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, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
13624
13667
|
|
|
13625
|
-
//# debugId=
|
|
13626
|
-
//# sourceMappingURL=index-
|
|
13668
|
+
//# debugId=A88F8272C607FC3964756E2164756E21
|
|
13669
|
+
//# sourceMappingURL=index-n8nbvvhk.js.map
|