@fairyhunter13/opentui-core 0.1.118 → 0.1.120
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/Renderable.d.ts +3 -0
- package/{index-v2yvk7z6.js → index-9bd06khd.js} +2 -2
- package/{index-cbt8k699.js → index-g2c8aqza.js} +107 -86
- package/{index-cbt8k699.js.map → index-g2c8aqza.js.map} +8 -8
- package/{index-1wy9qd23.js → index-nz31tpwh.js} +3 -3
- package/index.js +2 -2
- package/lib/tree-sitter/default-parsers.d.ts +1 -1
- package/package.json +7 -7
- package/renderer.d.ts +1 -0
- package/runtime-plugin-support.js +3 -3
- package/runtime-plugin.js +3 -3
- package/testing.js +1 -1
- package/types.d.ts +1 -0
- /package/{index-v2yvk7z6.js.map → index-9bd06khd.js.map} +0 -0
- /package/{index-1wy9qd23.js.map → index-nz31tpwh.js.map} +0 -0
package/3d.js
CHANGED
package/Renderable.d.ts
CHANGED
|
@@ -132,6 +132,7 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
132
132
|
protected frameBuffer: OptimizedBuffer | null;
|
|
133
133
|
protected _focusable: boolean;
|
|
134
134
|
protected _focused: boolean;
|
|
135
|
+
protected _hasFocusedDescendant: boolean;
|
|
135
136
|
protected keypressHandler: ((key: KeyEvent) => void) | null;
|
|
136
137
|
protected pasteHandler: ((event: PasteEvent) => void) | null;
|
|
137
138
|
private _live;
|
|
@@ -174,8 +175,10 @@ export declare abstract class Renderable extends BaseRenderable {
|
|
|
174
175
|
getSelectedText(): string;
|
|
175
176
|
shouldStartSelection(x: number, y: number): boolean;
|
|
176
177
|
focus(): void;
|
|
178
|
+
protected propagateFocusChange(hasFocus: boolean): void;
|
|
177
179
|
blur(): void;
|
|
178
180
|
get focused(): boolean;
|
|
181
|
+
get hasFocusedDescendant(): boolean;
|
|
179
182
|
get live(): boolean;
|
|
180
183
|
get liveCount(): number;
|
|
181
184
|
set live(value: boolean);
|
|
@@ -167,7 +167,7 @@ import {
|
|
|
167
167
|
white,
|
|
168
168
|
wrapWithDelegates,
|
|
169
169
|
yellow
|
|
170
|
-
} from "./index-
|
|
170
|
+
} from "./index-g2c8aqza.js";
|
|
171
171
|
|
|
172
172
|
// src/index.ts
|
|
173
173
|
var exports_src2 = {};
|
|
@@ -12296,4 +12296,4 @@ class TimeToFirstDrawRenderable extends Renderable {
|
|
|
12296
12296
|
export { TextBufferView, convertThemeToStyles, SyntaxStyle, DistortionEffect, VignetteEffect, CloudsEffect, FlamesEffect, CRTRollingBarEffect, RainbowTextEffect, applyScanlines, applyInvert, applyNoise, applyChromaticAberration, applyAsciiArt, applyBrightness, applyGain, applySaturation, BloomEffect, SEPIA_MATRIX, PROTANOPIA_SIM_MATRIX, DEUTERANOPIA_SIM_MATRIX, TRITANOPIA_SIM_MATRIX, ACHROMATOPSIA_MATRIX, PROTANOPIA_COMP_MATRIX, DEUTERANOPIA_COMP_MATRIX, TRITANOPIA_COMP_MATRIX, TECHNICOLOR_MATRIX, SOLARIZATION_MATRIX, SYNTHWAVE_MATRIX, GREENSCALE_MATRIX, GRAYSCALE_MATRIX, INVERT_MATRIX, Timeline, engine, createTimeline, SlotRegistry, createSlotRegistry, createCoreSlotRegistry, registerCorePlugin, resolveCoreSlot, SlotRenderable, NativeSpanFeed, FrameBufferRenderable, ASCIIFontRenderable, BoxRenderable, TextBufferRenderable, CodeRenderable, isTextNodeRenderable, TextNodeRenderable, RootTextNodeRenderable, Generic, Box, Text, ASCIIFont, Input, Select, TabSelect, FrameBuffer, Code, ScrollBox, vstyles, VRenderable, LineNumberRenderable, TextRenderable, DiffRenderable, TextareaRenderable, InputRenderableEvents, InputRenderable, TextTableRenderable, MarkdownRenderable, SliderRenderable, ScrollBarRenderable, ArrowRenderable, ScrollBoxRenderable, SelectRenderableEvents, SelectRenderable, TabSelectRenderableEvents, TabSelectRenderable, TimeToFirstDrawRenderable, exports_src2 as exports_src };
|
|
12297
12297
|
|
|
12298
12298
|
//# debugId=2DA8089E55F2756B64756E2164756E21
|
|
12299
|
-
//# sourceMappingURL=index-
|
|
12299
|
+
//# sourceMappingURL=index-9bd06khd.js.map
|
|
@@ -8457,19 +8457,7 @@ class ProcessQueue {
|
|
|
8457
8457
|
}
|
|
8458
8458
|
|
|
8459
8459
|
// src/lib/tree-sitter/default-parsers.ts
|
|
8460
|
-
import { resolve, dirname } from "path";
|
|
8461
8460
|
import { fileURLToPath } from "url";
|
|
8462
|
-
import javascript_highlights from "./assets/javascript/highlights.scm" with { type: "file" };
|
|
8463
|
-
import javascript_language from "./assets/javascript/tree-sitter-javascript.wasm" with { type: "file" };
|
|
8464
|
-
import typescript_highlights from "./assets/typescript/highlights.scm" with { type: "file" };
|
|
8465
|
-
import typescript_language from "./assets/typescript/tree-sitter-typescript.wasm" with { type: "file" };
|
|
8466
|
-
import markdown_highlights from "./assets/markdown/highlights.scm" with { type: "file" };
|
|
8467
|
-
import markdown_language from "./assets/markdown/tree-sitter-markdown.wasm" with { type: "file" };
|
|
8468
|
-
import markdown_injections from "./assets/markdown/injections.scm" with { type: "file" };
|
|
8469
|
-
import markdown_inline_highlights from "./assets/markdown_inline/highlights.scm" with { type: "file" };
|
|
8470
|
-
import markdown_inline_language from "./assets/markdown_inline/tree-sitter-markdown_inline.wasm" with { type: "file" };
|
|
8471
|
-
import zig_highlights from "./assets/zig/highlights.scm" with { type: "file" };
|
|
8472
|
-
import zig_language from "./assets/zig/tree-sitter-zig.wasm" with { type: "file" };
|
|
8473
8461
|
var _cachedParsers;
|
|
8474
8462
|
function getParsers() {
|
|
8475
8463
|
if (!_cachedParsers) {
|
|
@@ -8478,25 +8466,25 @@ function getParsers() {
|
|
|
8478
8466
|
filetype: "javascript",
|
|
8479
8467
|
aliases: ["javascriptreact"],
|
|
8480
8468
|
queries: {
|
|
8481
|
-
highlights: [
|
|
8469
|
+
highlights: [fileURLToPath(new URL("./assets/javascript/highlights.scm", import.meta.url))]
|
|
8482
8470
|
},
|
|
8483
|
-
wasm:
|
|
8471
|
+
wasm: fileURLToPath(new URL("./assets/javascript/tree-sitter-javascript.wasm", import.meta.url))
|
|
8484
8472
|
},
|
|
8485
8473
|
{
|
|
8486
8474
|
filetype: "typescript",
|
|
8487
8475
|
aliases: ["typescriptreact"],
|
|
8488
8476
|
queries: {
|
|
8489
|
-
highlights: [
|
|
8477
|
+
highlights: [fileURLToPath(new URL("./assets/typescript/highlights.scm", import.meta.url))]
|
|
8490
8478
|
},
|
|
8491
|
-
wasm:
|
|
8479
|
+
wasm: fileURLToPath(new URL("./assets/typescript/tree-sitter-typescript.wasm", import.meta.url))
|
|
8492
8480
|
},
|
|
8493
8481
|
{
|
|
8494
8482
|
filetype: "markdown",
|
|
8495
8483
|
queries: {
|
|
8496
|
-
highlights: [
|
|
8497
|
-
injections: [
|
|
8484
|
+
highlights: [fileURLToPath(new URL("./assets/markdown/highlights.scm", import.meta.url))],
|
|
8485
|
+
injections: [fileURLToPath(new URL("./assets/markdown/injections.scm", import.meta.url))]
|
|
8498
8486
|
},
|
|
8499
|
-
wasm:
|
|
8487
|
+
wasm: fileURLToPath(new URL("./assets/markdown/tree-sitter-markdown.wasm", import.meta.url)),
|
|
8500
8488
|
injectionMapping: {
|
|
8501
8489
|
nodeTypes: {
|
|
8502
8490
|
inline: "markdown_inline",
|
|
@@ -8519,16 +8507,16 @@ function getParsers() {
|
|
|
8519
8507
|
{
|
|
8520
8508
|
filetype: "markdown_inline",
|
|
8521
8509
|
queries: {
|
|
8522
|
-
highlights: [
|
|
8510
|
+
highlights: [fileURLToPath(new URL("./assets/markdown_inline/highlights.scm", import.meta.url))]
|
|
8523
8511
|
},
|
|
8524
|
-
wasm:
|
|
8512
|
+
wasm: fileURLToPath(new URL("./assets/markdown_inline/tree-sitter-markdown_inline.wasm", import.meta.url))
|
|
8525
8513
|
},
|
|
8526
8514
|
{
|
|
8527
8515
|
filetype: "zig",
|
|
8528
8516
|
queries: {
|
|
8529
|
-
highlights: [
|
|
8517
|
+
highlights: [fileURLToPath(new URL("./assets/zig/highlights.scm", import.meta.url))]
|
|
8530
8518
|
},
|
|
8531
|
-
wasm:
|
|
8519
|
+
wasm: fileURLToPath(new URL("./assets/zig/tree-sitter-zig.wasm", import.meta.url))
|
|
8532
8520
|
}
|
|
8533
8521
|
];
|
|
8534
8522
|
}
|
|
@@ -8536,7 +8524,7 @@ function getParsers() {
|
|
|
8536
8524
|
}
|
|
8537
8525
|
|
|
8538
8526
|
// src/lib/tree-sitter/client.ts
|
|
8539
|
-
import { resolve
|
|
8527
|
+
import { resolve, isAbsolute, parse } from "path";
|
|
8540
8528
|
import { existsSync } from "fs";
|
|
8541
8529
|
|
|
8542
8530
|
// src/lib/bunfs.ts
|
|
@@ -8609,7 +8597,7 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8609
8597
|
worker_path = this.options.workerPath;
|
|
8610
8598
|
} else {
|
|
8611
8599
|
worker_path = new URL("./parser.worker.js", import.meta.url).href;
|
|
8612
|
-
if (!existsSync(
|
|
8600
|
+
if (!existsSync(resolve(import.meta.dirname, "parser.worker.js"))) {
|
|
8613
8601
|
worker_path = new URL("./parser.worker.ts", import.meta.url).href;
|
|
8614
8602
|
}
|
|
8615
8603
|
}
|
|
@@ -8644,7 +8632,7 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8644
8632
|
if (this.initializePromise) {
|
|
8645
8633
|
return this.initializePromise;
|
|
8646
8634
|
}
|
|
8647
|
-
this.initializePromise = new Promise((
|
|
8635
|
+
this.initializePromise = new Promise((resolve2, reject) => {
|
|
8648
8636
|
const timeoutMs = this.options.initTimeout ?? 1e4;
|
|
8649
8637
|
const timeoutId = setTimeout(() => {
|
|
8650
8638
|
const error = new Error("Worker initialization timed out");
|
|
@@ -8652,7 +8640,7 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8652
8640
|
this.initializeResolvers = undefined;
|
|
8653
8641
|
reject(error);
|
|
8654
8642
|
}, timeoutMs);
|
|
8655
|
-
this.initializeResolvers = { resolve:
|
|
8643
|
+
this.initializeResolvers = { resolve: resolve2, reject, timeoutId };
|
|
8656
8644
|
this.worker?.postMessage({
|
|
8657
8645
|
type: "INIT",
|
|
8658
8646
|
dataPath: this.options.dataPath
|
|
@@ -8675,7 +8663,7 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8675
8663
|
return normalizeBunfsPath(parse(path).base);
|
|
8676
8664
|
}
|
|
8677
8665
|
if (!isAbsolute(path)) {
|
|
8678
|
-
return
|
|
8666
|
+
return resolve(path);
|
|
8679
8667
|
}
|
|
8680
8668
|
return path;
|
|
8681
8669
|
}
|
|
@@ -8693,8 +8681,8 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8693
8681
|
}
|
|
8694
8682
|
async getPerformance() {
|
|
8695
8683
|
const messageId = `performance_${this.messageIdCounter++}`;
|
|
8696
|
-
return new Promise((
|
|
8697
|
-
this.messageCallbacks.set(messageId,
|
|
8684
|
+
return new Promise((resolve2) => {
|
|
8685
|
+
this.messageCallbacks.set(messageId, resolve2);
|
|
8698
8686
|
this.worker?.postMessage({ type: "GET_PERFORMANCE", messageId });
|
|
8699
8687
|
});
|
|
8700
8688
|
}
|
|
@@ -8707,8 +8695,8 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8707
8695
|
}
|
|
8708
8696
|
}
|
|
8709
8697
|
const messageId = `oneshot_${this.messageIdCounter++}`;
|
|
8710
|
-
return new Promise((
|
|
8711
|
-
this.messageCallbacks.set(messageId,
|
|
8698
|
+
return new Promise((resolve2) => {
|
|
8699
|
+
this.messageCallbacks.set(messageId, resolve2);
|
|
8712
8700
|
this.worker?.postMessage({
|
|
8713
8701
|
type: "ONESHOT_HIGHLIGHT",
|
|
8714
8702
|
content,
|
|
@@ -8817,8 +8805,8 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8817
8805
|
}
|
|
8818
8806
|
async preloadParser(filetype) {
|
|
8819
8807
|
const messageId = `has_parser_${this.messageIdCounter++}`;
|
|
8820
|
-
const response = await new Promise((
|
|
8821
|
-
this.messageCallbacks.set(messageId,
|
|
8808
|
+
const response = await new Promise((resolve2) => {
|
|
8809
|
+
this.messageCallbacks.set(messageId, resolve2);
|
|
8822
8810
|
this.worker?.postMessage({
|
|
8823
8811
|
type: "PRELOAD_PARSER",
|
|
8824
8812
|
filetype,
|
|
@@ -8845,8 +8833,8 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8845
8833
|
}
|
|
8846
8834
|
this.buffers.set(id, { id, content, filetype, version, hasParser: false });
|
|
8847
8835
|
const messageId = `init_${this.messageIdCounter++}`;
|
|
8848
|
-
const response = await new Promise((
|
|
8849
|
-
this.messageCallbacks.set(messageId,
|
|
8836
|
+
const response = await new Promise((resolve2) => {
|
|
8837
|
+
this.messageCallbacks.set(messageId, resolve2);
|
|
8850
8838
|
this.worker?.postMessage({
|
|
8851
8839
|
type: "INITIALIZE_PARSER",
|
|
8852
8840
|
bufferId: id,
|
|
@@ -8902,9 +8890,9 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8902
8890
|
this.editQueues.delete(bufferId);
|
|
8903
8891
|
}
|
|
8904
8892
|
if (this.worker) {
|
|
8905
|
-
await new Promise((
|
|
8893
|
+
await new Promise((resolve2) => {
|
|
8906
8894
|
const messageId = `dispose_${bufferId}`;
|
|
8907
|
-
this.messageCallbacks.set(messageId,
|
|
8895
|
+
this.messageCallbacks.set(messageId, resolve2);
|
|
8908
8896
|
try {
|
|
8909
8897
|
this.worker.postMessage({
|
|
8910
8898
|
type: "DISPOSE_BUFFER",
|
|
@@ -8912,13 +8900,13 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8912
8900
|
});
|
|
8913
8901
|
} catch (error) {
|
|
8914
8902
|
console.error("Error disposing buffer", error);
|
|
8915
|
-
|
|
8903
|
+
resolve2(false);
|
|
8916
8904
|
}
|
|
8917
8905
|
setTimeout(() => {
|
|
8918
8906
|
if (this.messageCallbacks.has(messageId)) {
|
|
8919
8907
|
this.messageCallbacks.delete(messageId);
|
|
8920
8908
|
console.warn({ bufferId }, "Timed out waiting for buffer to be disposed");
|
|
8921
|
-
|
|
8909
|
+
resolve2(false);
|
|
8922
8910
|
}
|
|
8923
8911
|
}, 3000);
|
|
8924
8912
|
});
|
|
@@ -8975,12 +8963,12 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8975
8963
|
this.options.dataPath = dataPath;
|
|
8976
8964
|
if (this.initialized && this.worker) {
|
|
8977
8965
|
const messageId = `update_datapath_${this.messageIdCounter++}`;
|
|
8978
|
-
return new Promise((
|
|
8966
|
+
return new Promise((resolve2, reject) => {
|
|
8979
8967
|
this.messageCallbacks.set(messageId, (response) => {
|
|
8980
8968
|
if (response.error) {
|
|
8981
8969
|
reject(new Error(response.error));
|
|
8982
8970
|
} else {
|
|
8983
|
-
|
|
8971
|
+
resolve2();
|
|
8984
8972
|
}
|
|
8985
8973
|
});
|
|
8986
8974
|
this.worker.postMessage({
|
|
@@ -8996,12 +8984,12 @@ class TreeSitterClient extends EventEmitter2 {
|
|
|
8996
8984
|
throw new Error("Cannot clear cache: client is not initialized");
|
|
8997
8985
|
}
|
|
8998
8986
|
const messageId = `clear_cache_${this.messageIdCounter++}`;
|
|
8999
|
-
return new Promise((
|
|
8987
|
+
return new Promise((resolve2, reject) => {
|
|
9000
8988
|
this.messageCallbacks.set(messageId, (response) => {
|
|
9001
8989
|
if (response.error) {
|
|
9002
8990
|
reject(new Error(response.error));
|
|
9003
8991
|
} else {
|
|
9004
|
-
|
|
8992
|
+
resolve2();
|
|
9005
8993
|
}
|
|
9006
8994
|
});
|
|
9007
8995
|
this.worker.postMessage({
|
|
@@ -9527,26 +9515,13 @@ ${content}`);
|
|
|
9527
9515
|
return "./" + path4.relative(path4.dirname(outputPath), queryPath);
|
|
9528
9516
|
}
|
|
9529
9517
|
async function generateDefaultParsersFile(parsers, outputPath) {
|
|
9530
|
-
const imports = parsers.map((parser) => {
|
|
9531
|
-
const safeFiletype = parser.filetype.replace(/[^a-zA-Z0-9]/g, "_");
|
|
9532
|
-
const lines = [
|
|
9533
|
-
`import ${safeFiletype}_highlights from "${parser.highlightsPath}" with { type: "file" }`,
|
|
9534
|
-
`import ${safeFiletype}_language from "${parser.languagePath}" with { type: "file" }`
|
|
9535
|
-
];
|
|
9536
|
-
if (parser.injectionsPath) {
|
|
9537
|
-
lines.push(`import ${safeFiletype}_injections from "${parser.injectionsPath}" with { type: "file" }`);
|
|
9538
|
-
}
|
|
9539
|
-
return lines.join(`
|
|
9540
|
-
`);
|
|
9541
|
-
}).join(`
|
|
9542
|
-
`);
|
|
9543
9518
|
const parserDefinitions = parsers.map((parser) => {
|
|
9544
9519
|
const safeFiletype = parser.filetype.replace(/[^a-zA-Z0-9]/g, "_");
|
|
9545
9520
|
const queriesLines = [
|
|
9546
|
-
` highlights: [
|
|
9521
|
+
` highlights: [fileURLToPath(new URL("${parser.highlightsPath}", import.meta.url))],`
|
|
9547
9522
|
];
|
|
9548
9523
|
if (parser.injectionsPath) {
|
|
9549
|
-
queriesLines.push(` injections: [
|
|
9524
|
+
queriesLines.push(` injections: [fileURLToPath(new URL("${parser.injectionsPath}", import.meta.url))],`);
|
|
9550
9525
|
}
|
|
9551
9526
|
const injectionMappingLine = parser.injectionMapping ? ` injectionMapping: ${JSON.stringify(parser.injectionMapping, null, 10)},` : "";
|
|
9552
9527
|
const aliasesLine = parser.aliases?.length ? ` aliases: ${JSON.stringify(parser.aliases)},` : "";
|
|
@@ -9557,7 +9532,7 @@ ${aliasesLine ? aliasesLine + `
|
|
|
9557
9532
|
${queriesLines.join(`
|
|
9558
9533
|
`)}
|
|
9559
9534
|
},
|
|
9560
|
-
wasm:
|
|
9535
|
+
wasm: fileURLToPath(new URL("${parser.languagePath}", import.meta.url)),${injectionMappingLine ? `
|
|
9561
9536
|
` + injectionMappingLine : ""}
|
|
9562
9537
|
}`;
|
|
9563
9538
|
}).join(`,
|
|
@@ -9567,11 +9542,8 @@ ${queriesLines.join(`
|
|
|
9567
9542
|
// Last generated: ${new Date().toISOString()}
|
|
9568
9543
|
|
|
9569
9544
|
import type { FiletypeParserOptions } from "./types"
|
|
9570
|
-
import { resolve, dirname } from "path"
|
|
9571
9545
|
import { fileURLToPath } from "url"
|
|
9572
9546
|
|
|
9573
|
-
${imports}
|
|
9574
|
-
|
|
9575
9547
|
// Cached parsers to avoid re-resolving paths on every call
|
|
9576
9548
|
let _cachedParsers: FiletypeParserOptions[] | undefined
|
|
9577
9549
|
|
|
@@ -10463,7 +10435,7 @@ class TerminalPalette {
|
|
|
10463
10435
|
const out = this.stdout;
|
|
10464
10436
|
if (!out.isTTY || !this.stdin.isTTY)
|
|
10465
10437
|
return false;
|
|
10466
|
-
return new Promise((
|
|
10438
|
+
return new Promise((resolve3) => {
|
|
10467
10439
|
const session = this.createQuerySession();
|
|
10468
10440
|
let buffer = "";
|
|
10469
10441
|
let settled = false;
|
|
@@ -10472,7 +10444,7 @@ class TerminalPalette {
|
|
|
10472
10444
|
return;
|
|
10473
10445
|
settled = true;
|
|
10474
10446
|
session.cleanup();
|
|
10475
|
-
|
|
10447
|
+
resolve3(supported);
|
|
10476
10448
|
};
|
|
10477
10449
|
const onData = (chunk) => {
|
|
10478
10450
|
buffer += chunk.toString();
|
|
@@ -10495,7 +10467,7 @@ class TerminalPalette {
|
|
|
10495
10467
|
if (!out.isTTY || !this.stdin.isTTY) {
|
|
10496
10468
|
return results;
|
|
10497
10469
|
}
|
|
10498
|
-
return new Promise((
|
|
10470
|
+
return new Promise((resolve3) => {
|
|
10499
10471
|
const session = this.createQuerySession();
|
|
10500
10472
|
let buffer = "";
|
|
10501
10473
|
let idleTimer = null;
|
|
@@ -10505,7 +10477,7 @@ class TerminalPalette {
|
|
|
10505
10477
|
return;
|
|
10506
10478
|
settled = true;
|
|
10507
10479
|
session.cleanup();
|
|
10508
|
-
|
|
10480
|
+
resolve3(results);
|
|
10509
10481
|
};
|
|
10510
10482
|
const onData = (chunk) => {
|
|
10511
10483
|
buffer += chunk.toString();
|
|
@@ -10546,7 +10518,7 @@ class TerminalPalette {
|
|
|
10546
10518
|
if (!out.isTTY || !this.stdin.isTTY) {
|
|
10547
10519
|
return results;
|
|
10548
10520
|
}
|
|
10549
|
-
return new Promise((
|
|
10521
|
+
return new Promise((resolve3) => {
|
|
10550
10522
|
const session = this.createQuerySession();
|
|
10551
10523
|
let buffer = "";
|
|
10552
10524
|
let idleTimer = null;
|
|
@@ -10556,7 +10528,7 @@ class TerminalPalette {
|
|
|
10556
10528
|
return;
|
|
10557
10529
|
settled = true;
|
|
10558
10530
|
session.cleanup();
|
|
10559
|
-
|
|
10531
|
+
resolve3(results);
|
|
10560
10532
|
};
|
|
10561
10533
|
const onData = (chunk) => {
|
|
10562
10534
|
buffer += chunk.toString();
|
|
@@ -14648,6 +14620,7 @@ class Renderable extends BaseRenderable {
|
|
|
14648
14620
|
frameBuffer = null;
|
|
14649
14621
|
_focusable = false;
|
|
14650
14622
|
_focused = false;
|
|
14623
|
+
_hasFocusedDescendant = false;
|
|
14651
14624
|
keypressHandler = null;
|
|
14652
14625
|
pasteHandler = null;
|
|
14653
14626
|
_live = false;
|
|
@@ -14797,11 +14770,24 @@ class Renderable extends BaseRenderable {
|
|
|
14797
14770
|
};
|
|
14798
14771
|
this.ctx._internalKeyInput.onInternal("keypress", this.keypressHandler);
|
|
14799
14772
|
this.ctx._internalKeyInput.onInternal("paste", this.pasteHandler);
|
|
14773
|
+
this.propagateFocusChange(true);
|
|
14800
14774
|
this.emit("focused" /* FOCUSED */);
|
|
14801
14775
|
}
|
|
14776
|
+
propagateFocusChange(hasFocus) {
|
|
14777
|
+
let parent = this.parent;
|
|
14778
|
+
while (parent) {
|
|
14779
|
+
if (parent._hasFocusedDescendant !== hasFocus) {
|
|
14780
|
+
parent._hasFocusedDescendant = hasFocus;
|
|
14781
|
+
parent.markDirty();
|
|
14782
|
+
}
|
|
14783
|
+
parent = parent.parent;
|
|
14784
|
+
}
|
|
14785
|
+
this.requestRender();
|
|
14786
|
+
}
|
|
14802
14787
|
blur() {
|
|
14803
14788
|
if (!this._focused || !this._focusable)
|
|
14804
14789
|
return;
|
|
14790
|
+
this._ctx.blurRenderable(this);
|
|
14805
14791
|
this._focused = false;
|
|
14806
14792
|
this.requestRender();
|
|
14807
14793
|
if (this.keypressHandler) {
|
|
@@ -14812,11 +14798,15 @@ class Renderable extends BaseRenderable {
|
|
|
14812
14798
|
this.ctx._internalKeyInput.offInternal("paste", this.pasteHandler);
|
|
14813
14799
|
this.pasteHandler = null;
|
|
14814
14800
|
}
|
|
14801
|
+
this.propagateFocusChange(false);
|
|
14815
14802
|
this.emit("blurred" /* BLURRED */);
|
|
14816
14803
|
}
|
|
14817
14804
|
get focused() {
|
|
14818
14805
|
return this._focused;
|
|
14819
14806
|
}
|
|
14807
|
+
get hasFocusedDescendant() {
|
|
14808
|
+
return this._hasFocusedDescendant;
|
|
14809
|
+
}
|
|
14820
14810
|
get live() {
|
|
14821
14811
|
return this._live;
|
|
14822
14812
|
}
|
|
@@ -15352,7 +15342,10 @@ class Renderable extends BaseRenderable {
|
|
|
15352
15342
|
}
|
|
15353
15343
|
try {
|
|
15354
15344
|
const widthMethod = this._ctx.widthMethod;
|
|
15355
|
-
this.frameBuffer = OptimizedBuffer.create(w, h, widthMethod, {
|
|
15345
|
+
this.frameBuffer = OptimizedBuffer.create(w, h, widthMethod, {
|
|
15346
|
+
respectAlpha: true,
|
|
15347
|
+
id: `framebuffer-${this.id}`
|
|
15348
|
+
});
|
|
15356
15349
|
} catch (error) {
|
|
15357
15350
|
console.error(`Failed to create frame buffer for ${this.id}:`, error);
|
|
15358
15351
|
this.frameBuffer = null;
|
|
@@ -15748,7 +15741,14 @@ class Renderable extends BaseRenderable {
|
|
|
15748
15741
|
class RootRenderable extends Renderable {
|
|
15749
15742
|
renderList = [];
|
|
15750
15743
|
constructor(ctx) {
|
|
15751
|
-
super(ctx, {
|
|
15744
|
+
super(ctx, {
|
|
15745
|
+
id: "__root__",
|
|
15746
|
+
zIndex: 0,
|
|
15747
|
+
visible: true,
|
|
15748
|
+
width: ctx.width,
|
|
15749
|
+
height: ctx.height,
|
|
15750
|
+
enableLayout: true
|
|
15751
|
+
});
|
|
15752
15752
|
if (this.yogaNode) {
|
|
15753
15753
|
this.yogaNode.free();
|
|
15754
15754
|
}
|
|
@@ -18257,6 +18257,8 @@ class EditBufferRenderable extends Renderable {
|
|
|
18257
18257
|
const cursor = this.editorView.getCursor();
|
|
18258
18258
|
if (cursor.col > 0) {
|
|
18259
18259
|
this.editBuffer.deleteRange(cursor.row, 0, cursor.row, cursor.col);
|
|
18260
|
+
} else if (cursor.row > 0) {
|
|
18261
|
+
this.editBuffer.deleteCharBackward();
|
|
18260
18262
|
}
|
|
18261
18263
|
this.requestRender();
|
|
18262
18264
|
return true;
|
|
@@ -18850,7 +18852,7 @@ var rendererTracker = singleton("RendererTracker", () => {
|
|
|
18850
18852
|
});
|
|
18851
18853
|
async function createCliRenderer(config = {}) {
|
|
18852
18854
|
if (process.argv.includes("--delay-start")) {
|
|
18853
|
-
await new Promise((
|
|
18855
|
+
await new Promise((resolve3) => setTimeout(resolve3, 5000));
|
|
18854
18856
|
}
|
|
18855
18857
|
const stdin = config.stdin || process.stdin;
|
|
18856
18858
|
const stdout = config.stdout || process.stdout;
|
|
@@ -19010,7 +19012,11 @@ class CliRenderer extends EventEmitter9 {
|
|
|
19010
19012
|
_capabilities = null;
|
|
19011
19013
|
_latestPointer = { x: 0, y: 0 };
|
|
19012
19014
|
_hasPointer = false;
|
|
19013
|
-
_lastPointerModifiers = {
|
|
19015
|
+
_lastPointerModifiers = {
|
|
19016
|
+
shift: false,
|
|
19017
|
+
alt: false,
|
|
19018
|
+
ctrl: false
|
|
19019
|
+
};
|
|
19014
19020
|
_currentMousePointerStyle = undefined;
|
|
19015
19021
|
_currentFocusedRenderable = null;
|
|
19016
19022
|
lifecyclePasses = new Set;
|
|
@@ -19241,15 +19247,18 @@ Captured output:
|
|
|
19241
19247
|
if (this._currentFocusedRenderable === renderable)
|
|
19242
19248
|
return;
|
|
19243
19249
|
const prev = this.currentFocusedEditor;
|
|
19244
|
-
|
|
19245
|
-
this._currentFocusedRenderable.blur();
|
|
19246
|
-
}
|
|
19250
|
+
this._currentFocusedRenderable?.blur();
|
|
19247
19251
|
this._currentFocusedRenderable = renderable;
|
|
19248
19252
|
const next = this.currentFocusedEditor;
|
|
19249
19253
|
if (prev !== next) {
|
|
19250
19254
|
this.emit("focused_editor" /* FOCUSED_EDITOR */, next, prev);
|
|
19251
19255
|
}
|
|
19252
19256
|
}
|
|
19257
|
+
blurRenderable(renderable) {
|
|
19258
|
+
if (this._currentFocusedRenderable === renderable) {
|
|
19259
|
+
this._currentFocusedRenderable = null;
|
|
19260
|
+
}
|
|
19261
|
+
}
|
|
19253
19262
|
setCapturedRenderable(renderable) {
|
|
19254
19263
|
if (this.capturedRenderable === renderable) {
|
|
19255
19264
|
return;
|
|
@@ -19341,8 +19350,8 @@ Captured output:
|
|
|
19341
19350
|
if (!this.isIdleNow())
|
|
19342
19351
|
return;
|
|
19343
19352
|
const resolvers = this.idleResolvers.splice(0);
|
|
19344
|
-
for (const
|
|
19345
|
-
|
|
19353
|
+
for (const resolve3 of resolvers) {
|
|
19354
|
+
resolve3();
|
|
19346
19355
|
}
|
|
19347
19356
|
}
|
|
19348
19357
|
idle() {
|
|
@@ -19350,8 +19359,8 @@ Captured output:
|
|
|
19350
19359
|
return Promise.resolve();
|
|
19351
19360
|
if (this.isIdleNow())
|
|
19352
19361
|
return Promise.resolve();
|
|
19353
|
-
return new Promise((
|
|
19354
|
-
this.idleResolvers.push(
|
|
19362
|
+
return new Promise((resolve3) => {
|
|
19363
|
+
this.idleResolvers.push(resolve3);
|
|
19355
19364
|
});
|
|
19356
19365
|
}
|
|
19357
19366
|
get resolution() {
|
|
@@ -19829,14 +19838,20 @@ Captured output:
|
|
|
19829
19838
|
if (mouseEvent.type === "drag" && this.currentSelection?.isDragging) {
|
|
19830
19839
|
this.updateSelection(maybeRenderable, mouseEvent.x, mouseEvent.y);
|
|
19831
19840
|
if (maybeRenderable) {
|
|
19832
|
-
const event2 = new MouseEvent(maybeRenderable, {
|
|
19841
|
+
const event2 = new MouseEvent(maybeRenderable, {
|
|
19842
|
+
...mouseEvent,
|
|
19843
|
+
isDragging: true
|
|
19844
|
+
});
|
|
19833
19845
|
maybeRenderable.processMouseEvent(event2);
|
|
19834
19846
|
}
|
|
19835
19847
|
return true;
|
|
19836
19848
|
}
|
|
19837
19849
|
if (mouseEvent.type === "up" && this.currentSelection?.isDragging) {
|
|
19838
19850
|
if (maybeRenderable) {
|
|
19839
|
-
const event2 = new MouseEvent(maybeRenderable, {
|
|
19851
|
+
const event2 = new MouseEvent(maybeRenderable, {
|
|
19852
|
+
...mouseEvent,
|
|
19853
|
+
isDragging: true
|
|
19854
|
+
});
|
|
19840
19855
|
maybeRenderable.processMouseEvent(event2);
|
|
19841
19856
|
}
|
|
19842
19857
|
this.finishSelection();
|
|
@@ -19851,7 +19866,10 @@ Captured output:
|
|
|
19851
19866
|
}
|
|
19852
19867
|
if (!sameElement && (mouseEvent.type === "drag" || mouseEvent.type === "move")) {
|
|
19853
19868
|
if (this.lastOverRenderable && this.lastOverRenderable !== this.capturedRenderable && !this.lastOverRenderable.isDestroyed) {
|
|
19854
|
-
const event2 = new MouseEvent(this.lastOverRenderable, {
|
|
19869
|
+
const event2 = new MouseEvent(this.lastOverRenderable, {
|
|
19870
|
+
...mouseEvent,
|
|
19871
|
+
type: "out"
|
|
19872
|
+
});
|
|
19855
19873
|
this.lastOverRenderable.processMouseEvent(event2);
|
|
19856
19874
|
}
|
|
19857
19875
|
this.lastOverRenderable = maybeRenderable;
|
|
@@ -19870,7 +19888,10 @@ Captured output:
|
|
|
19870
19888
|
return true;
|
|
19871
19889
|
}
|
|
19872
19890
|
if (this.capturedRenderable && mouseEvent.type === "up") {
|
|
19873
|
-
const event2 = new MouseEvent(this.capturedRenderable, {
|
|
19891
|
+
const event2 = new MouseEvent(this.capturedRenderable, {
|
|
19892
|
+
...mouseEvent,
|
|
19893
|
+
type: "drag-end"
|
|
19894
|
+
});
|
|
19874
19895
|
this.capturedRenderable.processMouseEvent(event2);
|
|
19875
19896
|
this.capturedRenderable.processMouseEvent(new MouseEvent(this.capturedRenderable, mouseEvent));
|
|
19876
19897
|
if (maybeRenderable) {
|
|
@@ -20611,5 +20632,5 @@ Captured output:
|
|
|
20611
20632
|
|
|
20612
20633
|
export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, 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, 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, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, decodePasteBytes, stripAnsiSequences, detectLinks, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, EditBuffer, EditorView, ANSI, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingKey, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, EditBufferRenderableEvents, isEditBufferRenderable, EditBufferRenderable, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
20613
20634
|
|
|
20614
|
-
//# debugId=
|
|
20615
|
-
//# sourceMappingURL=index-
|
|
20635
|
+
//# debugId=B248918F8F174E3E64756E2164756E21
|
|
20636
|
+
//# sourceMappingURL=index-g2c8aqza.js.map
|