@opentui/core 0.2.12 → 0.2.14
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-3fq5hq97.js} +60 -21
- package/{index-ysvpktsp.js.map → index-3fq5hq97.js.map} +5 -5
- package/{index-wp87xqrj.js → index-5v692kqx.js} +3 -3
- package/{index-abtpr3qx.js → index-nhyfhtvf.js} +9 -6
- package/{index-abtpr3qx.js.map → index-nhyfhtvf.js.map} +5 -5
- package/{index-6hvs3wp6.js → index-wdak3pbx.js} +2 -2
- 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-wp87xqrj.js.map → index-5v692kqx.js.map} +0 -0
- /package/{index-6hvs3wp6.js.map → index-wdak3pbx.js.map} +0 -0
|
@@ -5537,6 +5537,28 @@ var kittyKeyMap = {
|
|
|
5537
5537
|
57454: "iso_level5_shift"
|
|
5538
5538
|
};
|
|
5539
5539
|
var kittyNamedSingleStrokeKeys = [...new Set(Object.values(kittyKeyMap))];
|
|
5540
|
+
var printableKeypadText = {
|
|
5541
|
+
kp0: "0",
|
|
5542
|
+
kp1: "1",
|
|
5543
|
+
kp2: "2",
|
|
5544
|
+
kp3: "3",
|
|
5545
|
+
kp4: "4",
|
|
5546
|
+
kp5: "5",
|
|
5547
|
+
kp6: "6",
|
|
5548
|
+
kp7: "7",
|
|
5549
|
+
kp8: "8",
|
|
5550
|
+
kp9: "9",
|
|
5551
|
+
kpdecimal: ".",
|
|
5552
|
+
kpdivide: "/",
|
|
5553
|
+
kpmultiply: "*",
|
|
5554
|
+
kpminus: "-",
|
|
5555
|
+
kpplus: "+",
|
|
5556
|
+
kpequal: "=",
|
|
5557
|
+
kpseparator: ","
|
|
5558
|
+
};
|
|
5559
|
+
function getPrintableKittyKeyText(key) {
|
|
5560
|
+
return printableKeypadText[key.name];
|
|
5561
|
+
}
|
|
5540
5562
|
function fromKittyMods(mod) {
|
|
5541
5563
|
return {
|
|
5542
5564
|
shift: !!(mod & 1),
|
|
@@ -5749,6 +5771,9 @@ function parseKittyKeyboard(sequence) {
|
|
|
5749
5771
|
}
|
|
5750
5772
|
}
|
|
5751
5773
|
}
|
|
5774
|
+
if (text === "") {
|
|
5775
|
+
text = getPrintableKittyKeyText(key) ?? "";
|
|
5776
|
+
}
|
|
5752
5777
|
if (text === "") {
|
|
5753
5778
|
const isPrintable = key.name.length > 0 && !kittyKeyMap[codepoint];
|
|
5754
5779
|
if (isPrintable) {
|
|
@@ -6664,15 +6689,29 @@ class Selection {
|
|
|
6664
6689
|
return this._touchedRenderables;
|
|
6665
6690
|
}
|
|
6666
6691
|
getSelectedText() {
|
|
6667
|
-
const
|
|
6692
|
+
const selectedTextsByLine = new Map;
|
|
6693
|
+
const selectedRenderables = this._selectedRenderables.sort((a, b) => {
|
|
6668
6694
|
const aY = a.y;
|
|
6669
6695
|
const bY = b.y;
|
|
6670
6696
|
if (aY !== bY) {
|
|
6671
6697
|
return aY - bY;
|
|
6672
6698
|
}
|
|
6673
6699
|
return a.x - b.x;
|
|
6674
|
-
}).filter((renderable) => !renderable.isDestroyed)
|
|
6675
|
-
|
|
6700
|
+
}).filter((renderable) => !renderable.isDestroyed);
|
|
6701
|
+
for (const renderable of selectedRenderables) {
|
|
6702
|
+
const text = renderable.getSelectedText();
|
|
6703
|
+
if (!text)
|
|
6704
|
+
continue;
|
|
6705
|
+
const lines = text.split(`
|
|
6706
|
+
`);
|
|
6707
|
+
for (let index = 0;index < lines.length; index += 1) {
|
|
6708
|
+
const y = renderable.y + index;
|
|
6709
|
+
const line = selectedTextsByLine.get(y) ?? [];
|
|
6710
|
+
line.push({ x: renderable.x, text: lines[index] });
|
|
6711
|
+
selectedTextsByLine.set(y, line);
|
|
6712
|
+
}
|
|
6713
|
+
}
|
|
6714
|
+
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
6715
|
`);
|
|
6677
6716
|
}
|
|
6678
6717
|
}
|
|
@@ -12467,7 +12506,11 @@ function getOpenTUILib(libPath) {
|
|
|
12467
12506
|
args: ["ptr"],
|
|
12468
12507
|
returns: "void"
|
|
12469
12508
|
},
|
|
12470
|
-
|
|
12509
|
+
createEventSink: {
|
|
12510
|
+
args: ["ptr"],
|
|
12511
|
+
returns: "ptr"
|
|
12512
|
+
},
|
|
12513
|
+
destroyEventSink: {
|
|
12471
12514
|
args: ["ptr"],
|
|
12472
12515
|
returns: "void"
|
|
12473
12516
|
},
|
|
@@ -13128,7 +13171,7 @@ function getOpenTUILib(libPath) {
|
|
|
13128
13171
|
returns: "void"
|
|
13129
13172
|
},
|
|
13130
13173
|
createEditBuffer: {
|
|
13131
|
-
args: ["u8"],
|
|
13174
|
+
args: ["u8", "ptr"],
|
|
13132
13175
|
returns: "ptr"
|
|
13133
13176
|
},
|
|
13134
13177
|
destroyEditBuffer: {
|
|
@@ -13728,6 +13771,7 @@ class FFIRenderLib {
|
|
|
13728
13771
|
decoder = new TextDecoder;
|
|
13729
13772
|
logCallbackWrapper = null;
|
|
13730
13773
|
eventCallbackWrapper = null;
|
|
13774
|
+
eventSinkPtr = null;
|
|
13731
13775
|
_nativeEvents = new EventEmitter4;
|
|
13732
13776
|
_anyEventHandlers = [];
|
|
13733
13777
|
nativeSpanFeedCallbackWrapper = null;
|
|
@@ -13793,15 +13837,8 @@ class FFIRenderLib {
|
|
|
13793
13837
|
if (nameLen === 0 || !namePtr) {
|
|
13794
13838
|
return;
|
|
13795
13839
|
}
|
|
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
|
-
}
|
|
13840
|
+
const eventName = this.decoder.decode(toArrayBuffer(namePtr, 0, nameLen));
|
|
13841
|
+
const eventData = dataLen > 0 && dataPtr ? toArrayBuffer(dataPtr, 0, dataLen).slice(0) : new ArrayBuffer(0);
|
|
13805
13842
|
queueMicrotask(() => {
|
|
13806
13843
|
this._nativeEvents.emit(eventName, eventData);
|
|
13807
13844
|
for (const handler of this._anyEventHandlers) {
|
|
@@ -13819,7 +13856,12 @@ class FFIRenderLib {
|
|
|
13819
13856
|
if (!eventCallback.ptr) {
|
|
13820
13857
|
throw new Error("Failed to create event callback");
|
|
13821
13858
|
}
|
|
13822
|
-
this.
|
|
13859
|
+
this.eventSinkPtr = this.opentui.symbols.createEventSink(eventCallback.ptr);
|
|
13860
|
+
if (!this.eventSinkPtr) {
|
|
13861
|
+
eventCallback.close();
|
|
13862
|
+
this.eventCallbackWrapper = null;
|
|
13863
|
+
throw new Error("Failed to create native event sink");
|
|
13864
|
+
}
|
|
13823
13865
|
}
|
|
13824
13866
|
ensureNativeSpanFeedCallback() {
|
|
13825
13867
|
if (this.nativeSpanFeedCallbackWrapper) {
|
|
@@ -13840,9 +13882,6 @@ class FFIRenderLib {
|
|
|
13840
13882
|
}
|
|
13841
13883
|
return callback;
|
|
13842
13884
|
}
|
|
13843
|
-
setEventCallback(callbackPtr) {
|
|
13844
|
-
this.opentui.symbols.setEventCallback(callbackPtr);
|
|
13845
|
-
}
|
|
13846
13885
|
createRenderer(width, height, options = {}) {
|
|
13847
13886
|
const testing = options.testing ?? false;
|
|
13848
13887
|
const remote = options.remote ?? false;
|
|
@@ -14610,7 +14649,7 @@ class FFIRenderLib {
|
|
|
14610
14649
|
}
|
|
14611
14650
|
createEditBuffer(widthMethod) {
|
|
14612
14651
|
const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
|
|
14613
|
-
const bufferPtr = this.opentui.symbols.createEditBuffer(widthMethodCode);
|
|
14652
|
+
const bufferPtr = this.opentui.symbols.createEditBuffer(widthMethodCode, this.eventSinkPtr);
|
|
14614
14653
|
if (!bufferPtr) {
|
|
14615
14654
|
throw new Error("Failed to create EditBuffer");
|
|
14616
14655
|
}
|
|
@@ -24583,5 +24622,5 @@ Captured external output:
|
|
|
24583
24622
|
|
|
24584
24623
|
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
24624
|
|
|
24586
|
-
//# debugId=
|
|
24587
|
-
//# sourceMappingURL=index-
|
|
24625
|
+
//# debugId=4B41C39B0C423CD964756E2164756E21
|
|
24626
|
+
//# sourceMappingURL=index-3fq5hq97.js.map
|