@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 CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  __export,
6
6
  __require,
7
7
  __toESM
8
- } from "./index-xqg0a6ka.js";
8
+ } from "./index-n8nbvvhk.js";
9
9
 
10
10
  // ../../node_modules/.bun/omggif@1.0.10/node_modules/omggif/omggif.js
11
11
  var require_omggif = __commonJS((exports) => {
@@ -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
- console.log(`${key}(${args.map((arg) => String(arg)).join(", ")})`);
8958
+ writeSync(`${key}(${args.map((arg) => String(arg)).join(", ")})`);
8939
8959
  const result = value(...args);
8940
- console.log(`${key} returned:`, String(result));
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 (true) {
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._keyHandler = new InternalKeyHandler(this.stdin, config.useKittyKeyboard ?? false);
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=528F00EFA5B11C6264756E2164756E21
13626
- //# sourceMappingURL=index-xqg0a6ka.js.map
13668
+ //# debugId=A88F8272C607FC3964756E2164756E21
13669
+ //# sourceMappingURL=index-n8nbvvhk.js.map