@opentui/core 0.1.58 → 0.1.60

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-crebvcxc.js";
8
+ } from "./index-916mvx7m.js";
9
9
 
10
10
  // ../../node_modules/omggif/omggif.js
11
11
  var require_omggif = __commonJS((exports) => {
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
- setText(text: string, opts?: {
30
- history?: boolean;
31
- }): void;
32
- setTextOwned(text: string, opts?: {
33
- history?: boolean;
34
- }): void;
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;
@@ -8266,6 +8266,7 @@ class ExtmarksController {
8266
8266
  originalInsertChar;
8267
8267
  originalDeleteRange;
8268
8268
  originalSetText;
8269
+ originalReplaceText;
8269
8270
  originalClear;
8270
8271
  originalNewLine;
8271
8272
  originalDeleteLine;
@@ -8286,6 +8287,7 @@ class ExtmarksController {
8286
8287
  this.originalInsertChar = editBuffer.insertChar.bind(editBuffer);
8287
8288
  this.originalDeleteRange = editBuffer.deleteRange.bind(editBuffer);
8288
8289
  this.originalSetText = editBuffer.setText.bind(editBuffer);
8290
+ this.originalReplaceText = editBuffer.replaceText.bind(editBuffer);
8289
8291
  this.originalClear = editBuffer.clear.bind(editBuffer);
8290
8292
  this.originalNewLine = editBuffer.newLine.bind(editBuffer);
8291
8293
  this.originalDeleteLine = editBuffer.deleteLine.bind(editBuffer);
@@ -8551,16 +8553,22 @@ class ExtmarksController {
8551
8553
  this.originalInsertChar(char);
8552
8554
  this.adjustExtmarksAfterInsertion(currentOffset, 1);
8553
8555
  };
8554
- this.editBuffer.setText = (text, opts) => {
8556
+ this.editBuffer.setText = (text) => {
8555
8557
  if (this.destroyed) {
8556
- this.originalSetText(text, opts);
8558
+ this.originalSetText(text);
8557
8559
  return;
8558
8560
  }
8559
- if (opts?.history !== false) {
8560
- this.saveSnapshot();
8561
+ this.clear();
8562
+ this.originalSetText(text);
8563
+ };
8564
+ this.editBuffer.replaceText = (text) => {
8565
+ if (this.destroyed) {
8566
+ this.originalReplaceText(text);
8567
+ return;
8561
8568
  }
8569
+ this.saveSnapshot();
8562
8570
  this.clear();
8563
- this.originalSetText(text, opts);
8571
+ this.originalReplaceText(text);
8564
8572
  };
8565
8573
  this.editBuffer.clear = () => {
8566
8574
  if (this.destroyed) {
@@ -8879,6 +8887,7 @@ class ExtmarksController {
8879
8887
  this.editBuffer.insertChar = this.originalInsertChar;
8880
8888
  this.editBuffer.deleteRange = this.originalDeleteRange;
8881
8889
  this.editBuffer.setText = this.originalSetText;
8890
+ this.editBuffer.replaceText = this.originalReplaceText;
8882
8891
  this.editBuffer.clear = this.originalClear;
8883
8892
  this.editBuffer.newLine = this.originalNewLine;
8884
8893
  this.editBuffer.deleteLine = this.originalDeleteLine;
@@ -10346,13 +10355,13 @@ function getOpenTUILib(libPath) {
10346
10355
  args: ["ptr"],
10347
10356
  returns: "void"
10348
10357
  },
10349
- setUseKittyKeyboard: {
10350
- args: ["ptr", "bool"],
10358
+ setKittyKeyboardFlags: {
10359
+ args: ["ptr", "u8"],
10351
10360
  returns: "void"
10352
10361
  },
10353
- getUseKittyKeyboard: {
10362
+ getKittyKeyboardFlags: {
10354
10363
  args: ["ptr"],
10355
- returns: "bool"
10364
+ returns: "u8"
10356
10365
  },
10357
10366
  setupTerminal: {
10358
10367
  args: ["ptr", "bool"],
@@ -10635,11 +10644,19 @@ function getOpenTUILib(libPath) {
10635
10644
  returns: "void"
10636
10645
  },
10637
10646
  editBufferSetText: {
10638
- args: ["ptr", "ptr", "usize", "bool"],
10647
+ args: ["ptr", "ptr", "usize"],
10639
10648
  returns: "void"
10640
10649
  },
10641
10650
  editBufferSetTextFromMem: {
10642
- args: ["ptr", "u8", "bool"],
10651
+ args: ["ptr", "u8"],
10652
+ returns: "void"
10653
+ },
10654
+ editBufferReplaceText: {
10655
+ args: ["ptr", "ptr", "usize"],
10656
+ returns: "void"
10657
+ },
10658
+ editBufferReplaceTextFromMem: {
10659
+ args: ["ptr", "u8"],
10643
10660
  returns: "void"
10644
10661
  },
10645
10662
  editBufferGetText: {
@@ -11349,11 +11366,11 @@ class FFIRenderLib {
11349
11366
  disableKittyKeyboard(renderer) {
11350
11367
  this.opentui.symbols.disableKittyKeyboard(renderer);
11351
11368
  }
11352
- setUseKittyKeyboard(renderer, use) {
11353
- this.opentui.symbols.setUseKittyKeyboard(renderer, use);
11369
+ setKittyKeyboardFlags(renderer, flags) {
11370
+ this.opentui.symbols.setKittyKeyboardFlags(renderer, flags);
11354
11371
  }
11355
- getUseKittyKeyboard(renderer) {
11356
- return this.opentui.symbols.getUseKittyKeyboard(renderer);
11372
+ getKittyKeyboardFlags(renderer) {
11373
+ return this.opentui.symbols.getKittyKeyboardFlags(renderer);
11357
11374
  }
11358
11375
  setupTerminal(renderer, useAlternateScreen) {
11359
11376
  this.opentui.symbols.setupTerminal(renderer, useAlternateScreen);
@@ -11729,11 +11746,17 @@ class FFIRenderLib {
11729
11746
  destroyEditBuffer(buffer) {
11730
11747
  this.opentui.symbols.destroyEditBuffer(buffer);
11731
11748
  }
11732
- editBufferSetText(buffer, textBytes, retainHistory = true) {
11733
- this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length, retainHistory);
11749
+ editBufferSetText(buffer, textBytes) {
11750
+ this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length);
11734
11751
  }
11735
- editBufferSetTextFromMem(buffer, memId, retainHistory = true) {
11736
- this.opentui.symbols.editBufferSetTextFromMem(buffer, memId, retainHistory);
11752
+ editBufferSetTextFromMem(buffer, memId) {
11753
+ this.opentui.symbols.editBufferSetTextFromMem(buffer, memId);
11754
+ }
11755
+ editBufferReplaceText(buffer, textBytes) {
11756
+ this.opentui.symbols.editBufferReplaceText(buffer, textBytes, textBytes.length);
11757
+ }
11758
+ editBufferReplaceTextFromMem(buffer, memId) {
11759
+ this.opentui.symbols.editBufferReplaceTextFromMem(buffer, memId);
11737
11760
  }
11738
11761
  editBufferGetText(buffer, maxLength) {
11739
11762
  const outBuffer = new Uint8Array(maxLength);
@@ -14555,6 +14578,18 @@ registerEnvVar({
14555
14578
  type: "boolean",
14556
14579
  default: false
14557
14580
  });
14581
+ var KITTY_FLAG_ALTERNATE_KEYS = 1;
14582
+ var KITTY_FLAG_EVENT_TYPES = 2;
14583
+ function buildKittyKeyboardFlags(config) {
14584
+ if (!config) {
14585
+ return 0;
14586
+ }
14587
+ let flags = KITTY_FLAG_ALTERNATE_KEYS;
14588
+ if (config.events) {
14589
+ flags |= KITTY_FLAG_EVENT_TYPES;
14590
+ }
14591
+ return flags;
14592
+ }
14558
14593
 
14559
14594
  class MouseEvent {
14560
14595
  type;
@@ -14639,8 +14674,9 @@ async function createCliRenderer(config = {}) {
14639
14674
  config.useThread = false;
14640
14675
  }
14641
14676
  ziglib.setUseThread(rendererPtr, config.useThread);
14642
- const useKittyKeyboard = config.useKittyKeyboard ?? true;
14643
- ziglib.setUseKittyKeyboard(rendererPtr, useKittyKeyboard);
14677
+ const kittyConfig = config.useKittyKeyboard ?? {};
14678
+ const kittyFlags = buildKittyKeyboardFlags(kittyConfig);
14679
+ ziglib.setKittyKeyboardFlags(rendererPtr, kittyFlags);
14644
14680
  const renderer = new CliRenderer(ziglib, rendererPtr, stdin, stdout, width, height, config);
14645
14681
  await renderer.setupTerminal();
14646
14682
  return renderer;
@@ -14856,7 +14892,9 @@ Captured output:
14856
14892
  process.on("uncaughtException", this.handleError);
14857
14893
  process.on("unhandledRejection", this.handleError);
14858
14894
  process.on("beforeExit", this.exitHandler);
14859
- this._keyHandler = new InternalKeyHandler(config.useKittyKeyboard ?? true);
14895
+ const kittyConfig = config.useKittyKeyboard ?? {};
14896
+ const useKittyForParsing = kittyConfig !== null;
14897
+ this._keyHandler = new InternalKeyHandler(useKittyForParsing);
14860
14898
  this._keyHandler.on("keypress", (event) => {
14861
14899
  if (this.exitOnCtrlC && event.name === "c" && event.ctrl) {
14862
14900
  process.nextTick(() => {
@@ -15057,10 +15095,11 @@ Captured output:
15057
15095
  return [...this._debugInputs];
15058
15096
  }
15059
15097
  get useKittyKeyboard() {
15060
- return this.lib.getUseKittyKeyboard(this.rendererPtr);
15098
+ return this.lib.getKittyKeyboardFlags(this.rendererPtr) > 0;
15061
15099
  }
15062
15100
  set useKittyKeyboard(use) {
15063
- this.lib.setUseKittyKeyboard(this.rendererPtr, use);
15101
+ const flags = use ? KITTY_FLAG_ALTERNATE_KEYS : 0;
15102
+ this.lib.setKittyKeyboardFlags(this.rendererPtr, flags);
15064
15103
  }
15065
15104
  set experimental_splitHeight(splitHeight) {
15066
15105
  if (splitHeight < 0)
@@ -15943,7 +15982,7 @@ Captured output:
15943
15982
  }
15944
15983
  }
15945
15984
 
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 };
15985
+ 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
15986
 
15948
- //# debugId=50CCF62F4F782D5964756E2164756E21
15949
- //# sourceMappingURL=index-crebvcxc.js.map
15987
+ //# debugId=DF99D6EBE6E4045C64756E2164756E21
15988
+ //# sourceMappingURL=index-916mvx7m.js.map