ccstatusline 2.0.6 → 2.0.8
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/README.md +41 -15
- package/dist/ccstatusline.js +802 -533
- package/package.json +1 -1
package/dist/ccstatusline.js
CHANGED
|
@@ -38938,7 +38938,7 @@ Gradient.propTypes = {
|
|
|
38938
38938
|
var dist_default4 = Gradient;
|
|
38939
38939
|
|
|
38940
38940
|
// src/tui/App.tsx
|
|
38941
|
-
var
|
|
38941
|
+
var import_react45 = __toESM(require_react(), 1);
|
|
38942
38942
|
|
|
38943
38943
|
// src/utils/claude-settings.ts
|
|
38944
38944
|
import { execSync } from "child_process";
|
|
@@ -50535,7 +50535,8 @@ var PowerlineConfigSchema = exports_external.object({
|
|
|
50535
50535
|
separatorInvertBackground: exports_external.array(exports_external.boolean()).default([false]),
|
|
50536
50536
|
startCaps: exports_external.array(exports_external.string()).default([]),
|
|
50537
50537
|
endCaps: exports_external.array(exports_external.string()).default([]),
|
|
50538
|
-
theme: exports_external.string().optional()
|
|
50538
|
+
theme: exports_external.string().optional(),
|
|
50539
|
+
autoAlign: exports_external.boolean().default(false)
|
|
50539
50540
|
});
|
|
50540
50541
|
|
|
50541
50542
|
// src/types/Widget.ts
|
|
@@ -50598,7 +50599,8 @@ var SettingsSchema = exports_external.object({
|
|
|
50598
50599
|
separatorInvertBackground: [false],
|
|
50599
50600
|
startCaps: [],
|
|
50600
50601
|
endCaps: [],
|
|
50601
|
-
theme: undefined
|
|
50602
|
+
theme: undefined,
|
|
50603
|
+
autoAlign: false
|
|
50602
50604
|
}),
|
|
50603
50605
|
updatemessage: exports_external.object({
|
|
50604
50606
|
message: exports_external.string().nullable().optional(),
|
|
@@ -51035,7 +51037,7 @@ import { execSync as execSync3 } from "child_process";
|
|
|
51035
51037
|
import * as fs5 from "fs";
|
|
51036
51038
|
import * as path4 from "path";
|
|
51037
51039
|
var __dirname = "/Users/sirmalloc/Projects/Personal/ccstatusline/src/utils";
|
|
51038
|
-
var PACKAGE_VERSION = "2.0.
|
|
51040
|
+
var PACKAGE_VERSION = "2.0.8";
|
|
51039
51041
|
function getPackageVersion() {
|
|
51040
51042
|
if (/^\d+\.\d+\.\d+/.test(PACKAGE_VERSION)) {
|
|
51041
51043
|
return PACKAGE_VERSION;
|
|
@@ -51517,7 +51519,7 @@ function SelectInput({ items = [], isFocused = true, initialIndex = 0, indicator
|
|
|
51517
51519
|
}
|
|
51518
51520
|
var SelectInput_default = SelectInput;
|
|
51519
51521
|
// src/tui/components/ColorMenu.tsx
|
|
51520
|
-
var
|
|
51522
|
+
var import_react33 = __toESM(require_react(), 1);
|
|
51521
51523
|
|
|
51522
51524
|
// src/utils/colors.ts
|
|
51523
51525
|
function createColorMap() {
|
|
@@ -52036,7 +52038,7 @@ function formatTokens(count) {
|
|
|
52036
52038
|
return `${(count / 1000).toFixed(1)}k`;
|
|
52037
52039
|
return count.toString();
|
|
52038
52040
|
}
|
|
52039
|
-
function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, globalSeparatorOffset = 0) {
|
|
52041
|
+
function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, globalSeparatorOffset = 0, allLinesWidgets) {
|
|
52040
52042
|
const powerlineConfig = settings.powerline;
|
|
52041
52043
|
const config2 = powerlineConfig ?? {};
|
|
52042
52044
|
const separators = config2.separators ?? [""];
|
|
@@ -52066,24 +52068,24 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
|
|
|
52066
52068
|
const flexMode = settings.flexMode;
|
|
52067
52069
|
if (context.isPreview) {
|
|
52068
52070
|
if (flexMode === "full") {
|
|
52069
|
-
terminalWidth = detectedWidth -
|
|
52071
|
+
terminalWidth = detectedWidth - 6;
|
|
52070
52072
|
} else if (flexMode === "full-minus-40") {
|
|
52071
|
-
terminalWidth = detectedWidth -
|
|
52073
|
+
terminalWidth = detectedWidth - 40;
|
|
52072
52074
|
} else if (flexMode === "full-until-compact") {
|
|
52073
|
-
terminalWidth = detectedWidth -
|
|
52075
|
+
terminalWidth = detectedWidth - 6;
|
|
52074
52076
|
}
|
|
52075
52077
|
} else {
|
|
52076
52078
|
if (flexMode === "full") {
|
|
52077
|
-
terminalWidth = detectedWidth -
|
|
52079
|
+
terminalWidth = detectedWidth - 6;
|
|
52078
52080
|
} else if (flexMode === "full-minus-40") {
|
|
52079
|
-
terminalWidth = detectedWidth -
|
|
52081
|
+
terminalWidth = detectedWidth - 40;
|
|
52080
52082
|
} else if (flexMode === "full-until-compact") {
|
|
52081
52083
|
const threshold = settings.compactThreshold;
|
|
52082
52084
|
const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
|
|
52083
52085
|
if (contextPercentage >= threshold) {
|
|
52084
52086
|
terminalWidth = detectedWidth - 40;
|
|
52085
52087
|
} else {
|
|
52086
|
-
terminalWidth = detectedWidth -
|
|
52088
|
+
terminalWidth = detectedWidth - 6;
|
|
52087
52089
|
}
|
|
52088
52090
|
}
|
|
52089
52091
|
}
|
|
@@ -52143,6 +52145,57 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
|
|
|
52143
52145
|
}
|
|
52144
52146
|
if (widgetElements.length === 0)
|
|
52145
52147
|
return "";
|
|
52148
|
+
const autoAlign = config2.autoAlign;
|
|
52149
|
+
if (autoAlign && allLinesWidgets) {
|
|
52150
|
+
const maxWidths = [];
|
|
52151
|
+
const allLinesElements = [];
|
|
52152
|
+
for (const lineWidgets of allLinesWidgets) {
|
|
52153
|
+
const filteredLineWidgets = lineWidgets.filter((w) => w.type !== "separator" && w.type !== "flex-separator");
|
|
52154
|
+
const lineElements = [];
|
|
52155
|
+
for (const widget of filteredLineWidgets) {
|
|
52156
|
+
let widgetText = "";
|
|
52157
|
+
try {
|
|
52158
|
+
const widgetImpl = getWidget(widget.type);
|
|
52159
|
+
widgetText = widgetImpl.render(widget, context, settings) ?? "";
|
|
52160
|
+
} catch {
|
|
52161
|
+
continue;
|
|
52162
|
+
}
|
|
52163
|
+
if (widgetText) {
|
|
52164
|
+
const padding = settings.defaultPadding ?? "";
|
|
52165
|
+
const paddedText = `${padding}${widgetText}${padding}`;
|
|
52166
|
+
lineElements.push({
|
|
52167
|
+
content: paddedText,
|
|
52168
|
+
bgColor: widget.backgroundColor,
|
|
52169
|
+
fgColor: widget.color,
|
|
52170
|
+
widget
|
|
52171
|
+
});
|
|
52172
|
+
}
|
|
52173
|
+
}
|
|
52174
|
+
allLinesElements.push(lineElements);
|
|
52175
|
+
}
|
|
52176
|
+
for (let pos = 0;pos < Math.max(...allLinesElements.map((line) => line.length)); pos++) {
|
|
52177
|
+
let maxWidth = 0;
|
|
52178
|
+
for (const lineElements of allLinesElements) {
|
|
52179
|
+
const element = lineElements[pos];
|
|
52180
|
+
if (element) {
|
|
52181
|
+
const plainLength = element.content.replace(ANSI_REGEX, "").length;
|
|
52182
|
+
maxWidth = Math.max(maxWidth, plainLength);
|
|
52183
|
+
}
|
|
52184
|
+
}
|
|
52185
|
+
maxWidths.push(maxWidth);
|
|
52186
|
+
}
|
|
52187
|
+
for (let i = 0;i < widgetElements.length; i++) {
|
|
52188
|
+
const element = widgetElements[i];
|
|
52189
|
+
const maxWidth = maxWidths[i];
|
|
52190
|
+
if (element && maxWidth !== undefined) {
|
|
52191
|
+
const currentLength = element.content.replace(ANSI_REGEX, "").length;
|
|
52192
|
+
const paddingNeeded = maxWidth - currentLength;
|
|
52193
|
+
if (paddingNeeded > 0) {
|
|
52194
|
+
element.content += " ".repeat(paddingNeeded);
|
|
52195
|
+
}
|
|
52196
|
+
}
|
|
52197
|
+
}
|
|
52198
|
+
}
|
|
52146
52199
|
let result = "";
|
|
52147
52200
|
if (startCap && widgetElements.length > 0) {
|
|
52148
52201
|
const firstWidget = widgetElements[0];
|
|
@@ -52303,18 +52356,17 @@ function formatSeparator(sep) {
|
|
|
52303
52356
|
}
|
|
52304
52357
|
return sep;
|
|
52305
52358
|
}
|
|
52306
|
-
function renderStatusLineWithInfo(widgets, settings, context) {
|
|
52307
|
-
const line = renderStatusLine(widgets, settings, context);
|
|
52359
|
+
function renderStatusLineWithInfo(widgets, settings, context, allLinesWidgets) {
|
|
52360
|
+
const line = renderStatusLine(widgets, settings, context, allLinesWidgets);
|
|
52308
52361
|
const wasTruncated = line.includes("...");
|
|
52309
52362
|
return { line, wasTruncated };
|
|
52310
52363
|
}
|
|
52311
|
-
function renderStatusLine(widgets, settings, context) {
|
|
52364
|
+
function renderStatusLine(widgets, settings, context, allLinesWidgets) {
|
|
52312
52365
|
const colorLevel = getColorLevelString(settings.colorLevel);
|
|
52313
52366
|
const powerlineSettings = settings.powerline;
|
|
52314
52367
|
const isPowerlineMode = Boolean(powerlineSettings?.enabled);
|
|
52315
|
-
if (isPowerlineMode)
|
|
52316
|
-
return renderPowerlineStatusLine(widgets, settings, context, context.lineIndex ?? 0, context.globalSeparatorIndex ?? 0);
|
|
52317
|
-
}
|
|
52368
|
+
if (isPowerlineMode)
|
|
52369
|
+
return renderPowerlineStatusLine(widgets, settings, context, context.lineIndex ?? 0, context.globalSeparatorIndex ?? 0, allLinesWidgets);
|
|
52318
52370
|
const applyColorsWithOverride = (text, foregroundColor, backgroundColor, bold) => {
|
|
52319
52371
|
let fgColor = foregroundColor;
|
|
52320
52372
|
if (settings.overrideForegroundColor && settings.overrideForegroundColor !== "none") {
|
|
@@ -52335,22 +52387,22 @@ function renderStatusLine(widgets, settings, context) {
|
|
|
52335
52387
|
if (flexMode === "full") {
|
|
52336
52388
|
terminalWidth = detectedWidth - 6;
|
|
52337
52389
|
} else if (flexMode === "full-minus-40") {
|
|
52338
|
-
terminalWidth = detectedWidth -
|
|
52390
|
+
terminalWidth = detectedWidth - 40;
|
|
52339
52391
|
} else if (flexMode === "full-until-compact") {
|
|
52340
52392
|
terminalWidth = detectedWidth - 6;
|
|
52341
52393
|
}
|
|
52342
52394
|
} else {
|
|
52343
52395
|
if (flexMode === "full") {
|
|
52344
|
-
terminalWidth = detectedWidth -
|
|
52396
|
+
terminalWidth = detectedWidth - 6;
|
|
52345
52397
|
} else if (flexMode === "full-minus-40") {
|
|
52346
|
-
terminalWidth = detectedWidth -
|
|
52398
|
+
terminalWidth = detectedWidth - 40;
|
|
52347
52399
|
} else if (flexMode === "full-until-compact") {
|
|
52348
52400
|
const threshold = settings.compactThreshold;
|
|
52349
52401
|
const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
|
|
52350
52402
|
if (contextPercentage >= threshold) {
|
|
52351
52403
|
terminalWidth = detectedWidth - 40;
|
|
52352
52404
|
} else {
|
|
52353
|
-
terminalWidth = detectedWidth -
|
|
52405
|
+
terminalWidth = detectedWidth - 6;
|
|
52354
52406
|
}
|
|
52355
52407
|
}
|
|
52356
52408
|
}
|
|
@@ -52804,6 +52856,38 @@ class SessionClockWidget {
|
|
|
52804
52856
|
return true;
|
|
52805
52857
|
}
|
|
52806
52858
|
}
|
|
52859
|
+
// src/widgets/SessionCost.ts
|
|
52860
|
+
class SessionCostWidget {
|
|
52861
|
+
getDefaultColor() {
|
|
52862
|
+
return "green";
|
|
52863
|
+
}
|
|
52864
|
+
getDescription() {
|
|
52865
|
+
return "Shows the total session cost in USD";
|
|
52866
|
+
}
|
|
52867
|
+
getDisplayName() {
|
|
52868
|
+
return "Session Cost";
|
|
52869
|
+
}
|
|
52870
|
+
getEditorDisplay(item) {
|
|
52871
|
+
return { displayText: this.getDisplayName() };
|
|
52872
|
+
}
|
|
52873
|
+
render(item, context, settings) {
|
|
52874
|
+
if (context.isPreview) {
|
|
52875
|
+
return item.rawValue ? "$2.45" : "Cost: $2.45";
|
|
52876
|
+
}
|
|
52877
|
+
const totalCost = context.data?.cost?.total_cost_usd;
|
|
52878
|
+
if (totalCost === undefined) {
|
|
52879
|
+
return null;
|
|
52880
|
+
}
|
|
52881
|
+
const formattedCost = `$${totalCost.toFixed(2)}`;
|
|
52882
|
+
return item.rawValue ? formattedCost : `Cost: ${formattedCost}`;
|
|
52883
|
+
}
|
|
52884
|
+
supportsRawValue() {
|
|
52885
|
+
return true;
|
|
52886
|
+
}
|
|
52887
|
+
supportsColors(item) {
|
|
52888
|
+
return true;
|
|
52889
|
+
}
|
|
52890
|
+
}
|
|
52807
52891
|
// src/widgets/TerminalWidth.ts
|
|
52808
52892
|
class TerminalWidthWidget {
|
|
52809
52893
|
getDefaultColor() {
|
|
@@ -53160,11 +53244,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
|
|
|
53160
53244
|
return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
|
|
53161
53245
|
flexDirection: "column",
|
|
53162
53246
|
children: [
|
|
53163
|
-
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(
|
|
53247
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
|
|
53164
53248
|
children: [
|
|
53165
|
-
|
|
53166
|
-
|
|
53167
|
-
|
|
53249
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53250
|
+
children: "Enter max width (blank for no limit): "
|
|
53251
|
+
}, undefined, false, undefined, this),
|
|
53252
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53253
|
+
children: widthInput
|
|
53254
|
+
}, undefined, false, undefined, this),
|
|
53255
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53256
|
+
backgroundColor: "gray",
|
|
53257
|
+
color: "black",
|
|
53258
|
+
children: " "
|
|
53259
|
+
}, undefined, false, undefined, this)
|
|
53168
53260
|
]
|
|
53169
53261
|
}, undefined, true, undefined, this),
|
|
53170
53262
|
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
@@ -53177,11 +53269,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
|
|
|
53177
53269
|
return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
|
|
53178
53270
|
flexDirection: "column",
|
|
53179
53271
|
children: [
|
|
53180
|
-
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(
|
|
53272
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
|
|
53181
53273
|
children: [
|
|
53182
|
-
|
|
53183
|
-
|
|
53184
|
-
|
|
53274
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53275
|
+
children: "Enter timeout in milliseconds (default 1000): "
|
|
53276
|
+
}, undefined, false, undefined, this),
|
|
53277
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53278
|
+
children: timeoutInput
|
|
53279
|
+
}, undefined, false, undefined, this),
|
|
53280
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
53281
|
+
backgroundColor: "gray",
|
|
53282
|
+
color: "black",
|
|
53283
|
+
children: " "
|
|
53284
|
+
}, undefined, false, undefined, this)
|
|
53185
53285
|
]
|
|
53186
53286
|
}, undefined, true, undefined, this),
|
|
53187
53287
|
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
|
|
@@ -53304,12 +53404,146 @@ class BlockTimerWidget {
|
|
|
53304
53404
|
return true;
|
|
53305
53405
|
}
|
|
53306
53406
|
}
|
|
53407
|
+
// src/widgets/CurrentWorkingDir.tsx
|
|
53408
|
+
var import_react31 = __toESM(require_react(), 1);
|
|
53409
|
+
var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
|
|
53410
|
+
|
|
53411
|
+
class CurrentWorkingDirWidget {
|
|
53412
|
+
getDefaultColor() {
|
|
53413
|
+
return "blue";
|
|
53414
|
+
}
|
|
53415
|
+
getDescription() {
|
|
53416
|
+
return "Shows the current working directory";
|
|
53417
|
+
}
|
|
53418
|
+
getDisplayName() {
|
|
53419
|
+
return "Current Working Dir";
|
|
53420
|
+
}
|
|
53421
|
+
getEditorDisplay(item) {
|
|
53422
|
+
const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
|
|
53423
|
+
const modifiers = [];
|
|
53424
|
+
if (segments && segments > 0) {
|
|
53425
|
+
modifiers.push(`segments: ${segments}`);
|
|
53426
|
+
}
|
|
53427
|
+
return {
|
|
53428
|
+
displayText: this.getDisplayName(),
|
|
53429
|
+
modifierText: modifiers.length > 0 ? `(${modifiers.join(", ")})` : undefined
|
|
53430
|
+
};
|
|
53431
|
+
}
|
|
53432
|
+
render(item, context, settings) {
|
|
53433
|
+
if (context.isPreview) {
|
|
53434
|
+
const segments2 = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
|
|
53435
|
+
let previewPath;
|
|
53436
|
+
if (segments2 && segments2 > 0) {
|
|
53437
|
+
if (segments2 === 1) {
|
|
53438
|
+
previewPath = ".../project";
|
|
53439
|
+
} else {
|
|
53440
|
+
previewPath = ".../example/project";
|
|
53441
|
+
}
|
|
53442
|
+
} else {
|
|
53443
|
+
previewPath = "/Users/example/project";
|
|
53444
|
+
}
|
|
53445
|
+
return item.rawValue ? previewPath : `cwd: ${previewPath}`;
|
|
53446
|
+
}
|
|
53447
|
+
const cwd2 = context.data?.cwd;
|
|
53448
|
+
if (!cwd2) {
|
|
53449
|
+
return null;
|
|
53450
|
+
}
|
|
53451
|
+
const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
|
|
53452
|
+
let displayPath = cwd2;
|
|
53453
|
+
if (segments && segments > 0) {
|
|
53454
|
+
const pathParts = cwd2.split("/");
|
|
53455
|
+
const filteredParts = pathParts.filter((part) => part !== "");
|
|
53456
|
+
if (filteredParts.length > segments) {
|
|
53457
|
+
const selectedSegments = filteredParts.slice(-segments);
|
|
53458
|
+
displayPath = ".../" + selectedSegments.join("/");
|
|
53459
|
+
}
|
|
53460
|
+
}
|
|
53461
|
+
return item.rawValue ? displayPath : `cwd: ${displayPath}`;
|
|
53462
|
+
}
|
|
53463
|
+
getCustomKeybinds() {
|
|
53464
|
+
return [
|
|
53465
|
+
{ key: "s", label: "(s)egments", action: "edit-segments" }
|
|
53466
|
+
];
|
|
53467
|
+
}
|
|
53468
|
+
renderEditor(props) {
|
|
53469
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(CurrentWorkingDirEditor, {
|
|
53470
|
+
...props
|
|
53471
|
+
}, undefined, false, undefined, this);
|
|
53472
|
+
}
|
|
53473
|
+
supportsRawValue() {
|
|
53474
|
+
return true;
|
|
53475
|
+
}
|
|
53476
|
+
supportsColors(item) {
|
|
53477
|
+
return true;
|
|
53478
|
+
}
|
|
53479
|
+
}
|
|
53480
|
+
var CurrentWorkingDirEditor = ({ widget, onComplete, onCancel, action }) => {
|
|
53481
|
+
const [segmentsInput, setSegmentsInput] = import_react31.useState(widget.metadata?.segments ?? "");
|
|
53482
|
+
use_input_default((input, key) => {
|
|
53483
|
+
if (action === "edit-segments") {
|
|
53484
|
+
if (key.return) {
|
|
53485
|
+
const segments = parseInt(segmentsInput, 10);
|
|
53486
|
+
if (!isNaN(segments) && segments > 0) {
|
|
53487
|
+
onComplete({
|
|
53488
|
+
...widget,
|
|
53489
|
+
metadata: {
|
|
53490
|
+
...widget.metadata,
|
|
53491
|
+
segments: segments.toString()
|
|
53492
|
+
}
|
|
53493
|
+
});
|
|
53494
|
+
} else {
|
|
53495
|
+
const { segments: segments2, ...restMetadata } = widget.metadata ?? {};
|
|
53496
|
+
onComplete({
|
|
53497
|
+
...widget,
|
|
53498
|
+
metadata: Object.keys(restMetadata).length > 0 ? restMetadata : undefined
|
|
53499
|
+
});
|
|
53500
|
+
}
|
|
53501
|
+
} else if (key.escape) {
|
|
53502
|
+
onCancel();
|
|
53503
|
+
} else if (key.backspace) {
|
|
53504
|
+
setSegmentsInput(segmentsInput.slice(0, -1));
|
|
53505
|
+
} else if (input && /\d/.test(input) && !key.ctrl) {
|
|
53506
|
+
setSegmentsInput(segmentsInput + input);
|
|
53507
|
+
}
|
|
53508
|
+
}
|
|
53509
|
+
});
|
|
53510
|
+
if (action === "edit-segments") {
|
|
53511
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
|
|
53512
|
+
flexDirection: "column",
|
|
53513
|
+
children: [
|
|
53514
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
|
|
53515
|
+
children: [
|
|
53516
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
53517
|
+
children: "Enter number of segments to display (blank for full path): "
|
|
53518
|
+
}, undefined, false, undefined, this),
|
|
53519
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
53520
|
+
children: segmentsInput
|
|
53521
|
+
}, undefined, false, undefined, this),
|
|
53522
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
53523
|
+
backgroundColor: "gray",
|
|
53524
|
+
color: "black",
|
|
53525
|
+
children: " "
|
|
53526
|
+
}, undefined, false, undefined, this)
|
|
53527
|
+
]
|
|
53528
|
+
}, undefined, true, undefined, this),
|
|
53529
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
53530
|
+
dimColor: true,
|
|
53531
|
+
children: "Press Enter to save, ESC to cancel"
|
|
53532
|
+
}, undefined, false, undefined, this)
|
|
53533
|
+
]
|
|
53534
|
+
}, undefined, true, undefined, this);
|
|
53535
|
+
}
|
|
53536
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
|
|
53537
|
+
children: "Unknown editor mode"
|
|
53538
|
+
}, undefined, false, undefined, this);
|
|
53539
|
+
};
|
|
53307
53540
|
// src/utils/widgets.ts
|
|
53308
53541
|
var widgetRegistry = new Map([
|
|
53309
53542
|
["model", new ModelWidget],
|
|
53310
53543
|
["output-style", new OutputStyleWidget],
|
|
53311
53544
|
["git-branch", new GitBranchWidget],
|
|
53312
53545
|
["git-changes", new GitChangesWidget],
|
|
53546
|
+
["current-working-dir", new CurrentWorkingDirWidget],
|
|
53313
53547
|
["tokens-input", new TokensInputWidget],
|
|
53314
53548
|
["tokens-output", new TokensOutputWidget],
|
|
53315
53549
|
["tokens-cached", new TokensCachedWidget],
|
|
@@ -53318,6 +53552,7 @@ var widgetRegistry = new Map([
|
|
|
53318
53552
|
["context-percentage", new ContextPercentageWidget],
|
|
53319
53553
|
["context-percentage-usable", new ContextPercentageUsableWidget],
|
|
53320
53554
|
["session-clock", new SessionClockWidget],
|
|
53555
|
+
["session-cost", new SessionCostWidget],
|
|
53321
53556
|
["block-timer", new BlockTimerWidget],
|
|
53322
53557
|
["terminal-width", new TerminalWidthWidget],
|
|
53323
53558
|
["version", new VersionWidget],
|
|
@@ -53343,10 +53578,10 @@ function getAllWidgetTypes(settings) {
|
|
|
53343
53578
|
}
|
|
53344
53579
|
|
|
53345
53580
|
// src/tui/components/ConfirmDialog.tsx
|
|
53346
|
-
var
|
|
53347
|
-
var
|
|
53581
|
+
var import_react32 = __toESM(require_react(), 1);
|
|
53582
|
+
var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
|
|
53348
53583
|
var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
|
|
53349
|
-
const [selectedIndex, setSelectedIndex] =
|
|
53584
|
+
const [selectedIndex, setSelectedIndex] = import_react32.useState(0);
|
|
53350
53585
|
use_input_default((input, key) => {
|
|
53351
53586
|
if (key.upArrow) {
|
|
53352
53587
|
setSelectedIndex(Math.max(0, selectedIndex - 1));
|
|
@@ -53365,17 +53600,17 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
|
|
|
53365
53600
|
const renderOptions = () => {
|
|
53366
53601
|
const yesStyle = selectedIndex === 0 ? { color: "cyan" } : {};
|
|
53367
53602
|
const noStyle = selectedIndex === 1 ? { color: "cyan" } : {};
|
|
53368
|
-
return /* @__PURE__ */
|
|
53603
|
+
return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
|
|
53369
53604
|
flexDirection: "column",
|
|
53370
53605
|
children: [
|
|
53371
|
-
/* @__PURE__ */
|
|
53606
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
|
|
53372
53607
|
...yesStyle,
|
|
53373
53608
|
children: [
|
|
53374
53609
|
selectedIndex === 0 ? "▶ " : " ",
|
|
53375
53610
|
"Yes"
|
|
53376
53611
|
]
|
|
53377
53612
|
}, undefined, true, undefined, this),
|
|
53378
|
-
/* @__PURE__ */
|
|
53613
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
|
|
53379
53614
|
...noStyle,
|
|
53380
53615
|
children: [
|
|
53381
53616
|
selectedIndex === 1 ? "▶ " : " ",
|
|
@@ -53388,13 +53623,13 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
|
|
|
53388
53623
|
if (inline) {
|
|
53389
53624
|
return renderOptions();
|
|
53390
53625
|
}
|
|
53391
|
-
return /* @__PURE__ */
|
|
53626
|
+
return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
|
|
53392
53627
|
flexDirection: "column",
|
|
53393
53628
|
children: [
|
|
53394
|
-
/* @__PURE__ */
|
|
53629
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
|
|
53395
53630
|
children: message
|
|
53396
53631
|
}, undefined, false, undefined, this),
|
|
53397
|
-
/* @__PURE__ */
|
|
53632
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
|
|
53398
53633
|
marginTop: 1,
|
|
53399
53634
|
children: renderOptions()
|
|
53400
53635
|
}, undefined, false, undefined, this)
|
|
@@ -53403,14 +53638,14 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
|
|
|
53403
53638
|
};
|
|
53404
53639
|
|
|
53405
53640
|
// src/tui/components/ColorMenu.tsx
|
|
53406
|
-
var
|
|
53641
|
+
var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
|
|
53407
53642
|
var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
53408
|
-
const [showSeparators, setShowSeparators] =
|
|
53409
|
-
const [hexInputMode, setHexInputMode] =
|
|
53410
|
-
const [hexInput, setHexInput] =
|
|
53411
|
-
const [ansi256InputMode, setAnsi256InputMode] =
|
|
53412
|
-
const [ansi256Input, setAnsi256Input] =
|
|
53413
|
-
const [showClearConfirm, setShowClearConfirm] =
|
|
53643
|
+
const [showSeparators, setShowSeparators] = import_react33.useState(false);
|
|
53644
|
+
const [hexInputMode, setHexInputMode] = import_react33.useState(false);
|
|
53645
|
+
const [hexInput, setHexInput] = import_react33.useState("");
|
|
53646
|
+
const [ansi256InputMode, setAnsi256InputMode] = import_react33.useState(false);
|
|
53647
|
+
const [ansi256Input, setAnsi256Input] = import_react33.useState("");
|
|
53648
|
+
const [showClearConfirm, setShowClearConfirm] = import_react33.useState(false);
|
|
53414
53649
|
const powerlineEnabled = settings.powerline.enabled;
|
|
53415
53650
|
const colorableWidgets = widgets.filter((widget) => {
|
|
53416
53651
|
if (widget.type === "separator") {
|
|
@@ -53423,8 +53658,8 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53423
53658
|
return false;
|
|
53424
53659
|
}
|
|
53425
53660
|
});
|
|
53426
|
-
const [highlightedItemId, setHighlightedItemId] =
|
|
53427
|
-
const [editingBackground, setEditingBackground] =
|
|
53661
|
+
const [highlightedItemId, setHighlightedItemId] = import_react33.useState(colorableWidgets[0]?.id ?? null);
|
|
53662
|
+
const [editingBackground, setEditingBackground] = import_react33.useState(false);
|
|
53428
53663
|
const hasNoItems = colorableWidgets.length === 0;
|
|
53429
53664
|
use_input_default((input, key) => {
|
|
53430
53665
|
if (hasNoItems) {
|
|
@@ -53618,30 +53853,30 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53618
53853
|
}
|
|
53619
53854
|
});
|
|
53620
53855
|
if (hasNoItems) {
|
|
53621
|
-
return /* @__PURE__ */
|
|
53856
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53622
53857
|
flexDirection: "column",
|
|
53623
53858
|
children: [
|
|
53624
|
-
/* @__PURE__ */
|
|
53859
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53625
53860
|
bold: true,
|
|
53626
53861
|
children: [
|
|
53627
53862
|
"Configure Colors",
|
|
53628
53863
|
lineIndex !== undefined ? ` - Line ${lineIndex + 1}` : ""
|
|
53629
53864
|
]
|
|
53630
53865
|
}, undefined, true, undefined, this),
|
|
53631
|
-
/* @__PURE__ */
|
|
53866
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53632
53867
|
marginTop: 1,
|
|
53633
|
-
children: /* @__PURE__ */
|
|
53868
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53634
53869
|
dimColor: true,
|
|
53635
|
-
children: "No colorable
|
|
53870
|
+
children: "No colorable widgets in the status line."
|
|
53636
53871
|
}, undefined, false, undefined, this)
|
|
53637
53872
|
}, undefined, false, undefined, this),
|
|
53638
|
-
/* @__PURE__ */
|
|
53873
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53639
53874
|
dimColor: true,
|
|
53640
|
-
children: "Add a
|
|
53875
|
+
children: "Add a widget first to continue."
|
|
53641
53876
|
}, undefined, false, undefined, this),
|
|
53642
|
-
/* @__PURE__ */
|
|
53877
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53643
53878
|
marginTop: 1,
|
|
53644
|
-
children: /* @__PURE__ */
|
|
53879
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53645
53880
|
children: "Press any key to go back..."
|
|
53646
53881
|
}, undefined, false, undefined, this)
|
|
53647
53882
|
}, undefined, false, undefined, this)
|
|
@@ -53732,36 +53967,36 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53732
53967
|
}
|
|
53733
53968
|
}
|
|
53734
53969
|
if (showClearConfirm) {
|
|
53735
|
-
return /* @__PURE__ */
|
|
53970
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53736
53971
|
flexDirection: "column",
|
|
53737
53972
|
children: [
|
|
53738
|
-
/* @__PURE__ */
|
|
53973
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53739
53974
|
bold: true,
|
|
53740
53975
|
color: "yellow",
|
|
53741
53976
|
children: "⚠ Confirm Clear All Colors"
|
|
53742
53977
|
}, undefined, false, undefined, this),
|
|
53743
|
-
/* @__PURE__ */
|
|
53978
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53744
53979
|
marginTop: 1,
|
|
53745
53980
|
flexDirection: "column",
|
|
53746
53981
|
children: [
|
|
53747
|
-
/* @__PURE__ */
|
|
53982
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53748
53983
|
children: "This will reset all colors for all widgets to their defaults."
|
|
53749
53984
|
}, undefined, false, undefined, this),
|
|
53750
|
-
/* @__PURE__ */
|
|
53985
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53751
53986
|
color: "red",
|
|
53752
53987
|
children: "This action cannot be undone!"
|
|
53753
53988
|
}, undefined, false, undefined, this)
|
|
53754
53989
|
]
|
|
53755
53990
|
}, undefined, true, undefined, this),
|
|
53756
|
-
/* @__PURE__ */
|
|
53991
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53757
53992
|
marginTop: 2,
|
|
53758
|
-
children: /* @__PURE__ */
|
|
53993
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53759
53994
|
children: "Continue?"
|
|
53760
53995
|
}, undefined, false, undefined, this)
|
|
53761
53996
|
}, undefined, false, undefined, this),
|
|
53762
|
-
/* @__PURE__ */
|
|
53997
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53763
53998
|
marginTop: 1,
|
|
53764
|
-
children: /* @__PURE__ */
|
|
53999
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ConfirmDialog, {
|
|
53765
54000
|
inline: true,
|
|
53766
54001
|
onConfirm: () => {
|
|
53767
54002
|
const newItems = widgets.map((widget) => {
|
|
@@ -53782,12 +54017,12 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53782
54017
|
const hasGlobalFgOverride = !!settings.overrideForegroundColor;
|
|
53783
54018
|
const hasGlobalBgOverride = !!settings.overrideBackgroundColor && !powerlineEnabled;
|
|
53784
54019
|
const globalOverrideMessage = hasGlobalFgOverride && hasGlobalBgOverride ? "⚠ Global override for FG and BG active" : hasGlobalFgOverride ? "⚠ Global override for FG active" : hasGlobalBgOverride ? "⚠ Global override for BG active" : null;
|
|
53785
|
-
return /* @__PURE__ */
|
|
54020
|
+
return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53786
54021
|
flexDirection: "column",
|
|
53787
54022
|
children: [
|
|
53788
|
-
/* @__PURE__ */
|
|
54023
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53789
54024
|
children: [
|
|
53790
|
-
/* @__PURE__ */
|
|
54025
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53791
54026
|
bold: true,
|
|
53792
54027
|
children: [
|
|
53793
54028
|
"Configure Colors",
|
|
@@ -53795,7 +54030,7 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53795
54030
|
editingBackground && source_default.yellow(" [Background Mode]")
|
|
53796
54031
|
]
|
|
53797
54032
|
}, undefined, true, undefined, this),
|
|
53798
|
-
globalOverrideMessage && /* @__PURE__ */
|
|
54033
|
+
globalOverrideMessage && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53799
54034
|
color: "yellow",
|
|
53800
54035
|
dimColor: true,
|
|
53801
54036
|
children: [
|
|
@@ -53805,56 +54040,56 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53805
54040
|
}, undefined, true, undefined, this)
|
|
53806
54041
|
]
|
|
53807
54042
|
}, undefined, true, undefined, this),
|
|
53808
|
-
hexInputMode ? /* @__PURE__ */
|
|
54043
|
+
hexInputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53809
54044
|
flexDirection: "column",
|
|
53810
54045
|
children: [
|
|
53811
|
-
/* @__PURE__ */
|
|
54046
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53812
54047
|
children: "Enter 6-digit hex color code (without #):"
|
|
53813
54048
|
}, undefined, false, undefined, this),
|
|
53814
|
-
/* @__PURE__ */
|
|
54049
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53815
54050
|
children: [
|
|
53816
54051
|
"#",
|
|
53817
54052
|
hexInput,
|
|
53818
|
-
/* @__PURE__ */
|
|
54053
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53819
54054
|
dimColor: true,
|
|
53820
54055
|
children: hexInput.length < 6 ? "_".repeat(6 - hexInput.length) : ""
|
|
53821
54056
|
}, undefined, false, undefined, this)
|
|
53822
54057
|
]
|
|
53823
54058
|
}, undefined, true, undefined, this),
|
|
53824
|
-
/* @__PURE__ */
|
|
54059
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53825
54060
|
children: " "
|
|
53826
54061
|
}, undefined, false, undefined, this),
|
|
53827
|
-
/* @__PURE__ */
|
|
54062
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53828
54063
|
dimColor: true,
|
|
53829
54064
|
children: "Press Enter when done, ESC to cancel"
|
|
53830
54065
|
}, undefined, false, undefined, this)
|
|
53831
54066
|
]
|
|
53832
|
-
}, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */
|
|
54067
|
+
}, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53833
54068
|
flexDirection: "column",
|
|
53834
54069
|
children: [
|
|
53835
|
-
/* @__PURE__ */
|
|
54070
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53836
54071
|
children: "Enter ANSI 256 color code (0-255):"
|
|
53837
54072
|
}, undefined, false, undefined, this),
|
|
53838
|
-
/* @__PURE__ */
|
|
54073
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53839
54074
|
children: [
|
|
53840
54075
|
ansi256Input,
|
|
53841
|
-
/* @__PURE__ */
|
|
54076
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53842
54077
|
dimColor: true,
|
|
53843
54078
|
children: ansi256Input.length === 0 ? "___" : ansi256Input.length === 1 ? "__" : ansi256Input.length === 2 ? "_" : ""
|
|
53844
54079
|
}, undefined, false, undefined, this)
|
|
53845
54080
|
]
|
|
53846
54081
|
}, undefined, true, undefined, this),
|
|
53847
|
-
/* @__PURE__ */
|
|
54082
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53848
54083
|
children: " "
|
|
53849
54084
|
}, undefined, false, undefined, this),
|
|
53850
|
-
/* @__PURE__ */
|
|
54085
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53851
54086
|
dimColor: true,
|
|
53852
54087
|
children: "Press Enter when done, ESC to cancel"
|
|
53853
54088
|
}, undefined, false, undefined, this)
|
|
53854
54089
|
]
|
|
53855
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
54090
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
|
|
53856
54091
|
children: [
|
|
53857
|
-
/* @__PURE__ */
|
|
54092
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53858
54093
|
dimColor: true,
|
|
53859
54094
|
children: [
|
|
53860
54095
|
"↑↓ to select, ←→ to cycle",
|
|
@@ -53866,16 +54101,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53866
54101
|
"(r)eset, (c)lear all, ESC to go back"
|
|
53867
54102
|
]
|
|
53868
54103
|
}, undefined, true, undefined, this),
|
|
53869
|
-
!settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */
|
|
54104
|
+
!settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53870
54105
|
dimColor: true,
|
|
53871
54106
|
children: [
|
|
53872
54107
|
"(s)how separators:",
|
|
53873
54108
|
showSeparators ? source_default.green("ON") : source_default.gray("OFF")
|
|
53874
54109
|
]
|
|
53875
54110
|
}, undefined, true, undefined, this),
|
|
53876
|
-
selectedWidget ? /* @__PURE__ */
|
|
54111
|
+
selectedWidget ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53877
54112
|
marginTop: 1,
|
|
53878
|
-
children: /* @__PURE__ */
|
|
54113
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53879
54114
|
children: [
|
|
53880
54115
|
"Current",
|
|
53881
54116
|
" ",
|
|
@@ -53889,19 +54124,19 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53889
54124
|
selectedWidget.bold && source_default.bold(" [BOLD]")
|
|
53890
54125
|
]
|
|
53891
54126
|
}, undefined, true, undefined, this)
|
|
53892
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54127
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53893
54128
|
marginTop: 1,
|
|
53894
|
-
children: /* @__PURE__ */
|
|
54129
|
+
children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53895
54130
|
children: " "
|
|
53896
54131
|
}, undefined, false, undefined, this)
|
|
53897
54132
|
}, undefined, false, undefined, this)
|
|
53898
54133
|
]
|
|
53899
54134
|
}, undefined, true, undefined, this),
|
|
53900
|
-
/* @__PURE__ */
|
|
54135
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53901
54136
|
marginTop: 1,
|
|
53902
|
-
children: hexInputMode || ansi256InputMode ? /* @__PURE__ */
|
|
54137
|
+
children: hexInputMode || ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53903
54138
|
flexDirection: "column",
|
|
53904
|
-
children: menuItems.map((item) => /* @__PURE__ */
|
|
54139
|
+
children: menuItems.map((item) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53905
54140
|
color: item.value === highlightedItemId ? "cyan" : "white",
|
|
53906
54141
|
bold: item.value === highlightedItemId,
|
|
53907
54142
|
children: [
|
|
@@ -53909,28 +54144,28 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53909
54144
|
item.label
|
|
53910
54145
|
]
|
|
53911
54146
|
}, item.value, true, undefined, this))
|
|
53912
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54147
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectInput_default, {
|
|
53913
54148
|
items: menuItems,
|
|
53914
54149
|
onSelect: handleSelect,
|
|
53915
54150
|
onHighlight: handleHighlight,
|
|
53916
54151
|
initialIndex: Math.max(0, menuItems.findIndex((item) => item.value === highlightedItemId)),
|
|
53917
|
-
indicatorComponent: ({ isSelected }) => /* @__PURE__ */
|
|
54152
|
+
indicatorComponent: ({ isSelected }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53918
54153
|
children: isSelected ? "▶" : " "
|
|
53919
54154
|
}, undefined, false, undefined, this),
|
|
53920
|
-
itemComponent: ({ isSelected, label }) => /* @__PURE__ */
|
|
54155
|
+
itemComponent: ({ isSelected, label }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53921
54156
|
children: ` ${label}`
|
|
53922
54157
|
}, undefined, false, undefined, this)
|
|
53923
54158
|
}, `${showSeparators}-${highlightedItemId}`, false, undefined, this)
|
|
53924
54159
|
}, undefined, false, undefined, this),
|
|
53925
|
-
/* @__PURE__ */
|
|
54160
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
|
|
53926
54161
|
marginTop: 1,
|
|
53927
54162
|
flexDirection: "column",
|
|
53928
54163
|
children: [
|
|
53929
|
-
/* @__PURE__ */
|
|
54164
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53930
54165
|
color: "yellow",
|
|
53931
54166
|
children: "⚠ VSCode Users: "
|
|
53932
54167
|
}, undefined, false, undefined, this),
|
|
53933
|
-
/* @__PURE__ */
|
|
54168
|
+
/* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
|
|
53934
54169
|
dimColor: true,
|
|
53935
54170
|
wrap: "wrap",
|
|
53936
54171
|
children: 'If colors appear incorrect in the VSCode integrated terminal, the "Terminal › Integrated: Minimum Contrast Ratio" (`terminal.integrated.minimumContrastRatio`) setting is forcing a minimum contrast between foreground and background colors. You can adjust this setting to 1 to disable the contrast enforcement, or use a standalone terminal for accurate colors.'
|
|
@@ -53941,16 +54176,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
|
|
|
53941
54176
|
}, undefined, true, undefined, this);
|
|
53942
54177
|
};
|
|
53943
54178
|
// src/tui/components/GlobalOverridesMenu.tsx
|
|
53944
|
-
var
|
|
53945
|
-
var
|
|
54179
|
+
var import_react34 = __toESM(require_react(), 1);
|
|
54180
|
+
var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
|
|
53946
54181
|
var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
53947
|
-
const [editingPadding, setEditingPadding] =
|
|
53948
|
-
const [editingSeparator, setEditingSeparator] =
|
|
53949
|
-
const [confirmingSeparator, setConfirmingSeparator] =
|
|
53950
|
-
const [paddingInput, setPaddingInput] =
|
|
53951
|
-
const [separatorInput, setSeparatorInput] =
|
|
53952
|
-
const [inheritColors, setInheritColors] =
|
|
53953
|
-
const [globalBold, setGlobalBold] =
|
|
54182
|
+
const [editingPadding, setEditingPadding] = import_react34.useState(false);
|
|
54183
|
+
const [editingSeparator, setEditingSeparator] = import_react34.useState(false);
|
|
54184
|
+
const [confirmingSeparator, setConfirmingSeparator] = import_react34.useState(false);
|
|
54185
|
+
const [paddingInput, setPaddingInput] = import_react34.useState(settings.defaultPadding ?? "");
|
|
54186
|
+
const [separatorInput, setSeparatorInput] = import_react34.useState(settings.defaultSeparator ?? "");
|
|
54187
|
+
const [inheritColors, setInheritColors] = import_react34.useState(settings.inheritSeparatorColors);
|
|
54188
|
+
const [globalBold, setGlobalBold] = import_react34.useState(settings.globalBold);
|
|
53954
54189
|
const isPowerlineEnabled = settings.powerline.enabled;
|
|
53955
54190
|
const hasManualSeparators = settings.lines.some((line) => line.some((item) => item.type === "separator"));
|
|
53956
54191
|
const bgColors = ["none", ...COLOR_MAP.filter((c) => c.isBackground).map((c) => c.name)];
|
|
@@ -54052,95 +54287,95 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54052
54287
|
}
|
|
54053
54288
|
}
|
|
54054
54289
|
});
|
|
54055
|
-
return /* @__PURE__ */
|
|
54290
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54056
54291
|
flexDirection: "column",
|
|
54057
54292
|
children: [
|
|
54058
|
-
/* @__PURE__ */
|
|
54293
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54059
54294
|
bold: true,
|
|
54060
54295
|
children: "Global Overrides"
|
|
54061
54296
|
}, undefined, false, undefined, this),
|
|
54062
|
-
/* @__PURE__ */
|
|
54297
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54063
54298
|
dimColor: true,
|
|
54064
|
-
children: "Configure automatic padding and separators between
|
|
54299
|
+
children: "Configure automatic padding and separators between widgets"
|
|
54065
54300
|
}, undefined, false, undefined, this),
|
|
54066
|
-
isPowerlineEnabled && /* @__PURE__ */
|
|
54301
|
+
isPowerlineEnabled && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54067
54302
|
marginTop: 1,
|
|
54068
|
-
children: /* @__PURE__ */
|
|
54303
|
+
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54069
54304
|
color: "yellow",
|
|
54070
54305
|
children: "⚠ Some options are disabled while Powerline mode is active"
|
|
54071
54306
|
}, undefined, false, undefined, this)
|
|
54072
54307
|
}, undefined, false, undefined, this),
|
|
54073
|
-
/* @__PURE__ */
|
|
54308
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54074
54309
|
marginTop: 1
|
|
54075
54310
|
}, undefined, false, undefined, this),
|
|
54076
|
-
editingPadding ? /* @__PURE__ */
|
|
54311
|
+
editingPadding ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54077
54312
|
flexDirection: "column",
|
|
54078
54313
|
children: [
|
|
54079
|
-
/* @__PURE__ */
|
|
54314
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54080
54315
|
children: [
|
|
54081
|
-
/* @__PURE__ */
|
|
54082
|
-
children: "Enter default padding (applied to left and right of each
|
|
54316
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54317
|
+
children: "Enter default padding (applied to left and right of each widget): "
|
|
54083
54318
|
}, undefined, false, undefined, this),
|
|
54084
|
-
/* @__PURE__ */
|
|
54319
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54085
54320
|
color: "cyan",
|
|
54086
54321
|
children: paddingInput ? `"${paddingInput}"` : "(empty)"
|
|
54087
54322
|
}, undefined, false, undefined, this)
|
|
54088
54323
|
]
|
|
54089
54324
|
}, undefined, true, undefined, this),
|
|
54090
|
-
/* @__PURE__ */
|
|
54325
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54091
54326
|
dimColor: true,
|
|
54092
54327
|
children: "Press Enter to save, ESC to cancel"
|
|
54093
54328
|
}, undefined, false, undefined, this)
|
|
54094
54329
|
]
|
|
54095
|
-
}, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */
|
|
54330
|
+
}, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54096
54331
|
flexDirection: "column",
|
|
54097
54332
|
children: [
|
|
54098
|
-
/* @__PURE__ */
|
|
54333
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54099
54334
|
children: [
|
|
54100
|
-
/* @__PURE__ */
|
|
54101
|
-
children: "Enter default separator (placed between
|
|
54335
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54336
|
+
children: "Enter default separator (placed between widgets): "
|
|
54102
54337
|
}, undefined, false, undefined, this),
|
|
54103
|
-
/* @__PURE__ */
|
|
54338
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54104
54339
|
color: "cyan",
|
|
54105
54340
|
children: separatorInput ? `"${separatorInput}"` : "(empty - no separator will be added)"
|
|
54106
54341
|
}, undefined, false, undefined, this)
|
|
54107
54342
|
]
|
|
54108
54343
|
}, undefined, true, undefined, this),
|
|
54109
|
-
/* @__PURE__ */
|
|
54344
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54110
54345
|
dimColor: true,
|
|
54111
54346
|
children: "Press Enter to save, ESC to cancel"
|
|
54112
54347
|
}, undefined, false, undefined, this)
|
|
54113
54348
|
]
|
|
54114
|
-
}, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */
|
|
54349
|
+
}, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54115
54350
|
flexDirection: "column",
|
|
54116
54351
|
children: [
|
|
54117
|
-
/* @__PURE__ */
|
|
54352
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54118
54353
|
marginBottom: 1,
|
|
54119
|
-
children: /* @__PURE__ */
|
|
54354
|
+
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54120
54355
|
color: "yellow",
|
|
54121
54356
|
children: "⚠ Warning: Setting a default separator will remove all existing manual separators from your status lines."
|
|
54122
54357
|
}, undefined, false, undefined, this)
|
|
54123
54358
|
}, undefined, false, undefined, this),
|
|
54124
|
-
/* @__PURE__ */
|
|
54359
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54125
54360
|
children: [
|
|
54126
|
-
/* @__PURE__ */
|
|
54361
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54127
54362
|
children: "New default separator: "
|
|
54128
54363
|
}, undefined, false, undefined, this),
|
|
54129
|
-
/* @__PURE__ */
|
|
54364
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54130
54365
|
color: "cyan",
|
|
54131
54366
|
children: separatorInput ? `"${separatorInput}"` : "(empty)"
|
|
54132
54367
|
}, undefined, false, undefined, this)
|
|
54133
54368
|
]
|
|
54134
54369
|
}, undefined, true, undefined, this),
|
|
54135
|
-
/* @__PURE__ */
|
|
54370
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54136
54371
|
marginTop: 1,
|
|
54137
|
-
children: /* @__PURE__ */
|
|
54372
|
+
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54138
54373
|
children: "Do you want to continue? "
|
|
54139
54374
|
}, undefined, false, undefined, this)
|
|
54140
54375
|
}, undefined, false, undefined, this),
|
|
54141
|
-
/* @__PURE__ */
|
|
54376
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54142
54377
|
marginTop: 1,
|
|
54143
|
-
children: /* @__PURE__ */
|
|
54378
|
+
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ConfirmDialog, {
|
|
54144
54379
|
inline: true,
|
|
54145
54380
|
onConfirm: () => {
|
|
54146
54381
|
const updatedSettings = {
|
|
@@ -54158,47 +54393,47 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54158
54393
|
}, undefined, false, undefined, this)
|
|
54159
54394
|
}, undefined, false, undefined, this)
|
|
54160
54395
|
]
|
|
54161
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
54396
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
|
|
54162
54397
|
children: [
|
|
54163
|
-
/* @__PURE__ */
|
|
54398
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54164
54399
|
children: [
|
|
54165
|
-
/* @__PURE__ */
|
|
54400
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54166
54401
|
children: " Global Bold: "
|
|
54167
54402
|
}, undefined, false, undefined, this),
|
|
54168
|
-
/* @__PURE__ */
|
|
54403
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54169
54404
|
color: globalBold ? "green" : "red",
|
|
54170
54405
|
children: globalBold ? "✓ Enabled" : "✗ Disabled"
|
|
54171
54406
|
}, undefined, false, undefined, this),
|
|
54172
|
-
/* @__PURE__ */
|
|
54407
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54173
54408
|
dimColor: true,
|
|
54174
54409
|
children: " - Press (o) to toggle"
|
|
54175
54410
|
}, undefined, false, undefined, this)
|
|
54176
54411
|
]
|
|
54177
54412
|
}, undefined, true, undefined, this),
|
|
54178
|
-
/* @__PURE__ */
|
|
54413
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54179
54414
|
children: [
|
|
54180
|
-
/* @__PURE__ */
|
|
54415
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54181
54416
|
children: " Default Padding: "
|
|
54182
54417
|
}, undefined, false, undefined, this),
|
|
54183
|
-
/* @__PURE__ */
|
|
54418
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54184
54419
|
color: "cyan",
|
|
54185
54420
|
children: settings.defaultPadding ? `"${settings.defaultPadding}"` : "(none)"
|
|
54186
54421
|
}, undefined, false, undefined, this),
|
|
54187
|
-
/* @__PURE__ */
|
|
54422
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54188
54423
|
dimColor: true,
|
|
54189
54424
|
children: " - Press (p) to edit"
|
|
54190
54425
|
}, undefined, false, undefined, this)
|
|
54191
54426
|
]
|
|
54192
54427
|
}, undefined, true, undefined, this),
|
|
54193
|
-
/* @__PURE__ */
|
|
54428
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54194
54429
|
children: [
|
|
54195
|
-
/* @__PURE__ */
|
|
54430
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54196
54431
|
children: "Override FG Color: "
|
|
54197
54432
|
}, undefined, false, undefined, this),
|
|
54198
54433
|
(() => {
|
|
54199
54434
|
const fgColor = settings.overrideForegroundColor ?? "none";
|
|
54200
54435
|
if (fgColor === "none") {
|
|
54201
|
-
return /* @__PURE__ */
|
|
54436
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54202
54437
|
color: "gray",
|
|
54203
54438
|
children: "(none)"
|
|
54204
54439
|
}, undefined, false, undefined, this);
|
|
@@ -54206,31 +54441,31 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54206
54441
|
const displayName = getColorDisplayName(fgColor);
|
|
54207
54442
|
const fgChalk = getChalkColor(fgColor, "ansi16", false);
|
|
54208
54443
|
const display = fgChalk ? fgChalk(displayName) : displayName;
|
|
54209
|
-
return /* @__PURE__ */
|
|
54444
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54210
54445
|
children: display
|
|
54211
54446
|
}, undefined, false, undefined, this);
|
|
54212
54447
|
}
|
|
54213
54448
|
})(),
|
|
54214
|
-
/* @__PURE__ */
|
|
54449
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54215
54450
|
dimColor: true,
|
|
54216
54451
|
children: " - (f) cycle, (g) clear"
|
|
54217
54452
|
}, undefined, false, undefined, this)
|
|
54218
54453
|
]
|
|
54219
54454
|
}, undefined, true, undefined, this),
|
|
54220
|
-
/* @__PURE__ */
|
|
54455
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54221
54456
|
children: [
|
|
54222
|
-
/* @__PURE__ */
|
|
54457
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54223
54458
|
children: "Override BG Color: "
|
|
54224
54459
|
}, undefined, false, undefined, this),
|
|
54225
|
-
isPowerlineEnabled ? /* @__PURE__ */
|
|
54460
|
+
isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54226
54461
|
dimColor: true,
|
|
54227
54462
|
children: "[disabled - Powerline active]"
|
|
54228
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54463
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
|
|
54229
54464
|
children: [
|
|
54230
54465
|
(() => {
|
|
54231
54466
|
const bgColor = settings.overrideBackgroundColor ?? "none";
|
|
54232
54467
|
if (bgColor === "none") {
|
|
54233
|
-
return /* @__PURE__ */
|
|
54468
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54234
54469
|
color: "gray",
|
|
54235
54470
|
children: "(none)"
|
|
54236
54471
|
}, undefined, false, undefined, this);
|
|
@@ -54238,12 +54473,12 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54238
54473
|
const displayName = getColorDisplayName(bgColor);
|
|
54239
54474
|
const bgChalk = getChalkColor(bgColor, "ansi16", true);
|
|
54240
54475
|
const display = bgChalk ? bgChalk(` ${displayName} `) : displayName;
|
|
54241
|
-
return /* @__PURE__ */
|
|
54476
|
+
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54242
54477
|
children: display
|
|
54243
54478
|
}, undefined, false, undefined, this);
|
|
54244
54479
|
}
|
|
54245
54480
|
})(),
|
|
54246
|
-
/* @__PURE__ */
|
|
54481
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54247
54482
|
dimColor: true,
|
|
54248
54483
|
children: " - (b) cycle, (c) clear"
|
|
54249
54484
|
}, undefined, false, undefined, this)
|
|
@@ -54251,21 +54486,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54251
54486
|
}, undefined, true, undefined, this)
|
|
54252
54487
|
]
|
|
54253
54488
|
}, undefined, true, undefined, this),
|
|
54254
|
-
/* @__PURE__ */
|
|
54489
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54255
54490
|
children: [
|
|
54256
|
-
/* @__PURE__ */
|
|
54491
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54257
54492
|
children: " Inherit Colors: "
|
|
54258
54493
|
}, undefined, false, undefined, this),
|
|
54259
|
-
isPowerlineEnabled ? /* @__PURE__ */
|
|
54494
|
+
isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54260
54495
|
dimColor: true,
|
|
54261
54496
|
children: "[disabled - Powerline active]"
|
|
54262
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54497
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
|
|
54263
54498
|
children: [
|
|
54264
|
-
/* @__PURE__ */
|
|
54499
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54265
54500
|
color: inheritColors ? "green" : "red",
|
|
54266
54501
|
children: inheritColors ? "✓ Enabled" : "✗ Disabled"
|
|
54267
54502
|
}, undefined, false, undefined, this),
|
|
54268
|
-
/* @__PURE__ */
|
|
54503
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54269
54504
|
dimColor: true,
|
|
54270
54505
|
children: " - Press (i) to toggle"
|
|
54271
54506
|
}, undefined, false, undefined, this)
|
|
@@ -54273,21 +54508,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54273
54508
|
}, undefined, true, undefined, this)
|
|
54274
54509
|
]
|
|
54275
54510
|
}, undefined, true, undefined, this),
|
|
54276
|
-
/* @__PURE__ */
|
|
54511
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54277
54512
|
children: [
|
|
54278
|
-
/* @__PURE__ */
|
|
54513
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54279
54514
|
children: "Default Separator: "
|
|
54280
54515
|
}, undefined, false, undefined, this),
|
|
54281
|
-
isPowerlineEnabled ? /* @__PURE__ */
|
|
54516
|
+
isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54282
54517
|
dimColor: true,
|
|
54283
54518
|
children: "[disabled - Powerline active]"
|
|
54284
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54519
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
|
|
54285
54520
|
children: [
|
|
54286
|
-
/* @__PURE__ */
|
|
54521
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54287
54522
|
color: "cyan",
|
|
54288
54523
|
children: settings.defaultSeparator ? `"${settings.defaultSeparator}"` : "(none)"
|
|
54289
54524
|
}, undefined, false, undefined, this),
|
|
54290
|
-
/* @__PURE__ */
|
|
54525
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54291
54526
|
dimColor: true,
|
|
54292
54527
|
children: " - Press (s) to edit"
|
|
54293
54528
|
}, undefined, false, undefined, this)
|
|
@@ -54295,36 +54530,36 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54295
54530
|
}, undefined, true, undefined, this)
|
|
54296
54531
|
]
|
|
54297
54532
|
}, undefined, true, undefined, this),
|
|
54298
|
-
/* @__PURE__ */
|
|
54533
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54299
54534
|
marginTop: 2,
|
|
54300
|
-
children: /* @__PURE__ */
|
|
54535
|
+
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54301
54536
|
dimColor: true,
|
|
54302
54537
|
children: "Press ESC to go back"
|
|
54303
54538
|
}, undefined, false, undefined, this)
|
|
54304
54539
|
}, undefined, false, undefined, this),
|
|
54305
|
-
/* @__PURE__ */
|
|
54540
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
|
|
54306
54541
|
marginTop: 1,
|
|
54307
54542
|
flexDirection: "column",
|
|
54308
54543
|
children: [
|
|
54309
|
-
/* @__PURE__ */
|
|
54544
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54310
54545
|
dimColor: true,
|
|
54311
54546
|
wrap: "wrap",
|
|
54312
|
-
children: "Note: These settings are applied during rendering and don't add
|
|
54547
|
+
children: "Note: These settings are applied during rendering and don't add widgets to your widget list."
|
|
54313
54548
|
}, undefined, false, undefined, this),
|
|
54314
|
-
/* @__PURE__ */
|
|
54549
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54315
54550
|
dimColor: true,
|
|
54316
54551
|
wrap: "wrap",
|
|
54317
54552
|
children: "• Inherit colors: Separators will use colors from the preceding widget"
|
|
54318
54553
|
}, undefined, false, undefined, this),
|
|
54319
|
-
/* @__PURE__ */
|
|
54554
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54320
54555
|
dimColor: true,
|
|
54321
54556
|
wrap: "wrap",
|
|
54322
54557
|
children: "• Global Bold: Makes all text bold regardless of individual settings"
|
|
54323
54558
|
}, undefined, false, undefined, this),
|
|
54324
|
-
/* @__PURE__ */
|
|
54559
|
+
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
54325
54560
|
dimColor: true,
|
|
54326
54561
|
wrap: "wrap",
|
|
54327
|
-
children: "• Override colors: All
|
|
54562
|
+
children: "• Override colors: All widgets will use these colors instead of their configured colors"
|
|
54328
54563
|
}, undefined, false, undefined, this)
|
|
54329
54564
|
]
|
|
54330
54565
|
}, undefined, true, undefined, this)
|
|
@@ -54334,8 +54569,8 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
54334
54569
|
}, undefined, true, undefined, this);
|
|
54335
54570
|
};
|
|
54336
54571
|
// src/tui/components/InstallMenu.tsx
|
|
54337
|
-
var
|
|
54338
|
-
var
|
|
54572
|
+
var import_react35 = __toESM(require_react(), 1);
|
|
54573
|
+
var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
|
|
54339
54574
|
var InstallMenu = ({
|
|
54340
54575
|
bunxAvailable,
|
|
54341
54576
|
existingStatusLine,
|
|
@@ -54343,7 +54578,7 @@ var InstallMenu = ({
|
|
|
54343
54578
|
onSelectBunx,
|
|
54344
54579
|
onCancel
|
|
54345
54580
|
}) => {
|
|
54346
|
-
const [selectedIndex, setSelectedIndex] =
|
|
54581
|
+
const [selectedIndex, setSelectedIndex] = import_react35.useState(0);
|
|
54347
54582
|
const maxIndex = 2;
|
|
54348
54583
|
use_input_default((input, key) => {
|
|
54349
54584
|
if (key.escape) {
|
|
@@ -54372,16 +54607,16 @@ var InstallMenu = ({
|
|
|
54372
54607
|
}
|
|
54373
54608
|
}
|
|
54374
54609
|
});
|
|
54375
|
-
return /* @__PURE__ */
|
|
54610
|
+
return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54376
54611
|
flexDirection: "column",
|
|
54377
54612
|
children: [
|
|
54378
|
-
/* @__PURE__ */
|
|
54613
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54379
54614
|
bold: true,
|
|
54380
54615
|
children: "Install ccstatusline to Claude Code"
|
|
54381
54616
|
}, undefined, false, undefined, this),
|
|
54382
|
-
existingStatusLine && /* @__PURE__ */
|
|
54617
|
+
existingStatusLine && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54383
54618
|
marginBottom: 1,
|
|
54384
|
-
children: /* @__PURE__ */
|
|
54619
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54385
54620
|
color: "yellow",
|
|
54386
54621
|
children: [
|
|
54387
54622
|
'⚠ Current status line: "',
|
|
@@ -54390,18 +54625,18 @@ var InstallMenu = ({
|
|
|
54390
54625
|
]
|
|
54391
54626
|
}, undefined, true, undefined, this)
|
|
54392
54627
|
}, undefined, false, undefined, this),
|
|
54393
|
-
/* @__PURE__ */
|
|
54394
|
-
children: /* @__PURE__ */
|
|
54628
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54629
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54395
54630
|
dimColor: true,
|
|
54396
54631
|
children: "Select package manager to use:"
|
|
54397
54632
|
}, undefined, false, undefined, this)
|
|
54398
54633
|
}, undefined, false, undefined, this),
|
|
54399
|
-
/* @__PURE__ */
|
|
54634
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54400
54635
|
marginTop: 1,
|
|
54401
54636
|
flexDirection: "column",
|
|
54402
54637
|
children: [
|
|
54403
|
-
/* @__PURE__ */
|
|
54404
|
-
children: /* @__PURE__ */
|
|
54638
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54639
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54405
54640
|
color: selectedIndex === 0 ? "blue" : undefined,
|
|
54406
54641
|
children: [
|
|
54407
54642
|
selectedIndex === 0 ? "▶ " : " ",
|
|
@@ -54409,8 +54644,8 @@ var InstallMenu = ({
|
|
|
54409
54644
|
]
|
|
54410
54645
|
}, undefined, true, undefined, this)
|
|
54411
54646
|
}, undefined, false, undefined, this),
|
|
54412
|
-
/* @__PURE__ */
|
|
54413
|
-
children: /* @__PURE__ */
|
|
54647
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54648
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54414
54649
|
color: selectedIndex === 1 && bunxAvailable ? "blue" : undefined,
|
|
54415
54650
|
dimColor: !bunxAvailable,
|
|
54416
54651
|
children: [
|
|
@@ -54420,9 +54655,9 @@ var InstallMenu = ({
|
|
|
54420
54655
|
]
|
|
54421
54656
|
}, undefined, true, undefined, this)
|
|
54422
54657
|
}, undefined, false, undefined, this),
|
|
54423
|
-
/* @__PURE__ */
|
|
54658
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54424
54659
|
marginTop: 1,
|
|
54425
|
-
children: /* @__PURE__ */
|
|
54660
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54426
54661
|
color: selectedIndex === 2 ? "blue" : undefined,
|
|
54427
54662
|
children: [
|
|
54428
54663
|
selectedIndex === 2 ? "▶ " : " ",
|
|
@@ -54432,16 +54667,16 @@ var InstallMenu = ({
|
|
|
54432
54667
|
}, undefined, false, undefined, this)
|
|
54433
54668
|
]
|
|
54434
54669
|
}, undefined, true, undefined, this),
|
|
54435
|
-
/* @__PURE__ */
|
|
54670
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54436
54671
|
marginTop: 2,
|
|
54437
|
-
children: /* @__PURE__ */
|
|
54672
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54438
54673
|
dimColor: true,
|
|
54439
54674
|
children: "The selected command will be written to ~/.claude/settings.json"
|
|
54440
54675
|
}, undefined, false, undefined, this)
|
|
54441
54676
|
}, undefined, false, undefined, this),
|
|
54442
|
-
/* @__PURE__ */
|
|
54677
|
+
/* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
|
|
54443
54678
|
marginTop: 1,
|
|
54444
|
-
children: /* @__PURE__ */
|
|
54679
|
+
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
|
|
54445
54680
|
dimColor: true,
|
|
54446
54681
|
children: "Press Enter to select, ESC to cancel"
|
|
54447
54682
|
}, undefined, false, undefined, this)
|
|
@@ -54450,12 +54685,12 @@ var InstallMenu = ({
|
|
|
54450
54685
|
}, undefined, true, undefined, this);
|
|
54451
54686
|
};
|
|
54452
54687
|
// src/tui/components/ItemsEditor.tsx
|
|
54453
|
-
var
|
|
54454
|
-
var
|
|
54688
|
+
var import_react36 = __toESM(require_react(), 1);
|
|
54689
|
+
var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
|
|
54455
54690
|
var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
54456
|
-
const [selectedIndex, setSelectedIndex] =
|
|
54457
|
-
const [moveMode, setMoveMode] =
|
|
54458
|
-
const [customEditorWidget, setCustomEditorWidget] =
|
|
54691
|
+
const [selectedIndex, setSelectedIndex] = import_react36.useState(0);
|
|
54692
|
+
const [moveMode, setMoveMode] = import_react36.useState(false);
|
|
54693
|
+
const [customEditorWidget, setCustomEditorWidget] = import_react36.useState(null);
|
|
54459
54694
|
const separatorChars = ["|", "-", ",", " "];
|
|
54460
54695
|
const getAllowedTypes = () => {
|
|
54461
54696
|
let allowedTypes = getAllWidgetTypes(settings);
|
|
@@ -54642,7 +54877,7 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
|
54642
54877
|
if (widgetImpl.getCustomKeybinds) {
|
|
54643
54878
|
const customKeybinds2 = widgetImpl.getCustomKeybinds();
|
|
54644
54879
|
const matchedKeybind = customKeybinds2.find((kb) => kb.key === input);
|
|
54645
|
-
if (matchedKeybind) {
|
|
54880
|
+
if (matchedKeybind && !key.ctrl) {
|
|
54646
54881
|
if (widgetImpl.handleEditorAction) {
|
|
54647
54882
|
const updatedWidget = widgetImpl.handleEditorAction(matchedKeybind.action, currentWidget2);
|
|
54648
54883
|
if (updatedWidget) {
|
|
@@ -54715,12 +54950,12 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
|
54715
54950
|
action: customEditorWidget.action
|
|
54716
54951
|
});
|
|
54717
54952
|
}
|
|
54718
|
-
return /* @__PURE__ */
|
|
54953
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54719
54954
|
flexDirection: "column",
|
|
54720
54955
|
children: [
|
|
54721
|
-
/* @__PURE__ */
|
|
54956
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54722
54957
|
children: [
|
|
54723
|
-
/* @__PURE__ */
|
|
54958
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54724
54959
|
bold: true,
|
|
54725
54960
|
children: [
|
|
54726
54961
|
"Edit Line",
|
|
@@ -54729,13 +54964,13 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
|
54729
54964
|
" "
|
|
54730
54965
|
]
|
|
54731
54966
|
}, undefined, true, undefined, this),
|
|
54732
|
-
moveMode && /* @__PURE__ */
|
|
54967
|
+
moveMode && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54733
54968
|
color: "blue",
|
|
54734
54969
|
children: "[MOVE MODE]"
|
|
54735
54970
|
}, undefined, false, undefined, this),
|
|
54736
|
-
(settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */
|
|
54971
|
+
(settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54737
54972
|
marginLeft: 2,
|
|
54738
|
-
children: /* @__PURE__ */
|
|
54973
|
+
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54739
54974
|
color: "yellow",
|
|
54740
54975
|
children: [
|
|
54741
54976
|
"⚠",
|
|
@@ -54746,96 +54981,96 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
|
54746
54981
|
}, undefined, false, undefined, this)
|
|
54747
54982
|
]
|
|
54748
54983
|
}, undefined, true, undefined, this),
|
|
54749
|
-
moveMode ? /* @__PURE__ */
|
|
54984
|
+
moveMode ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54750
54985
|
flexDirection: "column",
|
|
54751
54986
|
marginBottom: 1,
|
|
54752
|
-
children: /* @__PURE__ */
|
|
54987
|
+
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54753
54988
|
dimColor: true,
|
|
54754
|
-
children: "↑↓ to move
|
|
54989
|
+
children: "↑↓ to move widget, ESC or Enter to exit move mode"
|
|
54755
54990
|
}, undefined, false, undefined, this)
|
|
54756
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
54991
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54757
54992
|
flexDirection: "column",
|
|
54758
54993
|
children: [
|
|
54759
|
-
/* @__PURE__ */
|
|
54994
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54760
54995
|
dimColor: true,
|
|
54761
54996
|
children: helpText
|
|
54762
54997
|
}, undefined, false, undefined, this),
|
|
54763
|
-
/* @__PURE__ */
|
|
54998
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54764
54999
|
dimColor: true,
|
|
54765
55000
|
children: customKeybindsText || " "
|
|
54766
55001
|
}, undefined, false, undefined, this)
|
|
54767
55002
|
]
|
|
54768
55003
|
}, undefined, true, undefined, this),
|
|
54769
|
-
hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */
|
|
55004
|
+
hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54770
55005
|
marginTop: 1,
|
|
54771
55006
|
children: [
|
|
54772
|
-
/* @__PURE__ */
|
|
55007
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54773
55008
|
color: "yellow",
|
|
54774
55009
|
children: "⚠ Note: Terminal width detection is currently unavailable in your environment."
|
|
54775
55010
|
}, undefined, false, undefined, this),
|
|
54776
|
-
/* @__PURE__ */
|
|
55011
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54777
55012
|
dimColor: true,
|
|
54778
55013
|
children: " Flex separators will act as normal separators until width detection is available."
|
|
54779
55014
|
}, undefined, false, undefined, this)
|
|
54780
55015
|
]
|
|
54781
55016
|
}, undefined, true, undefined, this),
|
|
54782
|
-
/* @__PURE__ */
|
|
55017
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54783
55018
|
marginTop: 1,
|
|
54784
55019
|
flexDirection: "column",
|
|
54785
|
-
children: widgets.length === 0 ? /* @__PURE__ */
|
|
55020
|
+
children: widgets.length === 0 ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54786
55021
|
dimColor: true,
|
|
54787
|
-
children: "No
|
|
54788
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
55022
|
+
children: "No widgets. Press 'a' to add one."
|
|
55023
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(jsx_dev_runtime8.Fragment, {
|
|
54789
55024
|
children: [
|
|
54790
55025
|
widgets.map((widget, index) => {
|
|
54791
55026
|
const isSelected = index === selectedIndex;
|
|
54792
55027
|
const widgetImpl = widget.type !== "separator" && widget.type !== "flex-separator" ? getWidget(widget.type) : null;
|
|
54793
55028
|
const { displayText, modifierText } = widgetImpl?.getEditorDisplay(widget) ?? { displayText: getWidgetDisplay(widget) };
|
|
54794
|
-
return /* @__PURE__ */
|
|
55029
|
+
return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54795
55030
|
flexDirection: "row",
|
|
54796
55031
|
flexWrap: "nowrap",
|
|
54797
55032
|
children: [
|
|
54798
|
-
/* @__PURE__ */
|
|
55033
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54799
55034
|
width: 3,
|
|
54800
|
-
children: /* @__PURE__ */
|
|
55035
|
+
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54801
55036
|
color: isSelected ? moveMode ? "blue" : "green" : undefined,
|
|
54802
55037
|
children: isSelected ? moveMode ? "◆ " : "▶ " : " "
|
|
54803
55038
|
}, undefined, false, undefined, this)
|
|
54804
55039
|
}, undefined, false, undefined, this),
|
|
54805
|
-
/* @__PURE__ */
|
|
55040
|
+
/* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54806
55041
|
color: isSelected ? moveMode ? "blue" : "green" : undefined,
|
|
54807
55042
|
children: `${index + 1}. ${displayText || getWidgetDisplay(widget)}`
|
|
54808
55043
|
}, undefined, false, undefined, this),
|
|
54809
|
-
modifierText && /* @__PURE__ */
|
|
55044
|
+
modifierText && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54810
55045
|
dimColor: true,
|
|
54811
55046
|
children: [
|
|
54812
55047
|
" ",
|
|
54813
55048
|
modifierText
|
|
54814
55049
|
]
|
|
54815
55050
|
}, undefined, true, undefined, this),
|
|
54816
|
-
widget.rawValue && /* @__PURE__ */
|
|
55051
|
+
widget.rawValue && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54817
55052
|
dimColor: true,
|
|
54818
55053
|
children: " (raw value)"
|
|
54819
55054
|
}, undefined, false, undefined, this),
|
|
54820
|
-
widget.merge === true && /* @__PURE__ */
|
|
55055
|
+
widget.merge === true && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54821
55056
|
dimColor: true,
|
|
54822
55057
|
children: " (merged→)"
|
|
54823
55058
|
}, undefined, false, undefined, this),
|
|
54824
|
-
widget.merge === "no-padding" && /* @__PURE__ */
|
|
55059
|
+
widget.merge === "no-padding" && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54825
55060
|
dimColor: true,
|
|
54826
55061
|
children: " (merged-no-pad→)"
|
|
54827
55062
|
}, undefined, false, undefined, this)
|
|
54828
55063
|
]
|
|
54829
55064
|
}, widget.id, true, undefined, this);
|
|
54830
55065
|
}),
|
|
54831
|
-
currentWidget && /* @__PURE__ */
|
|
55066
|
+
currentWidget && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
|
|
54832
55067
|
marginTop: 1,
|
|
54833
55068
|
paddingLeft: 2,
|
|
54834
|
-
children: /* @__PURE__ */
|
|
55069
|
+
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
|
|
54835
55070
|
dimColor: true,
|
|
54836
55071
|
children: (() => {
|
|
54837
55072
|
if (currentWidget.type === "separator") {
|
|
54838
|
-
return "A separator character between status line
|
|
55073
|
+
return "A separator character between status line widgets";
|
|
54839
55074
|
} else if (currentWidget.type === "flex-separator") {
|
|
54840
55075
|
return "Expands to fill available terminal width";
|
|
54841
55076
|
} else {
|
|
@@ -54856,10 +55091,10 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
|
|
|
54856
55091
|
}, undefined, true, undefined, this);
|
|
54857
55092
|
};
|
|
54858
55093
|
// src/tui/components/LineSelector.tsx
|
|
54859
|
-
var
|
|
54860
|
-
var
|
|
55094
|
+
var import_react37 = __toESM(require_react(), 1);
|
|
55095
|
+
var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
|
|
54861
55096
|
var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, blockIfPowerlineActive = false, settings }) => {
|
|
54862
|
-
const [selectedIndex, setSelectedIndex] =
|
|
55097
|
+
const [selectedIndex, setSelectedIndex] = import_react37.useState(initialSelection);
|
|
54863
55098
|
const powerlineEnabled = settings ? settings.powerline.enabled : false;
|
|
54864
55099
|
const powerlineTheme = settings ? settings.powerline.theme : undefined;
|
|
54865
55100
|
const isThemeManaged = blockIfPowerlineActive && powerlineEnabled && powerlineTheme && powerlineTheme !== "custom";
|
|
@@ -54883,16 +55118,16 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
|
|
|
54883
55118
|
}
|
|
54884
55119
|
});
|
|
54885
55120
|
if (isThemeManaged) {
|
|
54886
|
-
return /* @__PURE__ */
|
|
55121
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54887
55122
|
flexDirection: "column",
|
|
54888
55123
|
children: [
|
|
54889
|
-
/* @__PURE__ */
|
|
55124
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54890
55125
|
bold: true,
|
|
54891
55126
|
children: title ?? "Select Line"
|
|
54892
55127
|
}, undefined, false, undefined, this),
|
|
54893
|
-
/* @__PURE__ */
|
|
55128
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54894
55129
|
marginTop: 1,
|
|
54895
|
-
children: /* @__PURE__ */
|
|
55130
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54896
55131
|
color: "yellow",
|
|
54897
55132
|
children: [
|
|
54898
55133
|
"⚠ Colors are currently managed by the Powerline theme:",
|
|
@@ -54900,88 +55135,88 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
|
|
|
54900
55135
|
]
|
|
54901
55136
|
}, undefined, true, undefined, this)
|
|
54902
55137
|
}, undefined, false, undefined, this),
|
|
54903
|
-
/* @__PURE__ */
|
|
55138
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54904
55139
|
marginTop: 1,
|
|
54905
|
-
children: /* @__PURE__ */
|
|
55140
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54906
55141
|
dimColor: true,
|
|
54907
55142
|
children: "To customize colors, either:"
|
|
54908
55143
|
}, undefined, false, undefined, this)
|
|
54909
55144
|
}, undefined, false, undefined, this),
|
|
54910
|
-
/* @__PURE__ */
|
|
55145
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54911
55146
|
marginLeft: 2,
|
|
54912
|
-
children: /* @__PURE__ */
|
|
55147
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54913
55148
|
dimColor: true,
|
|
54914
55149
|
children: "• Change to 'Custom' theme in Powerline Configuration → Themes"
|
|
54915
55150
|
}, undefined, false, undefined, this)
|
|
54916
55151
|
}, undefined, false, undefined, this),
|
|
54917
|
-
/* @__PURE__ */
|
|
55152
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54918
55153
|
marginLeft: 2,
|
|
54919
|
-
children: /* @__PURE__ */
|
|
55154
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54920
55155
|
dimColor: true,
|
|
54921
55156
|
children: "• Disable Powerline mode in Powerline Configuration"
|
|
54922
55157
|
}, undefined, false, undefined, this)
|
|
54923
55158
|
}, undefined, false, undefined, this),
|
|
54924
|
-
/* @__PURE__ */
|
|
55159
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54925
55160
|
marginTop: 2,
|
|
54926
|
-
children: /* @__PURE__ */
|
|
55161
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54927
55162
|
children: "Press any key to go back..."
|
|
54928
55163
|
}, undefined, false, undefined, this)
|
|
54929
55164
|
}, undefined, false, undefined, this)
|
|
54930
55165
|
]
|
|
54931
55166
|
}, undefined, true, undefined, this);
|
|
54932
55167
|
}
|
|
54933
|
-
return /* @__PURE__ */
|
|
55168
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54934
55169
|
flexDirection: "column",
|
|
54935
55170
|
children: [
|
|
54936
|
-
/* @__PURE__ */
|
|
55171
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54937
55172
|
bold: true,
|
|
54938
55173
|
children: title ?? "Select Line to Edit"
|
|
54939
55174
|
}, undefined, false, undefined, this),
|
|
54940
|
-
/* @__PURE__ */
|
|
55175
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54941
55176
|
dimColor: true,
|
|
54942
55177
|
children: "Choose which status line to configure (up to 3 lines supported)"
|
|
54943
55178
|
}, undefined, false, undefined, this),
|
|
54944
|
-
/* @__PURE__ */
|
|
55179
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54945
55180
|
dimColor: true,
|
|
54946
55181
|
children: "Press ESC to go back"
|
|
54947
55182
|
}, undefined, false, undefined, this),
|
|
54948
|
-
/* @__PURE__ */
|
|
55183
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54949
55184
|
marginTop: 1,
|
|
54950
55185
|
flexDirection: "column",
|
|
54951
55186
|
children: [
|
|
54952
|
-
/* @__PURE__ */
|
|
54953
|
-
children: /* @__PURE__ */
|
|
55187
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
55188
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54954
55189
|
color: selectedIndex === 0 ? "green" : undefined,
|
|
54955
55190
|
children: [
|
|
54956
55191
|
selectedIndex === 0 ? "▶ " : " ",
|
|
54957
55192
|
"☰ Line 1",
|
|
54958
|
-
lines[0] && lines[0].length > 0 ? ` (${lines[0].length}
|
|
55193
|
+
lines[0] && lines[0].length > 0 ? ` (${lines[0].length} widgets)` : " (empty)"
|
|
54959
55194
|
]
|
|
54960
55195
|
}, undefined, true, undefined, this)
|
|
54961
55196
|
}, undefined, false, undefined, this),
|
|
54962
|
-
/* @__PURE__ */
|
|
54963
|
-
children: /* @__PURE__ */
|
|
55197
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
55198
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54964
55199
|
color: selectedIndex === 1 ? "green" : undefined,
|
|
54965
55200
|
children: [
|
|
54966
55201
|
selectedIndex === 1 ? "▶ " : " ",
|
|
54967
55202
|
"☰ Line 2",
|
|
54968
|
-
lines[1] && lines[1].length > 0 ? ` (${lines[1].length}
|
|
55203
|
+
lines[1] && lines[1].length > 0 ? ` (${lines[1].length} widgets)` : " (empty)"
|
|
54969
55204
|
]
|
|
54970
55205
|
}, undefined, true, undefined, this)
|
|
54971
55206
|
}, undefined, false, undefined, this),
|
|
54972
|
-
/* @__PURE__ */
|
|
54973
|
-
children: /* @__PURE__ */
|
|
55207
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
55208
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54974
55209
|
color: selectedIndex === 2 ? "green" : undefined,
|
|
54975
55210
|
children: [
|
|
54976
55211
|
selectedIndex === 2 ? "▶ " : " ",
|
|
54977
55212
|
"☰ Line 3",
|
|
54978
|
-
lines[2] && lines[2].length > 0 ? ` (${lines[2].length}
|
|
55213
|
+
lines[2] && lines[2].length > 0 ? ` (${lines[2].length} widgets)` : " (empty)"
|
|
54979
55214
|
]
|
|
54980
55215
|
}, undefined, true, undefined, this)
|
|
54981
55216
|
}, undefined, false, undefined, this),
|
|
54982
|
-
/* @__PURE__ */
|
|
55217
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
54983
55218
|
marginTop: 1,
|
|
54984
|
-
children: /* @__PURE__ */
|
|
55219
|
+
children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
54985
55220
|
color: selectedIndex === 3 ? "green" : undefined,
|
|
54986
55221
|
children: [
|
|
54987
55222
|
selectedIndex === 3 ? "▶ " : " ",
|
|
@@ -54995,10 +55230,10 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
|
|
|
54995
55230
|
}, undefined, true, undefined, this);
|
|
54996
55231
|
};
|
|
54997
55232
|
// src/tui/components/MainMenu.tsx
|
|
54998
|
-
var
|
|
54999
|
-
var
|
|
55233
|
+
var import_react38 = __toESM(require_react(), 1);
|
|
55234
|
+
var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
|
|
55000
55235
|
var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0, powerlineFontStatus, settings, previewIsTruncated }) => {
|
|
55001
|
-
const [selectedIndex, setSelectedIndex] =
|
|
55236
|
+
const [selectedIndex, setSelectedIndex] = import_react38.useState(initialSelection);
|
|
55002
55237
|
const menuItems = [
|
|
55003
55238
|
{ label: "\uD83D\uDCDD Edit Lines", value: "lines", selectable: true },
|
|
55004
55239
|
{ label: "\uD83C\uDFA8 Edit Colors", value: "colors", selectable: true },
|
|
@@ -55043,32 +55278,32 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
|
|
|
55043
55278
|
const selectedItem = selectableItems[selectedIndex];
|
|
55044
55279
|
const description = selectedItem ? getDescription(selectedItem.value) : "";
|
|
55045
55280
|
const showTruncationWarning = previewIsTruncated && settings?.flexMode === "full-minus-40";
|
|
55046
|
-
return /* @__PURE__ */
|
|
55281
|
+
return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
|
|
55047
55282
|
flexDirection: "column",
|
|
55048
55283
|
children: [
|
|
55049
|
-
showTruncationWarning && /* @__PURE__ */
|
|
55284
|
+
showTruncationWarning && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
|
|
55050
55285
|
marginBottom: 1,
|
|
55051
|
-
children: /* @__PURE__ */
|
|
55286
|
+
children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
55052
55287
|
color: "yellow",
|
|
55053
55288
|
children: "⚠ Some lines are truncated, see Terminal Options → Terminal Width for info"
|
|
55054
55289
|
}, undefined, false, undefined, this)
|
|
55055
55290
|
}, undefined, false, undefined, this),
|
|
55056
|
-
/* @__PURE__ */
|
|
55291
|
+
/* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
55057
55292
|
bold: true,
|
|
55058
55293
|
children: "Main Menu"
|
|
55059
55294
|
}, undefined, false, undefined, this),
|
|
55060
|
-
/* @__PURE__ */
|
|
55295
|
+
/* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
|
|
55061
55296
|
marginTop: 1,
|
|
55062
55297
|
flexDirection: "column",
|
|
55063
55298
|
children: menuItems.map((item, idx) => {
|
|
55064
55299
|
if (!item.selectable && item.value.startsWith("_gap")) {
|
|
55065
|
-
return /* @__PURE__ */
|
|
55300
|
+
return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
55066
55301
|
children: " "
|
|
55067
55302
|
}, item.value, false, undefined, this);
|
|
55068
55303
|
}
|
|
55069
55304
|
const selectableIdx = selectableItems.indexOf(item);
|
|
55070
55305
|
const isSelected = selectableIdx === selectedIndex;
|
|
55071
|
-
return /* @__PURE__ */
|
|
55306
|
+
return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
55072
55307
|
color: isSelected ? "green" : undefined,
|
|
55073
55308
|
children: [
|
|
55074
55309
|
isSelected ? "▶ " : " ",
|
|
@@ -55077,10 +55312,10 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
|
|
|
55077
55312
|
}, item.value, true, undefined, this);
|
|
55078
55313
|
})
|
|
55079
55314
|
}, undefined, false, undefined, this),
|
|
55080
|
-
description && /* @__PURE__ */
|
|
55315
|
+
description && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
|
|
55081
55316
|
marginTop: 1,
|
|
55082
55317
|
paddingLeft: 2,
|
|
55083
|
-
children: /* @__PURE__ */
|
|
55318
|
+
children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
|
|
55084
55319
|
dimColor: true,
|
|
55085
55320
|
wrap: "wrap",
|
|
55086
55321
|
children: description
|
|
@@ -55090,12 +55325,12 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
|
|
|
55090
55325
|
}, undefined, true, undefined, this);
|
|
55091
55326
|
};
|
|
55092
55327
|
// src/tui/components/PowerlineSetup.tsx
|
|
55093
|
-
var
|
|
55328
|
+
var import_react41 = __toESM(require_react(), 1);
|
|
55094
55329
|
import * as os5 from "os";
|
|
55095
55330
|
|
|
55096
55331
|
// src/tui/components/PowerlineSeparatorEditor.tsx
|
|
55097
|
-
var
|
|
55098
|
-
var
|
|
55332
|
+
var import_react39 = __toESM(require_react(), 1);
|
|
55333
|
+
var jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
|
|
55099
55334
|
var PowerlineSeparatorEditor = ({
|
|
55100
55335
|
settings,
|
|
55101
55336
|
mode,
|
|
@@ -55115,10 +55350,10 @@ var PowerlineSeparatorEditor = ({
|
|
|
55115
55350
|
};
|
|
55116
55351
|
const separators = getItems();
|
|
55117
55352
|
const invertBgs = mode === "separator" ? powerlineConfig.separatorInvertBackground : [];
|
|
55118
|
-
const [selectedIndex, setSelectedIndex] =
|
|
55119
|
-
const [hexInputMode, setHexInputMode] =
|
|
55120
|
-
const [hexInput, setHexInput] =
|
|
55121
|
-
const [cursorPos, setCursorPos] =
|
|
55353
|
+
const [selectedIndex, setSelectedIndex] = import_react39.useState(0);
|
|
55354
|
+
const [hexInputMode, setHexInputMode] = import_react39.useState(false);
|
|
55355
|
+
const [hexInput, setHexInput] = import_react39.useState("");
|
|
55356
|
+
const [cursorPos, setCursorPos] = import_react39.useState(0);
|
|
55122
55357
|
const getPresets = () => {
|
|
55123
55358
|
if (mode === "separator") {
|
|
55124
55359
|
return [
|
|
@@ -55307,18 +55542,18 @@ var PowerlineSeparatorEditor = ({
|
|
|
55307
55542
|
};
|
|
55308
55543
|
const canAdd = mode === "separator" || separators.length < 3;
|
|
55309
55544
|
const canDelete = mode !== "separator" || separators.length > 1;
|
|
55310
|
-
return /* @__PURE__ */
|
|
55545
|
+
return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
55311
55546
|
flexDirection: "column",
|
|
55312
55547
|
children: [
|
|
55313
|
-
/* @__PURE__ */
|
|
55548
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55314
55549
|
bold: true,
|
|
55315
55550
|
children: getTitle()
|
|
55316
55551
|
}, undefined, false, undefined, this),
|
|
55317
|
-
hexInputMode ? /* @__PURE__ */
|
|
55552
|
+
hexInputMode ? /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
55318
55553
|
marginTop: 2,
|
|
55319
55554
|
flexDirection: "column",
|
|
55320
55555
|
children: [
|
|
55321
|
-
/* @__PURE__ */
|
|
55556
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55322
55557
|
children: [
|
|
55323
55558
|
"Enter 4-digit hex code for",
|
|
55324
55559
|
" ",
|
|
@@ -55327,47 +55562,47 @@ var PowerlineSeparatorEditor = ({
|
|
|
55327
55562
|
":"
|
|
55328
55563
|
]
|
|
55329
55564
|
}, undefined, true, undefined, this),
|
|
55330
|
-
/* @__PURE__ */
|
|
55565
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55331
55566
|
children: [
|
|
55332
55567
|
"\\u",
|
|
55333
55568
|
hexInput.slice(0, cursorPos),
|
|
55334
|
-
/* @__PURE__ */
|
|
55569
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55335
55570
|
backgroundColor: "gray",
|
|
55336
55571
|
color: "black",
|
|
55337
55572
|
children: hexInput[cursorPos] ?? "_"
|
|
55338
55573
|
}, undefined, false, undefined, this),
|
|
55339
55574
|
hexInput.slice(cursorPos + 1),
|
|
55340
|
-
hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */
|
|
55575
|
+
hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55341
55576
|
dimColor: true,
|
|
55342
55577
|
children: "_".repeat(4 - hexInput.length - 1)
|
|
55343
55578
|
}, undefined, false, undefined, this)
|
|
55344
55579
|
]
|
|
55345
55580
|
}, undefined, true, undefined, this),
|
|
55346
|
-
/* @__PURE__ */
|
|
55581
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55347
55582
|
dimColor: true,
|
|
55348
55583
|
children: "Enter 4 hex digits (0-9, A-F), then press Enter. ESC to cancel."
|
|
55349
55584
|
}, undefined, false, undefined, this)
|
|
55350
55585
|
]
|
|
55351
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
55586
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(jsx_dev_runtime11.Fragment, {
|
|
55352
55587
|
children: [
|
|
55353
|
-
/* @__PURE__ */
|
|
55354
|
-
children: /* @__PURE__ */
|
|
55588
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
55589
|
+
children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55355
55590
|
dimColor: true,
|
|
55356
55591
|
children: `↑↓ select, ← → cycle${canAdd ? ", (a)dd, (i)nsert" : ""}${canDelete ? ", (d)elete" : ""}, (c)lear, (h)ex${mode === "separator" ? ", (t)oggle invert" : ""}, ESC back`
|
|
55357
55592
|
}, undefined, false, undefined, this)
|
|
55358
55593
|
}, undefined, false, undefined, this),
|
|
55359
|
-
/* @__PURE__ */
|
|
55594
|
+
/* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
55360
55595
|
marginTop: 2,
|
|
55361
55596
|
flexDirection: "column",
|
|
55362
|
-
children: separators.length > 0 ? separators.map((sep, index) => /* @__PURE__ */
|
|
55363
|
-
children: /* @__PURE__ */
|
|
55597
|
+
children: separators.length > 0 ? separators.map((sep, index) => /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
|
|
55598
|
+
children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55364
55599
|
color: index === selectedIndex ? "green" : undefined,
|
|
55365
55600
|
children: [
|
|
55366
55601
|
index === selectedIndex ? "▶ " : " ",
|
|
55367
55602
|
`${index + 1}: ${getSeparatorDisplay(sep, index)}`
|
|
55368
55603
|
]
|
|
55369
55604
|
}, undefined, true, undefined, this)
|
|
55370
|
-
}, index, false, undefined, this)) : /* @__PURE__ */
|
|
55605
|
+
}, index, false, undefined, this)) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
|
|
55371
55606
|
dimColor: true,
|
|
55372
55607
|
children: "(none configured - press 'a' to add)"
|
|
55373
55608
|
}, undefined, false, undefined, this)
|
|
@@ -55379,8 +55614,8 @@ var PowerlineSeparatorEditor = ({
|
|
|
55379
55614
|
};
|
|
55380
55615
|
|
|
55381
55616
|
// src/tui/components/PowerlineThemeSelector.tsx
|
|
55382
|
-
var
|
|
55383
|
-
var
|
|
55617
|
+
var import_react40 = __toESM(require_react(), 1);
|
|
55618
|
+
var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
|
|
55384
55619
|
var PowerlineThemeSelector = ({
|
|
55385
55620
|
settings,
|
|
55386
55621
|
onUpdate,
|
|
@@ -55388,10 +55623,10 @@ var PowerlineThemeSelector = ({
|
|
|
55388
55623
|
}) => {
|
|
55389
55624
|
const themes = getPowerlineThemes();
|
|
55390
55625
|
const currentTheme = settings.powerline.theme ?? "custom";
|
|
55391
|
-
const [selectedIndex, setSelectedIndex] =
|
|
55392
|
-
const [showCustomizeConfirm, setShowCustomizeConfirm] =
|
|
55393
|
-
const originalThemeRef =
|
|
55394
|
-
const originalSettingsRef =
|
|
55626
|
+
const [selectedIndex, setSelectedIndex] = import_react40.useState(Math.max(0, themes.indexOf(currentTheme)));
|
|
55627
|
+
const [showCustomizeConfirm, setShowCustomizeConfirm] = import_react40.useState(false);
|
|
55628
|
+
const originalThemeRef = import_react40.useRef(currentTheme);
|
|
55629
|
+
const originalSettingsRef = import_react40.useRef(settings);
|
|
55395
55630
|
const applyTheme = (themeName) => {
|
|
55396
55631
|
const updatedSettings = {
|
|
55397
55632
|
...settings,
|
|
@@ -55479,39 +55714,39 @@ var PowerlineThemeSelector = ({
|
|
|
55479
55714
|
const selectedThemeName = themes[selectedIndex];
|
|
55480
55715
|
const selectedTheme = selectedThemeName ? getPowerlineTheme(selectedThemeName) : undefined;
|
|
55481
55716
|
if (showCustomizeConfirm) {
|
|
55482
|
-
return /* @__PURE__ */
|
|
55717
|
+
return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55483
55718
|
flexDirection: "column",
|
|
55484
55719
|
children: [
|
|
55485
|
-
/* @__PURE__ */
|
|
55720
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55486
55721
|
bold: true,
|
|
55487
55722
|
color: "yellow",
|
|
55488
55723
|
children: "⚠ Confirm Customization"
|
|
55489
55724
|
}, undefined, false, undefined, this),
|
|
55490
|
-
/* @__PURE__ */
|
|
55725
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55491
55726
|
marginTop: 1,
|
|
55492
55727
|
flexDirection: "column",
|
|
55493
55728
|
children: [
|
|
55494
|
-
/* @__PURE__ */
|
|
55729
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55495
55730
|
children: "This will copy the current theme colors to your widgets"
|
|
55496
55731
|
}, undefined, false, undefined, this),
|
|
55497
|
-
/* @__PURE__ */
|
|
55732
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55498
55733
|
children: "and switch to Custom theme mode."
|
|
55499
55734
|
}, undefined, false, undefined, this),
|
|
55500
|
-
/* @__PURE__ */
|
|
55735
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55501
55736
|
color: "red",
|
|
55502
55737
|
children: "This will overwrite any existing custom colors!"
|
|
55503
55738
|
}, undefined, false, undefined, this)
|
|
55504
55739
|
]
|
|
55505
55740
|
}, undefined, true, undefined, this),
|
|
55506
|
-
/* @__PURE__ */
|
|
55741
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55507
55742
|
marginTop: 2,
|
|
55508
|
-
children: /* @__PURE__ */
|
|
55743
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55509
55744
|
children: "Continue?"
|
|
55510
55745
|
}, undefined, false, undefined, this)
|
|
55511
55746
|
}, undefined, false, undefined, this),
|
|
55512
|
-
/* @__PURE__ */
|
|
55747
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55513
55748
|
marginTop: 1,
|
|
55514
|
-
children: /* @__PURE__ */
|
|
55749
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
|
|
55515
55750
|
inline: true,
|
|
55516
55751
|
onConfirm: () => {
|
|
55517
55752
|
customizeTheme();
|
|
@@ -55525,39 +55760,39 @@ var PowerlineThemeSelector = ({
|
|
|
55525
55760
|
]
|
|
55526
55761
|
}, undefined, true, undefined, this);
|
|
55527
55762
|
}
|
|
55528
|
-
return /* @__PURE__ */
|
|
55763
|
+
return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55529
55764
|
flexDirection: "column",
|
|
55530
55765
|
children: [
|
|
55531
|
-
/* @__PURE__ */
|
|
55766
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55532
55767
|
bold: true,
|
|
55533
55768
|
children: [
|
|
55534
55769
|
`Powerline Theme Selection | `,
|
|
55535
|
-
/* @__PURE__ */
|
|
55770
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55536
55771
|
dimColor: true,
|
|
55537
55772
|
children: `Original: ${originalThemeRef.current}`
|
|
55538
55773
|
}, undefined, false, undefined, this)
|
|
55539
55774
|
]
|
|
55540
55775
|
}, undefined, true, undefined, this),
|
|
55541
|
-
/* @__PURE__ */
|
|
55542
|
-
children: /* @__PURE__ */
|
|
55776
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55777
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55543
55778
|
dimColor: true,
|
|
55544
55779
|
children: `↑↓ navigate, Enter apply${selectedThemeName && selectedThemeName !== "custom" ? ", (c)ustomize theme" : ""}, ESC cancel`
|
|
55545
55780
|
}, undefined, false, undefined, this)
|
|
55546
55781
|
}, undefined, false, undefined, this),
|
|
55547
|
-
/* @__PURE__ */
|
|
55782
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55548
55783
|
marginTop: 1,
|
|
55549
55784
|
flexDirection: "column",
|
|
55550
55785
|
children: themes.map((themeName, index) => {
|
|
55551
55786
|
const theme = getPowerlineTheme(themeName);
|
|
55552
55787
|
const isSelected = index === selectedIndex;
|
|
55553
55788
|
const isOriginal = themeName === originalThemeRef.current;
|
|
55554
|
-
return /* @__PURE__ */
|
|
55555
|
-
children: /* @__PURE__ */
|
|
55789
|
+
return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55790
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55556
55791
|
color: isSelected ? "green" : undefined,
|
|
55557
55792
|
children: [
|
|
55558
55793
|
isSelected ? "▶ " : " ",
|
|
55559
55794
|
theme?.name ?? themeName,
|
|
55560
|
-
isOriginal && /* @__PURE__ */
|
|
55795
|
+
isOriginal && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55561
55796
|
dimColor: true,
|
|
55562
55797
|
children: " (original)"
|
|
55563
55798
|
}, undefined, false, undefined, this)
|
|
@@ -55566,29 +55801,29 @@ var PowerlineThemeSelector = ({
|
|
|
55566
55801
|
}, themeName, false, undefined, this);
|
|
55567
55802
|
})
|
|
55568
55803
|
}, undefined, false, undefined, this),
|
|
55569
|
-
selectedTheme && /* @__PURE__ */
|
|
55804
|
+
selectedTheme && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55570
55805
|
marginTop: 2,
|
|
55571
55806
|
flexDirection: "column",
|
|
55572
55807
|
children: [
|
|
55573
|
-
/* @__PURE__ */
|
|
55808
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55574
55809
|
dimColor: true,
|
|
55575
55810
|
children: "Description:"
|
|
55576
55811
|
}, undefined, false, undefined, this),
|
|
55577
|
-
/* @__PURE__ */
|
|
55812
|
+
/* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55578
55813
|
marginLeft: 2,
|
|
55579
|
-
children: /* @__PURE__ */
|
|
55814
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55580
55815
|
children: selectedTheme.description
|
|
55581
55816
|
}, undefined, false, undefined, this)
|
|
55582
55817
|
}, undefined, false, undefined, this),
|
|
55583
|
-
selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */
|
|
55818
|
+
selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55584
55819
|
marginTop: 1,
|
|
55585
|
-
children: /* @__PURE__ */
|
|
55820
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55586
55821
|
dimColor: true,
|
|
55587
55822
|
children: "Press (c) to customize this theme - copies colors to widgets"
|
|
55588
55823
|
}, undefined, false, undefined, this)
|
|
55589
55824
|
}, undefined, false, undefined, this),
|
|
55590
|
-
settings.colorLevel === 1 && /* @__PURE__ */
|
|
55591
|
-
children: /* @__PURE__ */
|
|
55825
|
+
settings.colorLevel === 1 && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
|
|
55826
|
+
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
|
|
55592
55827
|
color: "yellow",
|
|
55593
55828
|
children: "⚠ 16 color mode themes have a very limited palette, we recommend switching color level in Terminal Options"
|
|
55594
55829
|
}, undefined, false, undefined, this)
|
|
@@ -55600,7 +55835,7 @@ var PowerlineThemeSelector = ({
|
|
|
55600
55835
|
};
|
|
55601
55836
|
|
|
55602
55837
|
// src/tui/components/PowerlineSetup.tsx
|
|
55603
|
-
var
|
|
55838
|
+
var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
|
|
55604
55839
|
var PowerlineSetup = ({
|
|
55605
55840
|
settings,
|
|
55606
55841
|
powerlineFontStatus,
|
|
@@ -55612,10 +55847,10 @@ var PowerlineSetup = ({
|
|
|
55612
55847
|
onClearMessage
|
|
55613
55848
|
}) => {
|
|
55614
55849
|
const powerlineConfig = settings.powerline;
|
|
55615
|
-
const [screen, setScreen] =
|
|
55616
|
-
const [selectedMenuItem, setSelectedMenuItem] =
|
|
55617
|
-
const [confirmingEnable, setConfirmingEnable] =
|
|
55618
|
-
const [confirmingFontInstall, setConfirmingFontInstall] =
|
|
55850
|
+
const [screen, setScreen] = import_react41.useState("menu");
|
|
55851
|
+
const [selectedMenuItem, setSelectedMenuItem] = import_react41.useState(0);
|
|
55852
|
+
const [confirmingEnable, setConfirmingEnable] = import_react41.useState(false);
|
|
55853
|
+
const [confirmingFontInstall, setConfirmingFontInstall] = import_react41.useState(false);
|
|
55619
55854
|
const hasSeparatorItems = settings.lines.some((line) => line.some((item) => item.type === "separator" || item.type === "flex-separator"));
|
|
55620
55855
|
const menuItems = [
|
|
55621
55856
|
{ label: "Separator", value: "separator" },
|
|
@@ -55725,11 +55960,14 @@ var PowerlineSetup = ({
|
|
|
55725
55960
|
}
|
|
55726
55961
|
} else if (input === "i" || input === "I") {
|
|
55727
55962
|
setConfirmingFontInstall(true);
|
|
55963
|
+
} else if ((input === "a" || input === "A") && powerlineConfig.enabled) {
|
|
55964
|
+
const newConfig = { ...powerlineConfig, autoAlign: !powerlineConfig.autoAlign };
|
|
55965
|
+
onUpdate({ ...settings, powerline: newConfig });
|
|
55728
55966
|
}
|
|
55729
55967
|
}
|
|
55730
55968
|
});
|
|
55731
55969
|
if (screen === "separator") {
|
|
55732
|
-
return /* @__PURE__ */
|
|
55970
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
|
|
55733
55971
|
settings,
|
|
55734
55972
|
mode: "separator",
|
|
55735
55973
|
onUpdate,
|
|
@@ -55739,7 +55977,7 @@ var PowerlineSetup = ({
|
|
|
55739
55977
|
}, undefined, false, undefined, this);
|
|
55740
55978
|
}
|
|
55741
55979
|
if (screen === "startCap") {
|
|
55742
|
-
return /* @__PURE__ */
|
|
55980
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
|
|
55743
55981
|
settings,
|
|
55744
55982
|
mode: "startCap",
|
|
55745
55983
|
onUpdate,
|
|
@@ -55749,7 +55987,7 @@ var PowerlineSetup = ({
|
|
|
55749
55987
|
}, undefined, false, undefined, this);
|
|
55750
55988
|
}
|
|
55751
55989
|
if (screen === "endCap") {
|
|
55752
|
-
return /* @__PURE__ */
|
|
55990
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
|
|
55753
55991
|
settings,
|
|
55754
55992
|
mode: "endCap",
|
|
55755
55993
|
onUpdate,
|
|
@@ -55759,7 +55997,7 @@ var PowerlineSetup = ({
|
|
|
55759
55997
|
}, undefined, false, undefined, this);
|
|
55760
55998
|
}
|
|
55761
55999
|
if (screen === "themes") {
|
|
55762
|
-
return /* @__PURE__ */
|
|
56000
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineThemeSelector, {
|
|
55763
56001
|
settings,
|
|
55764
56002
|
onUpdate,
|
|
55765
56003
|
onBack: () => {
|
|
@@ -55767,140 +56005,140 @@ var PowerlineSetup = ({
|
|
|
55767
56005
|
}
|
|
55768
56006
|
}, undefined, false, undefined, this);
|
|
55769
56007
|
}
|
|
55770
|
-
return /* @__PURE__ */
|
|
56008
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55771
56009
|
flexDirection: "column",
|
|
55772
56010
|
children: [
|
|
55773
|
-
!confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */
|
|
56011
|
+
!confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55774
56012
|
bold: true,
|
|
55775
56013
|
children: "Powerline Setup"
|
|
55776
56014
|
}, undefined, false, undefined, this),
|
|
55777
|
-
confirmingFontInstall ? /* @__PURE__ */
|
|
56015
|
+
confirmingFontInstall ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55778
56016
|
flexDirection: "column",
|
|
55779
56017
|
children: [
|
|
55780
|
-
/* @__PURE__ */
|
|
56018
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55781
56019
|
marginBottom: 1,
|
|
55782
|
-
children: /* @__PURE__ */
|
|
56020
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55783
56021
|
color: "cyan",
|
|
55784
56022
|
bold: true,
|
|
55785
56023
|
children: "Font Installation"
|
|
55786
56024
|
}, undefined, false, undefined, this)
|
|
55787
56025
|
}, undefined, false, undefined, this),
|
|
55788
|
-
/* @__PURE__ */
|
|
56026
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55789
56027
|
marginBottom: 1,
|
|
55790
56028
|
flexDirection: "column",
|
|
55791
56029
|
children: [
|
|
55792
|
-
/* @__PURE__ */
|
|
56030
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55793
56031
|
bold: true,
|
|
55794
56032
|
children: "What will happen:"
|
|
55795
56033
|
}, undefined, false, undefined, this),
|
|
55796
|
-
/* @__PURE__ */
|
|
56034
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55797
56035
|
children: [
|
|
55798
|
-
/* @__PURE__ */
|
|
56036
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55799
56037
|
dimColor: true,
|
|
55800
56038
|
children: "• Clone fonts from "
|
|
55801
56039
|
}, undefined, false, undefined, this),
|
|
55802
|
-
/* @__PURE__ */
|
|
56040
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55803
56041
|
color: "blue",
|
|
55804
56042
|
children: "https://github.com/powerline/fonts"
|
|
55805
56043
|
}, undefined, false, undefined, this)
|
|
55806
56044
|
]
|
|
55807
56045
|
}, undefined, true, undefined, this),
|
|
55808
|
-
os5.platform() === "darwin" && /* @__PURE__ */
|
|
56046
|
+
os5.platform() === "darwin" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55809
56047
|
children: [
|
|
55810
|
-
/* @__PURE__ */
|
|
56048
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55811
56049
|
dimColor: true,
|
|
55812
56050
|
children: "• Run install.sh script which will:"
|
|
55813
56051
|
}, undefined, false, undefined, this),
|
|
55814
|
-
/* @__PURE__ */
|
|
56052
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55815
56053
|
dimColor: true,
|
|
55816
56054
|
children: " - Copy all .ttf/.otf files to ~/Library/Fonts"
|
|
55817
56055
|
}, undefined, false, undefined, this),
|
|
55818
|
-
/* @__PURE__ */
|
|
56056
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55819
56057
|
dimColor: true,
|
|
55820
56058
|
children: " - Register fonts with macOS"
|
|
55821
56059
|
}, undefined, false, undefined, this)
|
|
55822
56060
|
]
|
|
55823
56061
|
}, undefined, true, undefined, this),
|
|
55824
|
-
os5.platform() === "linux" && /* @__PURE__ */
|
|
56062
|
+
os5.platform() === "linux" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55825
56063
|
children: [
|
|
55826
|
-
/* @__PURE__ */
|
|
56064
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55827
56065
|
dimColor: true,
|
|
55828
56066
|
children: "• Run install.sh script which will:"
|
|
55829
56067
|
}, undefined, false, undefined, this),
|
|
55830
|
-
/* @__PURE__ */
|
|
56068
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55831
56069
|
dimColor: true,
|
|
55832
56070
|
children: " - Copy all .ttf/.otf files to ~/.local/share/fonts"
|
|
55833
56071
|
}, undefined, false, undefined, this),
|
|
55834
|
-
/* @__PURE__ */
|
|
56072
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55835
56073
|
dimColor: true,
|
|
55836
56074
|
children: " - Run fc-cache to update font cache"
|
|
55837
56075
|
}, undefined, false, undefined, this)
|
|
55838
56076
|
]
|
|
55839
56077
|
}, undefined, true, undefined, this),
|
|
55840
|
-
os5.platform() === "win32" && /* @__PURE__ */
|
|
56078
|
+
os5.platform() === "win32" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55841
56079
|
children: [
|
|
55842
|
-
/* @__PURE__ */
|
|
56080
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55843
56081
|
dimColor: true,
|
|
55844
56082
|
children: "• Copy Powerline .ttf/.otf files to:"
|
|
55845
56083
|
}, undefined, false, undefined, this),
|
|
55846
|
-
/* @__PURE__ */
|
|
56084
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55847
56085
|
dimColor: true,
|
|
55848
56086
|
children: " AppData\\Local\\Microsoft\\Windows\\Fonts"
|
|
55849
56087
|
}, undefined, false, undefined, this)
|
|
55850
56088
|
]
|
|
55851
56089
|
}, undefined, true, undefined, this),
|
|
55852
|
-
/* @__PURE__ */
|
|
56090
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55853
56091
|
dimColor: true,
|
|
55854
56092
|
children: "• Clean up temporary files"
|
|
55855
56093
|
}, undefined, false, undefined, this)
|
|
55856
56094
|
]
|
|
55857
56095
|
}, undefined, true, undefined, this),
|
|
55858
|
-
/* @__PURE__ */
|
|
56096
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55859
56097
|
marginBottom: 1,
|
|
55860
56098
|
children: [
|
|
55861
|
-
/* @__PURE__ */
|
|
56099
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55862
56100
|
color: "yellow",
|
|
55863
56101
|
bold: true,
|
|
55864
56102
|
children: "Requirements: "
|
|
55865
56103
|
}, undefined, false, undefined, this),
|
|
55866
|
-
/* @__PURE__ */
|
|
56104
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55867
56105
|
dimColor: true,
|
|
55868
56106
|
children: "Git installed, Internet connection, Write permissions"
|
|
55869
56107
|
}, undefined, false, undefined, this)
|
|
55870
56108
|
]
|
|
55871
56109
|
}, undefined, true, undefined, this),
|
|
55872
|
-
/* @__PURE__ */
|
|
56110
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55873
56111
|
marginBottom: 1,
|
|
55874
56112
|
flexDirection: "column",
|
|
55875
56113
|
children: [
|
|
55876
|
-
/* @__PURE__ */
|
|
56114
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55877
56115
|
color: "green",
|
|
55878
56116
|
bold: true,
|
|
55879
56117
|
children: "After install:"
|
|
55880
56118
|
}, undefined, false, undefined, this),
|
|
55881
|
-
/* @__PURE__ */
|
|
56119
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55882
56120
|
dimColor: true,
|
|
55883
56121
|
children: "• Restart terminal"
|
|
55884
56122
|
}, undefined, false, undefined, this),
|
|
55885
|
-
/* @__PURE__ */
|
|
56123
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55886
56124
|
dimColor: true,
|
|
55887
56125
|
children: "• Select a Powerline font"
|
|
55888
56126
|
}, undefined, false, undefined, this),
|
|
55889
|
-
/* @__PURE__ */
|
|
56127
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55890
56128
|
dimColor: true,
|
|
55891
56129
|
children: ' (e.g. "Meslo LG S for Powerline")'
|
|
55892
56130
|
}, undefined, false, undefined, this)
|
|
55893
56131
|
]
|
|
55894
56132
|
}, undefined, true, undefined, this),
|
|
55895
|
-
/* @__PURE__ */
|
|
56133
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55896
56134
|
marginTop: 1,
|
|
55897
|
-
children: /* @__PURE__ */
|
|
56135
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55898
56136
|
children: "Proceed? "
|
|
55899
56137
|
}, undefined, false, undefined, this)
|
|
55900
56138
|
}, undefined, false, undefined, this),
|
|
55901
|
-
/* @__PURE__ */
|
|
56139
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55902
56140
|
marginTop: 1,
|
|
55903
|
-
children: /* @__PURE__ */
|
|
56141
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
|
|
55904
56142
|
inline: true,
|
|
55905
56143
|
onConfirm: () => {
|
|
55906
56144
|
setConfirmingFontInstall(false);
|
|
@@ -55912,36 +56150,36 @@ var PowerlineSetup = ({
|
|
|
55912
56150
|
}, undefined, false, undefined, this)
|
|
55913
56151
|
}, undefined, false, undefined, this)
|
|
55914
56152
|
]
|
|
55915
|
-
}, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */
|
|
56153
|
+
}, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55916
56154
|
flexDirection: "column",
|
|
55917
56155
|
marginTop: 1,
|
|
55918
56156
|
children: [
|
|
55919
|
-
hasSeparatorItems && /* @__PURE__ */
|
|
56157
|
+
hasSeparatorItems && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55920
56158
|
children: [
|
|
55921
|
-
/* @__PURE__ */
|
|
55922
|
-
children: /* @__PURE__ */
|
|
56159
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56160
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55923
56161
|
color: "yellow",
|
|
55924
56162
|
children: "⚠ Warning: Enabling Powerline mode will remove all existing separators and flex-separators from your status lines."
|
|
55925
56163
|
}, undefined, false, undefined, this)
|
|
55926
56164
|
}, undefined, false, undefined, this),
|
|
55927
|
-
/* @__PURE__ */
|
|
56165
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55928
56166
|
marginBottom: 1,
|
|
55929
|
-
children: /* @__PURE__ */
|
|
56167
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55930
56168
|
dimColor: true,
|
|
55931
56169
|
children: "Powerline mode uses its own separator system and is incompatible with manual separators."
|
|
55932
56170
|
}, undefined, false, undefined, this)
|
|
55933
56171
|
}, undefined, false, undefined, this)
|
|
55934
56172
|
]
|
|
55935
56173
|
}, undefined, true, undefined, this),
|
|
55936
|
-
/* @__PURE__ */
|
|
56174
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55937
56175
|
marginTop: hasSeparatorItems ? 1 : 0,
|
|
55938
|
-
children: /* @__PURE__ */
|
|
56176
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55939
56177
|
children: "Do you want to continue? "
|
|
55940
56178
|
}, undefined, false, undefined, this)
|
|
55941
56179
|
}, undefined, false, undefined, this),
|
|
55942
|
-
/* @__PURE__ */
|
|
56180
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55943
56181
|
marginTop: 1,
|
|
55944
|
-
children: /* @__PURE__ */
|
|
56182
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
|
|
55945
56183
|
inline: true,
|
|
55946
56184
|
onConfirm: () => {
|
|
55947
56185
|
const theme = !powerlineConfig.theme || powerlineConfig.theme === "custom" ? getDefaultPowerlineTheme() : powerlineConfig.theme;
|
|
@@ -55966,51 +56204,51 @@ var PowerlineSetup = ({
|
|
|
55966
56204
|
}, undefined, false, undefined, this)
|
|
55967
56205
|
}, undefined, false, undefined, this)
|
|
55968
56206
|
]
|
|
55969
|
-
}, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */
|
|
55970
|
-
children: /* @__PURE__ */
|
|
56207
|
+
}, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56208
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55971
56209
|
color: "yellow",
|
|
55972
56210
|
children: "Installing Powerline fonts... This may take a moment."
|
|
55973
56211
|
}, undefined, false, undefined, this)
|
|
55974
|
-
}, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */
|
|
56212
|
+
}, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55975
56213
|
flexDirection: "column",
|
|
55976
56214
|
children: [
|
|
55977
|
-
/* @__PURE__ */
|
|
56215
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55978
56216
|
color: fontInstallMessage.includes("success") ? "green" : "red",
|
|
55979
56217
|
children: fontInstallMessage
|
|
55980
56218
|
}, undefined, false, undefined, this),
|
|
55981
|
-
/* @__PURE__ */
|
|
56219
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55982
56220
|
marginTop: 1,
|
|
55983
|
-
children: /* @__PURE__ */
|
|
56221
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55984
56222
|
dimColor: true,
|
|
55985
56223
|
children: "Press any key to continue..."
|
|
55986
56224
|
}, undefined, false, undefined, this)
|
|
55987
56225
|
}, undefined, false, undefined, this)
|
|
55988
56226
|
]
|
|
55989
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
56227
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55990
56228
|
children: [
|
|
55991
|
-
/* @__PURE__ */
|
|
56229
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
55992
56230
|
flexDirection: "column",
|
|
55993
|
-
children: /* @__PURE__ */
|
|
56231
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55994
56232
|
children: [
|
|
55995
|
-
"
|
|
55996
|
-
powerlineFontStatus.installed ? /* @__PURE__ */
|
|
56233
|
+
" Font Status: ",
|
|
56234
|
+
powerlineFontStatus.installed ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
55997
56235
|
children: [
|
|
55998
|
-
/* @__PURE__ */
|
|
56236
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
55999
56237
|
color: "green",
|
|
56000
56238
|
children: "✓ Installed"
|
|
56001
56239
|
}, undefined, false, undefined, this),
|
|
56002
|
-
/* @__PURE__ */
|
|
56240
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56003
56241
|
dimColor: true,
|
|
56004
56242
|
children: " - Ensure fonts are active in your terminal"
|
|
56005
56243
|
}, undefined, false, undefined, this)
|
|
56006
56244
|
]
|
|
56007
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
56245
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
56008
56246
|
children: [
|
|
56009
|
-
/* @__PURE__ */
|
|
56247
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56010
56248
|
color: "yellow",
|
|
56011
56249
|
children: "✗ Not Installed"
|
|
56012
56250
|
}, undefined, false, undefined, this),
|
|
56013
|
-
/* @__PURE__ */
|
|
56251
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56014
56252
|
dimColor: true,
|
|
56015
56253
|
children: " - Press (i) to install Powerline fonts"
|
|
56016
56254
|
}, undefined, false, undefined, this)
|
|
@@ -56019,33 +56257,52 @@ var PowerlineSetup = ({
|
|
|
56019
56257
|
]
|
|
56020
56258
|
}, undefined, true, undefined, this)
|
|
56021
56259
|
}, undefined, false, undefined, this),
|
|
56022
|
-
/* @__PURE__ */
|
|
56260
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56023
56261
|
children: [
|
|
56024
|
-
/* @__PURE__ */
|
|
56025
|
-
children: "Powerline Mode: "
|
|
56262
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56263
|
+
children: " Powerline Mode: "
|
|
56026
56264
|
}, undefined, false, undefined, this),
|
|
56027
|
-
/* @__PURE__ */
|
|
56265
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56028
56266
|
color: powerlineConfig.enabled ? "green" : "red",
|
|
56029
56267
|
children: powerlineConfig.enabled ? "✓ Enabled " : "✗ Disabled "
|
|
56030
56268
|
}, undefined, false, undefined, this),
|
|
56031
|
-
/* @__PURE__ */
|
|
56269
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56032
56270
|
dimColor: true,
|
|
56033
56271
|
children: " - Press (t) to toggle"
|
|
56034
56272
|
}, undefined, false, undefined, this)
|
|
56035
56273
|
]
|
|
56036
56274
|
}, undefined, true, undefined, this),
|
|
56037
|
-
powerlineConfig.enabled && /* @__PURE__ */
|
|
56038
|
-
|
|
56039
|
-
|
|
56040
|
-
|
|
56041
|
-
|
|
56042
|
-
|
|
56043
|
-
|
|
56044
|
-
|
|
56045
|
-
|
|
56275
|
+
powerlineConfig.enabled && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
56276
|
+
children: [
|
|
56277
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56278
|
+
children: [
|
|
56279
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56280
|
+
children: " Align Widgets: "
|
|
56281
|
+
}, undefined, false, undefined, this),
|
|
56282
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56283
|
+
color: powerlineConfig.autoAlign ? "green" : "red",
|
|
56284
|
+
children: powerlineConfig.autoAlign ? "✓ Enabled " : "✗ Disabled "
|
|
56285
|
+
}, undefined, false, undefined, this),
|
|
56286
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56287
|
+
dimColor: true,
|
|
56288
|
+
children: " - Press (a) to toggle"
|
|
56289
|
+
}, undefined, false, undefined, this)
|
|
56290
|
+
]
|
|
56291
|
+
}, undefined, true, undefined, this),
|
|
56292
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56293
|
+
flexDirection: "column",
|
|
56294
|
+
marginTop: 1,
|
|
56295
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56296
|
+
dimColor: true,
|
|
56297
|
+
children: "When enabled, global overrides are disabled and powerline separators are used"
|
|
56298
|
+
}, undefined, false, undefined, this)
|
|
56299
|
+
}, undefined, false, undefined, this)
|
|
56300
|
+
]
|
|
56301
|
+
}, undefined, true, undefined, this),
|
|
56302
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56046
56303
|
marginTop: 1,
|
|
56047
56304
|
flexDirection: "column",
|
|
56048
|
-
children: powerlineConfig.enabled ? /* @__PURE__ */
|
|
56305
|
+
children: powerlineConfig.enabled ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
|
|
56049
56306
|
children: menuItems.map((item, index) => {
|
|
56050
56307
|
const isSelected = index === selectedMenuItem;
|
|
56051
56308
|
let displayValue = "";
|
|
@@ -56067,9 +56324,9 @@ var PowerlineSetup = ({
|
|
|
56067
56324
|
break;
|
|
56068
56325
|
}
|
|
56069
56326
|
if (item.value === "back") {
|
|
56070
|
-
return /* @__PURE__ */
|
|
56327
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56071
56328
|
marginTop: 1,
|
|
56072
|
-
children: /* @__PURE__ */
|
|
56329
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56073
56330
|
color: isSelected ? "green" : undefined,
|
|
56074
56331
|
children: [
|
|
56075
56332
|
isSelected ? "▶ " : " ",
|
|
@@ -56078,13 +56335,13 @@ var PowerlineSetup = ({
|
|
|
56078
56335
|
}, undefined, true, undefined, this)
|
|
56079
56336
|
}, item.value, false, undefined, this);
|
|
56080
56337
|
}
|
|
56081
|
-
return /* @__PURE__ */
|
|
56082
|
-
children: /* @__PURE__ */
|
|
56338
|
+
return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56339
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56083
56340
|
color: isSelected ? "green" : undefined,
|
|
56084
56341
|
children: [
|
|
56085
56342
|
isSelected ? "▶ " : " ",
|
|
56086
56343
|
item.label.padEnd(11, " "),
|
|
56087
|
-
/* @__PURE__ */
|
|
56344
|
+
/* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56088
56345
|
dimColor: true,
|
|
56089
56346
|
children: displayValue && `(${displayValue})`
|
|
56090
56347
|
}, undefined, false, undefined, this)
|
|
@@ -56092,9 +56349,9 @@ var PowerlineSetup = ({
|
|
|
56092
56349
|
}, undefined, true, undefined, this)
|
|
56093
56350
|
}, item.value, false, undefined, this);
|
|
56094
56351
|
})
|
|
56095
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
56352
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
|
|
56096
56353
|
marginTop: 1,
|
|
56097
|
-
children: /* @__PURE__ */
|
|
56354
|
+
children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
|
|
56098
56355
|
dimColor: true,
|
|
56099
56356
|
children: "Press ESC to go back"
|
|
56100
56357
|
}, undefined, false, undefined, this)
|
|
@@ -56106,29 +56363,32 @@ var PowerlineSetup = ({
|
|
|
56106
56363
|
}, undefined, true, undefined, this);
|
|
56107
56364
|
};
|
|
56108
56365
|
// src/tui/components/StatusLinePreview.tsx
|
|
56109
|
-
var
|
|
56110
|
-
var
|
|
56111
|
-
var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, settings, lineIndex, globalSeparatorIndex) => {
|
|
56366
|
+
var import_react42 = __toESM(require_react(), 1);
|
|
56367
|
+
var jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
|
|
56368
|
+
var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, settings, lineIndex, globalSeparatorIndex, allLinesWidgets) => {
|
|
56112
56369
|
const context = {
|
|
56113
56370
|
terminalWidth,
|
|
56114
56371
|
isPreview: true,
|
|
56115
56372
|
lineIndex,
|
|
56116
56373
|
globalSeparatorIndex
|
|
56117
56374
|
};
|
|
56118
|
-
return renderStatusLineWithInfo(widgets, settings, context);
|
|
56375
|
+
return renderStatusLineWithInfo(widgets, settings, context, allLinesWidgets);
|
|
56119
56376
|
};
|
|
56120
56377
|
var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange }) => {
|
|
56121
|
-
const widthDetectionAvailable =
|
|
56122
|
-
const { renderedLines, anyTruncated } =
|
|
56378
|
+
const widthDetectionAvailable = import_react42.default.useMemo(() => canDetectTerminalWidth(), []);
|
|
56379
|
+
const { renderedLines, anyTruncated } = import_react42.default.useMemo(() => {
|
|
56123
56380
|
if (!settings)
|
|
56124
56381
|
return { renderedLines: [], anyTruncated: false };
|
|
56382
|
+
const isPowerlineMode = settings.powerline.enabled;
|
|
56383
|
+
const autoAlign = settings.powerline.autoAlign;
|
|
56384
|
+
const allLinesWidgets = isPowerlineMode && autoAlign ? lines : undefined;
|
|
56125
56385
|
let globalSeparatorIndex = 0;
|
|
56126
56386
|
const result = [];
|
|
56127
56387
|
let truncated = false;
|
|
56128
56388
|
for (let i = 0;i < lines.length; i++) {
|
|
56129
56389
|
const lineItems = lines[i];
|
|
56130
56390
|
if (lineItems && lineItems.length > 0) {
|
|
56131
|
-
const renderResult = renderSingleLine(lineItems, terminalWidth, widthDetectionAvailable, settings, i, globalSeparatorIndex);
|
|
56391
|
+
const renderResult = renderSingleLine(lineItems, terminalWidth, widthDetectionAvailable, settings, i, globalSeparatorIndex, allLinesWidgets);
|
|
56132
56392
|
result.push(renderResult.line);
|
|
56133
56393
|
if (renderResult.wasTruncated) {
|
|
56134
56394
|
truncated = true;
|
|
@@ -56141,29 +56401,29 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
|
|
|
56141
56401
|
}
|
|
56142
56402
|
return { renderedLines: result, anyTruncated: truncated };
|
|
56143
56403
|
}, [lines, terminalWidth, widthDetectionAvailable, settings]);
|
|
56144
|
-
|
|
56404
|
+
import_react42.default.useEffect(() => {
|
|
56145
56405
|
onTruncationChange?.(anyTruncated);
|
|
56146
56406
|
}, [anyTruncated, onTruncationChange]);
|
|
56147
|
-
return /* @__PURE__ */
|
|
56407
|
+
return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
|
|
56148
56408
|
flexDirection: "column",
|
|
56149
56409
|
children: [
|
|
56150
|
-
/* @__PURE__ */
|
|
56410
|
+
/* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
|
|
56151
56411
|
borderStyle: "round",
|
|
56152
56412
|
borderColor: "gray",
|
|
56153
56413
|
borderDimColor: true,
|
|
56154
56414
|
width: "100%",
|
|
56155
56415
|
paddingLeft: 1,
|
|
56156
|
-
children: /* @__PURE__ */
|
|
56416
|
+
children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
|
|
56157
56417
|
children: [
|
|
56158
56418
|
">",
|
|
56159
|
-
/* @__PURE__ */
|
|
56419
|
+
/* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
|
|
56160
56420
|
dimColor: true,
|
|
56161
56421
|
children: " Preview (ctrl+s to save configuration at any time)"
|
|
56162
56422
|
}, undefined, false, undefined, this)
|
|
56163
56423
|
]
|
|
56164
56424
|
}, undefined, true, undefined, this)
|
|
56165
56425
|
}, undefined, false, undefined, this),
|
|
56166
|
-
renderedLines.map((line, index) => /* @__PURE__ */
|
|
56426
|
+
renderedLines.map((line, index) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
|
|
56167
56427
|
children: [
|
|
56168
56428
|
" ",
|
|
56169
56429
|
line,
|
|
@@ -56174,12 +56434,12 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
|
|
|
56174
56434
|
}, undefined, true, undefined, this);
|
|
56175
56435
|
};
|
|
56176
56436
|
// src/tui/components/TerminalOptionsMenu.tsx
|
|
56177
|
-
var
|
|
56178
|
-
var
|
|
56437
|
+
var import_react43 = __toESM(require_react(), 1);
|
|
56438
|
+
var jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
|
|
56179
56439
|
var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
56180
|
-
const [showColorWarning, setShowColorWarning] =
|
|
56181
|
-
const [pendingColorLevel, setPendingColorLevel] =
|
|
56182
|
-
const [selectedIndex, setSelectedIndex] =
|
|
56440
|
+
const [showColorWarning, setShowColorWarning] = import_react43.useState(false);
|
|
56441
|
+
const [pendingColorLevel, setPendingColorLevel] = import_react43.useState(null);
|
|
56442
|
+
const [selectedIndex, setSelectedIndex] = import_react43.useState(0);
|
|
56183
56443
|
const handleSelect = () => {
|
|
56184
56444
|
if (selectedIndex === 2) {
|
|
56185
56445
|
onBack();
|
|
@@ -56283,27 +56543,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
56283
56543
|
}
|
|
56284
56544
|
}
|
|
56285
56545
|
});
|
|
56286
|
-
return /* @__PURE__ */
|
|
56546
|
+
return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56287
56547
|
flexDirection: "column",
|
|
56288
56548
|
children: [
|
|
56289
|
-
/* @__PURE__ */
|
|
56549
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56290
56550
|
bold: true,
|
|
56291
56551
|
children: "Terminal Options"
|
|
56292
56552
|
}, undefined, false, undefined, this),
|
|
56293
|
-
showColorWarning ? /* @__PURE__ */
|
|
56553
|
+
showColorWarning ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56294
56554
|
flexDirection: "column",
|
|
56295
56555
|
marginTop: 1,
|
|
56296
56556
|
children: [
|
|
56297
|
-
/* @__PURE__ */
|
|
56557
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56298
56558
|
color: "yellow",
|
|
56299
56559
|
children: "⚠ Warning: Custom colors detected!"
|
|
56300
56560
|
}, undefined, false, undefined, this),
|
|
56301
|
-
/* @__PURE__ */
|
|
56561
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56302
56562
|
children: "Switching color modes will reset custom ansi256 or hex colors to defaults."
|
|
56303
56563
|
}, undefined, false, undefined, this),
|
|
56304
|
-
/* @__PURE__ */
|
|
56564
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56305
56565
|
marginTop: 1,
|
|
56306
|
-
children: /* @__PURE__ */
|
|
56566
|
+
children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(ConfirmDialog, {
|
|
56307
56567
|
message: "Continue?",
|
|
56308
56568
|
onConfirm: handleColorConfirm,
|
|
56309
56569
|
onCancel: handleColorCancel,
|
|
@@ -56311,18 +56571,18 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
56311
56571
|
}, undefined, false, undefined, this)
|
|
56312
56572
|
}, undefined, false, undefined, this)
|
|
56313
56573
|
]
|
|
56314
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
56574
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
|
|
56315
56575
|
children: [
|
|
56316
|
-
/* @__PURE__ */
|
|
56576
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56317
56577
|
color: "white",
|
|
56318
56578
|
children: "Configure terminal-specific settings for optimal display"
|
|
56319
56579
|
}, undefined, false, undefined, this),
|
|
56320
|
-
/* @__PURE__ */
|
|
56580
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56321
56581
|
marginTop: 1,
|
|
56322
56582
|
flexDirection: "column",
|
|
56323
56583
|
children: [
|
|
56324
|
-
/* @__PURE__ */
|
|
56325
|
-
children: /* @__PURE__ */
|
|
56584
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56585
|
+
children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56326
56586
|
color: selectedIndex === 0 ? "green" : undefined,
|
|
56327
56587
|
children: [
|
|
56328
56588
|
selectedIndex === 0 ? "▶ " : " ",
|
|
@@ -56330,8 +56590,8 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
56330
56590
|
]
|
|
56331
56591
|
}, undefined, true, undefined, this)
|
|
56332
56592
|
}, undefined, false, undefined, this),
|
|
56333
|
-
/* @__PURE__ */
|
|
56334
|
-
children: /* @__PURE__ */
|
|
56593
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56594
|
+
children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56335
56595
|
color: selectedIndex === 1 ? "green" : undefined,
|
|
56336
56596
|
children: [
|
|
56337
56597
|
selectedIndex === 1 ? "▶ " : " ",
|
|
@@ -56341,9 +56601,9 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
56341
56601
|
]
|
|
56342
56602
|
}, undefined, true, undefined, this)
|
|
56343
56603
|
}, undefined, false, undefined, this),
|
|
56344
|
-
/* @__PURE__ */
|
|
56604
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56345
56605
|
marginTop: 1,
|
|
56346
|
-
children: /* @__PURE__ */
|
|
56606
|
+
children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56347
56607
|
color: selectedIndex === 2 ? "green" : undefined,
|
|
56348
56608
|
children: [
|
|
56349
56609
|
selectedIndex === 2 ? "▶ " : " ",
|
|
@@ -56353,27 +56613,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
|
|
|
56353
56613
|
}, undefined, false, undefined, this)
|
|
56354
56614
|
]
|
|
56355
56615
|
}, undefined, true, undefined, this),
|
|
56356
|
-
selectedIndex === 1 && /* @__PURE__ */
|
|
56616
|
+
selectedIndex === 1 && /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
|
|
56357
56617
|
marginTop: 1,
|
|
56358
56618
|
flexDirection: "column",
|
|
56359
56619
|
children: [
|
|
56360
|
-
/* @__PURE__ */
|
|
56620
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56361
56621
|
dimColor: true,
|
|
56362
56622
|
children: "Color level affects how colors are rendered:"
|
|
56363
56623
|
}, undefined, false, undefined, this),
|
|
56364
|
-
/* @__PURE__ */
|
|
56624
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56365
56625
|
dimColor: true,
|
|
56366
56626
|
children: "• Truecolor: Full 24-bit RGB colors (16.7M colors)"
|
|
56367
56627
|
}, undefined, false, undefined, this),
|
|
56368
|
-
/* @__PURE__ */
|
|
56628
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56369
56629
|
dimColor: true,
|
|
56370
56630
|
children: "• 256 Color: Extended color palette (256 colors)"
|
|
56371
56631
|
}, undefined, false, undefined, this),
|
|
56372
|
-
/* @__PURE__ */
|
|
56632
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56373
56633
|
dimColor: true,
|
|
56374
56634
|
children: "• Basic: Standard 16-color terminal palette"
|
|
56375
56635
|
}, undefined, false, undefined, this),
|
|
56376
|
-
/* @__PURE__ */
|
|
56636
|
+
/* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
|
|
56377
56637
|
dimColor: true,
|
|
56378
56638
|
children: "• No Color: Disables all color output"
|
|
56379
56639
|
}, undefined, false, undefined, this)
|
|
@@ -56400,15 +56660,15 @@ var getColorLevelLabel = (level) => {
|
|
|
56400
56660
|
}
|
|
56401
56661
|
};
|
|
56402
56662
|
// src/tui/components/TerminalWidthMenu.tsx
|
|
56403
|
-
var
|
|
56404
|
-
var
|
|
56663
|
+
var import_react44 = __toESM(require_react(), 1);
|
|
56664
|
+
var jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
|
|
56405
56665
|
var TerminalWidthMenu = ({ settings, onUpdate, onBack }) => {
|
|
56406
|
-
const [selectedOption, setSelectedOption] =
|
|
56407
|
-
const [compactThreshold, setCompactThreshold] =
|
|
56408
|
-
const [editingThreshold, setEditingThreshold] =
|
|
56409
|
-
const [thresholdInput, setThresholdInput] =
|
|
56410
|
-
const [validationError, setValidationError] =
|
|
56411
|
-
const [selectedIndex, setSelectedIndex] =
|
|
56666
|
+
const [selectedOption, setSelectedOption] = import_react44.useState(settings.flexMode);
|
|
56667
|
+
const [compactThreshold, setCompactThreshold] = import_react44.useState(settings.compactThreshold);
|
|
56668
|
+
const [editingThreshold, setEditingThreshold] = import_react44.useState(false);
|
|
56669
|
+
const [thresholdInput, setThresholdInput] = import_react44.useState(String(settings.compactThreshold));
|
|
56670
|
+
const [validationError, setValidationError] = import_react44.useState(null);
|
|
56671
|
+
const [selectedIndex, setSelectedIndex] = import_react44.useState(() => {
|
|
56412
56672
|
const options2 = ["full", "full-minus-40", "full-until-compact"];
|
|
56413
56673
|
return options2.indexOf(settings.flexMode);
|
|
56414
56674
|
});
|
|
@@ -56496,27 +56756,27 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
|
|
|
56496
56756
|
}
|
|
56497
56757
|
];
|
|
56498
56758
|
const currentOption = selectedIndex < 3 ? optionDetails[selectedIndex] : null;
|
|
56499
|
-
return /* @__PURE__ */
|
|
56759
|
+
return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56500
56760
|
flexDirection: "column",
|
|
56501
56761
|
children: [
|
|
56502
|
-
/* @__PURE__ */
|
|
56762
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56503
56763
|
bold: true,
|
|
56504
56764
|
children: "Terminal Width"
|
|
56505
56765
|
}, undefined, false, undefined, this),
|
|
56506
|
-
/* @__PURE__ */
|
|
56766
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56507
56767
|
color: "white",
|
|
56508
56768
|
children: "These settings affect where long lines are truncated, and where right-alignment occurs when using flex separators"
|
|
56509
56769
|
}, undefined, false, undefined, this),
|
|
56510
|
-
/* @__PURE__ */
|
|
56770
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56511
56771
|
dimColor: true,
|
|
56512
56772
|
wrap: "wrap",
|
|
56513
56773
|
children: "Claude code does not currently provide an available width variable for the statusline and features like IDE integration, auto-compaction notices, etc all cause the statusline to wrap if we do not truncate it"
|
|
56514
56774
|
}, undefined, false, undefined, this),
|
|
56515
|
-
editingThreshold ? /* @__PURE__ */
|
|
56775
|
+
editingThreshold ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56516
56776
|
marginTop: 1,
|
|
56517
56777
|
flexDirection: "column",
|
|
56518
56778
|
children: [
|
|
56519
|
-
/* @__PURE__ */
|
|
56779
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56520
56780
|
children: [
|
|
56521
56781
|
"Enter compact threshold (1-99):",
|
|
56522
56782
|
" ",
|
|
@@ -56524,22 +56784,22 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
|
|
|
56524
56784
|
"%"
|
|
56525
56785
|
]
|
|
56526
56786
|
}, undefined, true, undefined, this),
|
|
56527
|
-
validationError ? /* @__PURE__ */
|
|
56787
|
+
validationError ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56528
56788
|
color: "red",
|
|
56529
56789
|
children: validationError
|
|
56530
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
56790
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56531
56791
|
dimColor: true,
|
|
56532
56792
|
children: "Press Enter to confirm, ESC to cancel"
|
|
56533
56793
|
}, undefined, false, undefined, this)
|
|
56534
56794
|
]
|
|
56535
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
56795
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(jsx_dev_runtime16.Fragment, {
|
|
56536
56796
|
children: [
|
|
56537
|
-
/* @__PURE__ */
|
|
56797
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56538
56798
|
marginTop: 1,
|
|
56539
56799
|
flexDirection: "column",
|
|
56540
56800
|
children: [
|
|
56541
|
-
optionDetails.map((opt, index) => /* @__PURE__ */
|
|
56542
|
-
children: /* @__PURE__ */
|
|
56801
|
+
optionDetails.map((opt, index) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56802
|
+
children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56543
56803
|
color: selectedIndex === index ? "green" : undefined,
|
|
56544
56804
|
children: [
|
|
56545
56805
|
selectedIndex === index ? "▶ " : " ",
|
|
@@ -56548,9 +56808,9 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
|
|
|
56548
56808
|
]
|
|
56549
56809
|
}, undefined, true, undefined, this)
|
|
56550
56810
|
}, opt.value, false, undefined, this)),
|
|
56551
|
-
/* @__PURE__ */
|
|
56811
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56552
56812
|
marginTop: 1,
|
|
56553
|
-
children: /* @__PURE__ */
|
|
56813
|
+
children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56554
56814
|
color: selectedIndex === 3 ? "green" : undefined,
|
|
56555
56815
|
children: [
|
|
56556
56816
|
selectedIndex === 3 ? "▶ " : " ",
|
|
@@ -56560,25 +56820,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
|
|
|
56560
56820
|
}, undefined, false, undefined, this)
|
|
56561
56821
|
]
|
|
56562
56822
|
}, undefined, true, undefined, this),
|
|
56563
|
-
currentOption && /* @__PURE__ */
|
|
56823
|
+
currentOption && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56564
56824
|
marginTop: 1,
|
|
56565
56825
|
marginBottom: 1,
|
|
56566
56826
|
borderStyle: "round",
|
|
56567
56827
|
borderColor: "dim",
|
|
56568
56828
|
paddingX: 1,
|
|
56569
|
-
children: /* @__PURE__ */
|
|
56829
|
+
children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
|
|
56570
56830
|
flexDirection: "column",
|
|
56571
56831
|
children: [
|
|
56572
|
-
/* @__PURE__ */
|
|
56832
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56573
56833
|
children: [
|
|
56574
|
-
/* @__PURE__ */
|
|
56834
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56575
56835
|
color: "yellow",
|
|
56576
56836
|
children: currentOption.label
|
|
56577
56837
|
}, undefined, false, undefined, this),
|
|
56578
56838
|
currentOption.value === "full-until-compact" && ` | Current threshold: ${compactThreshold}%`
|
|
56579
56839
|
]
|
|
56580
56840
|
}, undefined, true, undefined, this),
|
|
56581
|
-
/* @__PURE__ */
|
|
56841
|
+
/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
|
|
56582
56842
|
dimColor: true,
|
|
56583
56843
|
wrap: "wrap",
|
|
56584
56844
|
children: currentOption.description
|
|
@@ -56592,25 +56852,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
|
|
|
56592
56852
|
}, undefined, true, undefined, this);
|
|
56593
56853
|
};
|
|
56594
56854
|
// src/tui/App.tsx
|
|
56595
|
-
var
|
|
56855
|
+
var jsx_dev_runtime17 = __toESM(require_jsx_dev_runtime(), 1);
|
|
56596
56856
|
var App2 = () => {
|
|
56597
56857
|
const { exit } = use_app_default();
|
|
56598
|
-
const [settings, setSettings] =
|
|
56599
|
-
const [originalSettings, setOriginalSettings] =
|
|
56600
|
-
const [hasChanges, setHasChanges] =
|
|
56601
|
-
const [screen, setScreen] =
|
|
56602
|
-
const [selectedLine, setSelectedLine] =
|
|
56603
|
-
const [menuSelections, setMenuSelections] =
|
|
56604
|
-
const [confirmDialog, setConfirmDialog] =
|
|
56605
|
-
const [isClaudeInstalled, setIsClaudeInstalled] =
|
|
56606
|
-
const [terminalWidth, setTerminalWidth] =
|
|
56607
|
-
const [powerlineFontStatus, setPowerlineFontStatus] =
|
|
56608
|
-
const [installingFonts, setInstallingFonts] =
|
|
56609
|
-
const [fontInstallMessage, setFontInstallMessage] =
|
|
56610
|
-
const [existingStatusLine, setExistingStatusLine] =
|
|
56611
|
-
const [saveMessage, setSaveMessage] =
|
|
56612
|
-
const [previewIsTruncated, setPreviewIsTruncated] =
|
|
56613
|
-
|
|
56858
|
+
const [settings, setSettings] = import_react45.useState(null);
|
|
56859
|
+
const [originalSettings, setOriginalSettings] = import_react45.useState(null);
|
|
56860
|
+
const [hasChanges, setHasChanges] = import_react45.useState(false);
|
|
56861
|
+
const [screen, setScreen] = import_react45.useState("main");
|
|
56862
|
+
const [selectedLine, setSelectedLine] = import_react45.useState(0);
|
|
56863
|
+
const [menuSelections, setMenuSelections] = import_react45.useState({});
|
|
56864
|
+
const [confirmDialog, setConfirmDialog] = import_react45.useState(null);
|
|
56865
|
+
const [isClaudeInstalled, setIsClaudeInstalled] = import_react45.useState(false);
|
|
56866
|
+
const [terminalWidth, setTerminalWidth] = import_react45.useState(process.stdout.columns || 80);
|
|
56867
|
+
const [powerlineFontStatus, setPowerlineFontStatus] = import_react45.useState({ installed: false });
|
|
56868
|
+
const [installingFonts, setInstallingFonts] = import_react45.useState(false);
|
|
56869
|
+
const [fontInstallMessage, setFontInstallMessage] = import_react45.useState(null);
|
|
56870
|
+
const [existingStatusLine, setExistingStatusLine] = import_react45.useState(null);
|
|
56871
|
+
const [saveMessage, setSaveMessage] = import_react45.useState(null);
|
|
56872
|
+
const [previewIsTruncated, setPreviewIsTruncated] = import_react45.useState(false);
|
|
56873
|
+
import_react45.useEffect(() => {
|
|
56614
56874
|
getExistingStatusLine().then(setExistingStatusLine);
|
|
56615
56875
|
loadSettings().then((loadedSettings) => {
|
|
56616
56876
|
source_default.level = loadedSettings.colorLevel;
|
|
@@ -56634,13 +56894,13 @@ var App2 = () => {
|
|
|
56634
56894
|
process.stdout.off("resize", handleResize);
|
|
56635
56895
|
};
|
|
56636
56896
|
}, []);
|
|
56637
|
-
|
|
56897
|
+
import_react45.useEffect(() => {
|
|
56638
56898
|
if (originalSettings) {
|
|
56639
56899
|
const hasAnyChanges = JSON.stringify(settings) !== JSON.stringify(originalSettings);
|
|
56640
56900
|
setHasChanges(hasAnyChanges);
|
|
56641
56901
|
}
|
|
56642
56902
|
}, [settings, originalSettings]);
|
|
56643
|
-
|
|
56903
|
+
import_react45.useEffect(() => {
|
|
56644
56904
|
if (saveMessage) {
|
|
56645
56905
|
const timer = setTimeout(() => {
|
|
56646
56906
|
setSaveMessage(null);
|
|
@@ -56664,7 +56924,7 @@ var App2 = () => {
|
|
|
56664
56924
|
}
|
|
56665
56925
|
});
|
|
56666
56926
|
if (!settings) {
|
|
56667
|
-
return /* @__PURE__ */
|
|
56927
|
+
return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
|
|
56668
56928
|
children: "Loading settings..."
|
|
56669
56929
|
}, undefined, false, undefined, this);
|
|
56670
56930
|
}
|
|
@@ -56725,41 +56985,40 @@ var App2 = () => {
|
|
|
56725
56985
|
setSelectedLine(lineIndex);
|
|
56726
56986
|
setScreen("items");
|
|
56727
56987
|
};
|
|
56728
|
-
return /* @__PURE__ */
|
|
56988
|
+
return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
|
|
56729
56989
|
flexDirection: "column",
|
|
56730
|
-
padding: 1,
|
|
56731
56990
|
children: [
|
|
56732
|
-
/* @__PURE__ */
|
|
56991
|
+
/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
|
|
56733
56992
|
marginBottom: 1,
|
|
56734
56993
|
children: [
|
|
56735
|
-
/* @__PURE__ */
|
|
56994
|
+
/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
|
|
56736
56995
|
bold: true,
|
|
56737
|
-
children: /* @__PURE__ */
|
|
56996
|
+
children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(dist_default4, {
|
|
56738
56997
|
name: "retro",
|
|
56739
56998
|
children: "CCStatusline Configuration"
|
|
56740
56999
|
}, undefined, false, undefined, this)
|
|
56741
57000
|
}, undefined, false, undefined, this),
|
|
56742
|
-
/* @__PURE__ */
|
|
57001
|
+
/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
|
|
56743
57002
|
bold: true,
|
|
56744
57003
|
children: ` | ${getPackageVersion() && `v${getPackageVersion()}`}`
|
|
56745
57004
|
}, undefined, false, undefined, this),
|
|
56746
|
-
saveMessage && /* @__PURE__ */
|
|
57005
|
+
saveMessage && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
|
|
56747
57006
|
color: "green",
|
|
56748
57007
|
bold: true,
|
|
56749
57008
|
children: ` ${saveMessage}`
|
|
56750
57009
|
}, undefined, false, undefined, this)
|
|
56751
57010
|
]
|
|
56752
57011
|
}, undefined, true, undefined, this),
|
|
56753
|
-
/* @__PURE__ */
|
|
57012
|
+
/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(StatusLinePreview, {
|
|
56754
57013
|
lines: settings.lines,
|
|
56755
57014
|
terminalWidth,
|
|
56756
57015
|
settings,
|
|
56757
57016
|
onTruncationChange: setPreviewIsTruncated
|
|
56758
57017
|
}, undefined, false, undefined, this),
|
|
56759
|
-
/* @__PURE__ */
|
|
57018
|
+
/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
|
|
56760
57019
|
marginTop: 1,
|
|
56761
57020
|
children: [
|
|
56762
|
-
screen === "main" && /* @__PURE__ */
|
|
57021
|
+
screen === "main" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(MainMenu, {
|
|
56763
57022
|
onSelect: (value) => {
|
|
56764
57023
|
if (value !== "save" && value !== "exit") {
|
|
56765
57024
|
const menuMap = {
|
|
@@ -56781,7 +57040,7 @@ var App2 = () => {
|
|
|
56781
57040
|
settings,
|
|
56782
57041
|
previewIsTruncated
|
|
56783
57042
|
}, undefined, false, undefined, this),
|
|
56784
|
-
screen === "lines" && /* @__PURE__ */
|
|
57043
|
+
screen === "lines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
|
|
56785
57044
|
lines: settings.lines,
|
|
56786
57045
|
onSelect: (line) => {
|
|
56787
57046
|
setMenuSelections({ ...menuSelections, lines: line });
|
|
@@ -56794,7 +57053,7 @@ var App2 = () => {
|
|
|
56794
57053
|
initialSelection: menuSelections.lines,
|
|
56795
57054
|
title: "Select Line to Edit Items"
|
|
56796
57055
|
}, undefined, false, undefined, this),
|
|
56797
|
-
screen === "items" && /* @__PURE__ */
|
|
57056
|
+
screen === "items" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ItemsEditor, {
|
|
56798
57057
|
widgets: settings.lines[selectedLine] ?? [],
|
|
56799
57058
|
onUpdate: (widgets) => {
|
|
56800
57059
|
updateLine(selectedLine, widgets);
|
|
@@ -56806,7 +57065,7 @@ var App2 = () => {
|
|
|
56806
57065
|
lineNumber: selectedLine + 1,
|
|
56807
57066
|
settings
|
|
56808
57067
|
}, undefined, false, undefined, this),
|
|
56809
|
-
screen === "colorLines" && /* @__PURE__ */
|
|
57068
|
+
screen === "colorLines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
|
|
56810
57069
|
lines: settings.lines,
|
|
56811
57070
|
onSelect: (line) => {
|
|
56812
57071
|
setMenuSelections({ ...menuSelections, lines: line });
|
|
@@ -56822,7 +57081,7 @@ var App2 = () => {
|
|
|
56822
57081
|
blockIfPowerlineActive: true,
|
|
56823
57082
|
settings
|
|
56824
57083
|
}, undefined, false, undefined, this),
|
|
56825
|
-
screen === "colors" && /* @__PURE__ */
|
|
57084
|
+
screen === "colors" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ColorMenu, {
|
|
56826
57085
|
widgets: settings.lines[selectedLine] ?? [],
|
|
56827
57086
|
lineIndex: selectedLine,
|
|
56828
57087
|
settings,
|
|
@@ -56835,7 +57094,7 @@ var App2 = () => {
|
|
|
56835
57094
|
setScreen("colorLines");
|
|
56836
57095
|
}
|
|
56837
57096
|
}, undefined, false, undefined, this),
|
|
56838
|
-
screen === "terminalConfig" && /* @__PURE__ */
|
|
57097
|
+
screen === "terminalConfig" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalOptionsMenu, {
|
|
56839
57098
|
settings,
|
|
56840
57099
|
onUpdate: (updatedSettings) => {
|
|
56841
57100
|
setSettings(updatedSettings);
|
|
@@ -56849,7 +57108,7 @@ var App2 = () => {
|
|
|
56849
57108
|
}
|
|
56850
57109
|
}
|
|
56851
57110
|
}, undefined, false, undefined, this),
|
|
56852
|
-
screen === "terminalWidth" && /* @__PURE__ */
|
|
57111
|
+
screen === "terminalWidth" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalWidthMenu, {
|
|
56853
57112
|
settings,
|
|
56854
57113
|
onUpdate: (updatedSettings) => {
|
|
56855
57114
|
setSettings(updatedSettings);
|
|
@@ -56858,7 +57117,7 @@ var App2 = () => {
|
|
|
56858
57117
|
setScreen("terminalConfig");
|
|
56859
57118
|
}
|
|
56860
57119
|
}, undefined, false, undefined, this),
|
|
56861
|
-
screen === "globalOverrides" && /* @__PURE__ */
|
|
57120
|
+
screen === "globalOverrides" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(GlobalOverridesMenu, {
|
|
56862
57121
|
settings,
|
|
56863
57122
|
onUpdate: (updatedSettings) => {
|
|
56864
57123
|
setSettings(updatedSettings);
|
|
@@ -56868,7 +57127,7 @@ var App2 = () => {
|
|
|
56868
57127
|
setScreen("main");
|
|
56869
57128
|
}
|
|
56870
57129
|
}, undefined, false, undefined, this),
|
|
56871
|
-
screen === "confirm" && confirmDialog && /* @__PURE__ */
|
|
57130
|
+
screen === "confirm" && confirmDialog && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ConfirmDialog, {
|
|
56872
57131
|
message: confirmDialog.message,
|
|
56873
57132
|
onConfirm: () => void confirmDialog.action(),
|
|
56874
57133
|
onCancel: () => {
|
|
@@ -56876,7 +57135,7 @@ var App2 = () => {
|
|
|
56876
57135
|
setConfirmDialog(null);
|
|
56877
57136
|
}
|
|
56878
57137
|
}, undefined, false, undefined, this),
|
|
56879
|
-
screen === "install" && /* @__PURE__ */
|
|
57138
|
+
screen === "install" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(InstallMenu, {
|
|
56880
57139
|
bunxAvailable: isBunxAvailable(),
|
|
56881
57140
|
existingStatusLine,
|
|
56882
57141
|
onSelectNpx: () => {
|
|
@@ -56941,7 +57200,7 @@ Continue?`;
|
|
|
56941
57200
|
setScreen("main");
|
|
56942
57201
|
}
|
|
56943
57202
|
}, undefined, false, undefined, this),
|
|
56944
|
-
screen === "powerline" && /* @__PURE__ */
|
|
57203
|
+
screen === "powerline" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(PowerlineSetup, {
|
|
56945
57204
|
settings,
|
|
56946
57205
|
powerlineFontStatus,
|
|
56947
57206
|
onUpdate: (updatedSettings) => {
|
|
@@ -56975,7 +57234,7 @@ Continue?`;
|
|
|
56975
57234
|
};
|
|
56976
57235
|
function runTUI() {
|
|
56977
57236
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
56978
|
-
render_default(/* @__PURE__ */
|
|
57237
|
+
render_default(/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(App2, {}, undefined, false, undefined, this));
|
|
56979
57238
|
}
|
|
56980
57239
|
// src/types/StatusJSON.ts
|
|
56981
57240
|
var StatusJSONSchema = exports_external.looseObject({
|
|
@@ -56992,7 +57251,14 @@ var StatusJSONSchema = exports_external.looseObject({
|
|
|
56992
57251
|
project_dir: exports_external.string().optional()
|
|
56993
57252
|
}).optional(),
|
|
56994
57253
|
version: exports_external.string().optional(),
|
|
56995
|
-
output_style: exports_external.object({ name: exports_external.string().optional() }).optional()
|
|
57254
|
+
output_style: exports_external.object({ name: exports_external.string().optional() }).optional(),
|
|
57255
|
+
cost: exports_external.object({
|
|
57256
|
+
total_cost_usd: exports_external.number().optional(),
|
|
57257
|
+
total_duration_ms: exports_external.number().optional(),
|
|
57258
|
+
total_api_duration_ms: exports_external.number().optional(),
|
|
57259
|
+
total_lines_added: exports_external.number().optional(),
|
|
57260
|
+
total_lines_removed: exports_external.number().optional()
|
|
57261
|
+
}).optional()
|
|
56996
57262
|
});
|
|
56997
57263
|
|
|
56998
57264
|
// src/utils/jsonl.ts
|
|
@@ -58064,12 +58330,15 @@ async function renderMultipleLines(data) {
|
|
|
58064
58330
|
blockMetrics,
|
|
58065
58331
|
isPreview: false
|
|
58066
58332
|
};
|
|
58333
|
+
const isPowerlineMode = settings.powerline.enabled;
|
|
58334
|
+
const autoAlign = settings.powerline.autoAlign;
|
|
58335
|
+
const allLinesWidgets = isPowerlineMode && autoAlign ? lines : undefined;
|
|
58067
58336
|
let globalSeparatorIndex = 0;
|
|
58068
58337
|
for (let i = 0;i < lines.length; i++) {
|
|
58069
58338
|
const lineItems = lines[i];
|
|
58070
58339
|
if (lineItems && lineItems.length > 0) {
|
|
58071
58340
|
const lineContext = { ...context, lineIndex: i, globalSeparatorIndex };
|
|
58072
|
-
const line = renderStatusLine(lineItems, settings, lineContext);
|
|
58341
|
+
const line = renderStatusLine(lineItems, settings, lineContext, allLinesWidgets);
|
|
58073
58342
|
const strippedLine = line.replace(/\x1b\[[0-9;]*m/g, "").trim();
|
|
58074
58343
|
if (strippedLine.length > 0) {
|
|
58075
58344
|
const nonMergedWidgets = lineItems.filter((_, idx) => idx === lineItems.length - 1 || !lineItems[idx]?.merge);
|