@opentui/core 0.2.12 → 0.2.13
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/{index-ysvpktsp.js → index-04gp15zc.js} +35 -21
- package/{index-ysvpktsp.js.map → index-04gp15zc.js.map} +4 -4
- package/{index-abtpr3qx.js → index-7a82km21.js} +2 -2
- package/{index-6hvs3wp6.js → index-abcme1yw.js} +2 -2
- package/{index-wp87xqrj.js → index-q0cfnm5n.js} +3 -3
- package/index.js +2 -2
- package/native-event-worker-repro.worker.d.ts +1 -0
- package/package.json +7 -7
- package/runtime-plugin-support-configure.js +4 -4
- package/runtime-plugin-support.js +4 -4
- package/runtime-plugin.js +3 -3
- package/testing.js +1 -1
- /package/{index-abtpr3qx.js.map → index-7a82km21.js.map} +0 -0
- /package/{index-6hvs3wp6.js.map → index-abcme1yw.js.map} +0 -0
- /package/{index-wp87xqrj.js.map → index-q0cfnm5n.js.map} +0 -0
|
@@ -6664,15 +6664,29 @@ class Selection {
|
|
|
6664
6664
|
return this._touchedRenderables;
|
|
6665
6665
|
}
|
|
6666
6666
|
getSelectedText() {
|
|
6667
|
-
const
|
|
6667
|
+
const selectedTextsByLine = new Map;
|
|
6668
|
+
const selectedRenderables = this._selectedRenderables.sort((a, b) => {
|
|
6668
6669
|
const aY = a.y;
|
|
6669
6670
|
const bY = b.y;
|
|
6670
6671
|
if (aY !== bY) {
|
|
6671
6672
|
return aY - bY;
|
|
6672
6673
|
}
|
|
6673
6674
|
return a.x - b.x;
|
|
6674
|
-
}).filter((renderable) => !renderable.isDestroyed)
|
|
6675
|
-
|
|
6675
|
+
}).filter((renderable) => !renderable.isDestroyed);
|
|
6676
|
+
for (const renderable of selectedRenderables) {
|
|
6677
|
+
const text = renderable.getSelectedText();
|
|
6678
|
+
if (!text)
|
|
6679
|
+
continue;
|
|
6680
|
+
const lines = text.split(`
|
|
6681
|
+
`);
|
|
6682
|
+
for (let index = 0;index < lines.length; index += 1) {
|
|
6683
|
+
const y = renderable.y + index;
|
|
6684
|
+
const line = selectedTextsByLine.get(y) ?? [];
|
|
6685
|
+
line.push({ x: renderable.x, text: lines[index] });
|
|
6686
|
+
selectedTextsByLine.set(y, line);
|
|
6687
|
+
}
|
|
6688
|
+
}
|
|
6689
|
+
return [...selectedTextsByLine.entries()].sort(([leftY], [rightY]) => leftY - rightY).map(([, line]) => line.sort((left, right) => left.x - right.x).map((segment) => segment.text).join("")).join(`
|
|
6676
6690
|
`);
|
|
6677
6691
|
}
|
|
6678
6692
|
}
|
|
@@ -12467,7 +12481,11 @@ function getOpenTUILib(libPath) {
|
|
|
12467
12481
|
args: ["ptr"],
|
|
12468
12482
|
returns: "void"
|
|
12469
12483
|
},
|
|
12470
|
-
|
|
12484
|
+
createEventSink: {
|
|
12485
|
+
args: ["ptr"],
|
|
12486
|
+
returns: "ptr"
|
|
12487
|
+
},
|
|
12488
|
+
destroyEventSink: {
|
|
12471
12489
|
args: ["ptr"],
|
|
12472
12490
|
returns: "void"
|
|
12473
12491
|
},
|
|
@@ -13128,7 +13146,7 @@ function getOpenTUILib(libPath) {
|
|
|
13128
13146
|
returns: "void"
|
|
13129
13147
|
},
|
|
13130
13148
|
createEditBuffer: {
|
|
13131
|
-
args: ["u8"],
|
|
13149
|
+
args: ["u8", "ptr"],
|
|
13132
13150
|
returns: "ptr"
|
|
13133
13151
|
},
|
|
13134
13152
|
destroyEditBuffer: {
|
|
@@ -13728,6 +13746,7 @@ class FFIRenderLib {
|
|
|
13728
13746
|
decoder = new TextDecoder;
|
|
13729
13747
|
logCallbackWrapper = null;
|
|
13730
13748
|
eventCallbackWrapper = null;
|
|
13749
|
+
eventSinkPtr = null;
|
|
13731
13750
|
_nativeEvents = new EventEmitter4;
|
|
13732
13751
|
_anyEventHandlers = [];
|
|
13733
13752
|
nativeSpanFeedCallbackWrapper = null;
|
|
@@ -13793,15 +13812,8 @@ class FFIRenderLib {
|
|
|
13793
13812
|
if (nameLen === 0 || !namePtr) {
|
|
13794
13813
|
return;
|
|
13795
13814
|
}
|
|
13796
|
-
const
|
|
13797
|
-
const
|
|
13798
|
-
const eventName = this.decoder.decode(nameBytes);
|
|
13799
|
-
let eventData;
|
|
13800
|
-
if (dataLen > 0 && dataPtr) {
|
|
13801
|
-
eventData = toArrayBuffer(dataPtr, 0, dataLen).slice();
|
|
13802
|
-
} else {
|
|
13803
|
-
eventData = new ArrayBuffer(0);
|
|
13804
|
-
}
|
|
13815
|
+
const eventName = this.decoder.decode(toArrayBuffer(namePtr, 0, nameLen));
|
|
13816
|
+
const eventData = dataLen > 0 && dataPtr ? toArrayBuffer(dataPtr, 0, dataLen).slice(0) : new ArrayBuffer(0);
|
|
13805
13817
|
queueMicrotask(() => {
|
|
13806
13818
|
this._nativeEvents.emit(eventName, eventData);
|
|
13807
13819
|
for (const handler of this._anyEventHandlers) {
|
|
@@ -13819,7 +13831,12 @@ class FFIRenderLib {
|
|
|
13819
13831
|
if (!eventCallback.ptr) {
|
|
13820
13832
|
throw new Error("Failed to create event callback");
|
|
13821
13833
|
}
|
|
13822
|
-
this.
|
|
13834
|
+
this.eventSinkPtr = this.opentui.symbols.createEventSink(eventCallback.ptr);
|
|
13835
|
+
if (!this.eventSinkPtr) {
|
|
13836
|
+
eventCallback.close();
|
|
13837
|
+
this.eventCallbackWrapper = null;
|
|
13838
|
+
throw new Error("Failed to create native event sink");
|
|
13839
|
+
}
|
|
13823
13840
|
}
|
|
13824
13841
|
ensureNativeSpanFeedCallback() {
|
|
13825
13842
|
if (this.nativeSpanFeedCallbackWrapper) {
|
|
@@ -13840,9 +13857,6 @@ class FFIRenderLib {
|
|
|
13840
13857
|
}
|
|
13841
13858
|
return callback;
|
|
13842
13859
|
}
|
|
13843
|
-
setEventCallback(callbackPtr) {
|
|
13844
|
-
this.opentui.symbols.setEventCallback(callbackPtr);
|
|
13845
|
-
}
|
|
13846
13860
|
createRenderer(width, height, options = {}) {
|
|
13847
13861
|
const testing = options.testing ?? false;
|
|
13848
13862
|
const remote = options.remote ?? false;
|
|
@@ -14610,7 +14624,7 @@ class FFIRenderLib {
|
|
|
14610
14624
|
}
|
|
14611
14625
|
createEditBuffer(widthMethod) {
|
|
14612
14626
|
const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
|
|
14613
|
-
const bufferPtr = this.opentui.symbols.createEditBuffer(widthMethodCode);
|
|
14627
|
+
const bufferPtr = this.opentui.symbols.createEditBuffer(widthMethodCode, this.eventSinkPtr);
|
|
14614
14628
|
if (!bufferPtr) {
|
|
14615
14629
|
throw new Error("Failed to create EditBuffer");
|
|
14616
14630
|
}
|
|
@@ -24583,5 +24597,5 @@ Captured external output:
|
|
|
24583
24597
|
|
|
24584
24598
|
export { __export, __require, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, DEFAULT_FOREGROUND_RGB, DEFAULT_BACKGROUND_RGB, normalizeIndexedColorIndex, ansi256IndexToRgb, RGBA, normalizeColorValue, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, TargetChannel, createTextAttributes, attributesWithLink, getLinkId, 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, link, t, hastToStyledText, SystemClock, nonAlphanumericKeys, terminalNamedSingleStrokeKeys, parseKeypress, LinearScrollAccel, MacOSScrollAccel, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, StdinParser, treeSitterToTextChunks, treeSitterToStyledText, stringWidth2 as stringWidth, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, normalizeTerminalPalette, buildTerminalPaletteSignature, decodePasteBytes, stripAnsiSequences, detectLinks, toArrayBuffer, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, TextBufferView, EditBuffer, EditorView, convertThemeToStyles, SyntaxStyle, ANSI, BoxRenderable, TextBufferRenderable, CodeRenderable, isTextNodeRenderable, TextNodeRenderable, RootTextNodeRenderable, TextRenderable, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingAction, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, EditBufferRenderableEvents, isEditBufferRenderable, EditBufferRenderable, calculateRenderGeometry, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
24585
24599
|
|
|
24586
|
-
//# debugId=
|
|
24587
|
-
//# sourceMappingURL=index-
|
|
24600
|
+
//# debugId=8B5573B974F2A3AE64756E2164756E21
|
|
24601
|
+
//# sourceMappingURL=index-04gp15zc.js.map
|