@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 +1 -1
- package/edit-buffer.d.ts +20 -6
- package/{index-crebvcxc.js → index-916mvx7m.js} +66 -27
- package/{index-crebvcxc.js.map → index-916mvx7m.js.map} +5 -5
- package/index.js +56 -32
- package/index.js.map +6 -6
- package/lib/extmarks.d.ts +1 -0
- package/package.json +7 -7
- package/renderables/EditBufferRenderable.d.ts +10 -3
- package/renderer.d.ts +12 -1
- package/testing.js +4 -2
- package/testing.js.map +3 -3
- package/zig.d.ts +6 -4
package/3d.js
CHANGED
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;
|
|
@@ -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
|
|
8556
|
+
this.editBuffer.setText = (text) => {
|
|
8555
8557
|
if (this.destroyed) {
|
|
8556
|
-
this.originalSetText(text
|
|
8558
|
+
this.originalSetText(text);
|
|
8557
8559
|
return;
|
|
8558
8560
|
}
|
|
8559
|
-
|
|
8560
|
-
|
|
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.
|
|
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
|
-
|
|
10350
|
-
args: ["ptr", "
|
|
10358
|
+
setKittyKeyboardFlags: {
|
|
10359
|
+
args: ["ptr", "u8"],
|
|
10351
10360
|
returns: "void"
|
|
10352
10361
|
},
|
|
10353
|
-
|
|
10362
|
+
getKittyKeyboardFlags: {
|
|
10354
10363
|
args: ["ptr"],
|
|
10355
|
-
returns: "
|
|
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"
|
|
10647
|
+
args: ["ptr", "ptr", "usize"],
|
|
10639
10648
|
returns: "void"
|
|
10640
10649
|
},
|
|
10641
10650
|
editBufferSetTextFromMem: {
|
|
10642
|
-
args: ["ptr", "u8"
|
|
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
|
-
|
|
11353
|
-
this.opentui.symbols.
|
|
11369
|
+
setKittyKeyboardFlags(renderer, flags) {
|
|
11370
|
+
this.opentui.symbols.setKittyKeyboardFlags(renderer, flags);
|
|
11354
11371
|
}
|
|
11355
|
-
|
|
11356
|
-
return this.opentui.symbols.
|
|
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
|
|
11733
|
-
this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length
|
|
11749
|
+
editBufferSetText(buffer, textBytes) {
|
|
11750
|
+
this.opentui.symbols.editBufferSetText(buffer, textBytes, textBytes.length);
|
|
11734
11751
|
}
|
|
11735
|
-
editBufferSetTextFromMem(buffer, memId
|
|
11736
|
-
this.opentui.symbols.editBufferSetTextFromMem(buffer, memId
|
|
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
|
|
14643
|
-
|
|
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
|
-
|
|
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.
|
|
15098
|
+
return this.lib.getKittyKeyboardFlags(this.rendererPtr) > 0;
|
|
15061
15099
|
}
|
|
15062
15100
|
set useKittyKeyboard(use) {
|
|
15063
|
-
|
|
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=
|
|
15949
|
-
//# sourceMappingURL=index-
|
|
15987
|
+
//# debugId=DF99D6EBE6E4045C64756E2164756E21
|
|
15988
|
+
//# sourceMappingURL=index-916mvx7m.js.map
|