deepseek-coder-agent-cli 1.0.66 → 1.0.68
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 +2 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +15 -5
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/ui/UnifiedUIRenderer.d.ts +7 -1
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
- package/dist/ui/UnifiedUIRenderer.js +168 -142
- package/dist/ui/UnifiedUIRenderer.js.map +1 -1
- package/package.json +1 -1
|
@@ -213,6 +213,7 @@ export declare class UnifiedUIRenderer extends EventEmitter {
|
|
|
213
213
|
private spinnerFrame;
|
|
214
214
|
private spinnerInterval;
|
|
215
215
|
private readonly maxInlinePanelLines;
|
|
216
|
+
private readonly maxInputDisplayLines;
|
|
216
217
|
private compactingStatusMessage;
|
|
217
218
|
private compactingStatusFrame;
|
|
218
219
|
private compactingStatusInterval;
|
|
@@ -251,6 +252,7 @@ export declare class UnifiedUIRenderer extends EventEmitter {
|
|
|
251
252
|
private hasConversationContent;
|
|
252
253
|
private isPromptActive;
|
|
253
254
|
private inputRenderOffset;
|
|
255
|
+
private inputLineViewportOffset;
|
|
254
256
|
private readonly plainPasteIdleMs;
|
|
255
257
|
private readonly plainPasteWindowMs;
|
|
256
258
|
private readonly plainPasteTriggerChars;
|
|
@@ -706,6 +708,11 @@ export declare class UnifiedUIRenderer extends EventEmitter {
|
|
|
706
708
|
private renderPromptImmediate;
|
|
707
709
|
private renderPromptImmediateInternal;
|
|
708
710
|
private buildOverlayLines;
|
|
711
|
+
/**
|
|
712
|
+
* Build input lines with viewport constraint to fit within maxLines.
|
|
713
|
+
* Ensures cursor is always visible and shows scroll indicators when content is clipped.
|
|
714
|
+
*/
|
|
715
|
+
private buildInputLinesWithViewport;
|
|
709
716
|
/**
|
|
710
717
|
* Build a single compact status line with all essential info
|
|
711
718
|
* Format: deepseek-reasoner · ░░░░░░ 5% · agi-code · ~/GitHub
|
|
@@ -736,7 +743,6 @@ export declare class UnifiedUIRenderer extends EventEmitter {
|
|
|
736
743
|
private buildControlLines;
|
|
737
744
|
private buildToggleLine;
|
|
738
745
|
private buildShortcutLine;
|
|
739
|
-
private buildInputLine;
|
|
740
746
|
private buildInputWindow;
|
|
741
747
|
/**
|
|
742
748
|
* Expand collapsed paste into the buffer without submitting (Ctrl+L).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnifiedUIRenderer.d.ts","sourceRoot":"","sources":["../../src/ui/UnifiedUIRenderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UnifiedUIRenderer.d.ts","sourceRoot":"","sources":["../../src/ui/UnifiedUIRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -234,6 +234,7 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
234
234
|
spinnerFrame = 0;
|
|
235
235
|
spinnerInterval = null;
|
|
236
236
|
maxInlinePanelLines = 12;
|
|
237
|
+
maxInputDisplayLines = 15; // Max lines to show in input area; keeps bottom visible during paste
|
|
237
238
|
// Compacting status animation
|
|
238
239
|
compactingStatusMessage = '';
|
|
239
240
|
compactingStatusFrame = 0;
|
|
@@ -368,6 +369,7 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
368
369
|
hasConversationContent = false;
|
|
369
370
|
isPromptActive = false;
|
|
370
371
|
inputRenderOffset = 0;
|
|
372
|
+
inputLineViewportOffset = 0; // Vertical scroll offset for multi-line input viewport
|
|
371
373
|
plainPasteIdleMs = 80; // Increased for more robust multi-line paste detection
|
|
372
374
|
plainPasteWindowMs = 120; // Increased window for paste burst detection
|
|
373
375
|
plainPasteTriggerChars = 16; // Lower threshold to catch multi-line pastes sooner
|
|
@@ -4491,10 +4493,15 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
4491
4493
|
this.promptHeight = height;
|
|
4492
4494
|
}
|
|
4493
4495
|
buildOverlayLines() {
|
|
4494
|
-
const lines = [];
|
|
4495
4496
|
const maxWidth = this.safeWidth();
|
|
4497
|
+
const terminalHeight = this.rows || 24;
|
|
4496
4498
|
// Simple horizontal divider - clean and reliable
|
|
4497
4499
|
const divider = theme.ui.muted('─'.repeat(maxWidth));
|
|
4500
|
+
// ============ PHASE 1: Build all fixed chrome elements first ============
|
|
4501
|
+
// These elements have fixed height and must always be visible
|
|
4502
|
+
const chromeAbove = []; // Lines above input
|
|
4503
|
+
const chromeBelow = []; // Lines below input (status, toggles, shortcuts)
|
|
4504
|
+
// Activity line (only when streaming)
|
|
4498
4505
|
const fallbackActivity = (() => {
|
|
4499
4506
|
const raw = this.statusStreaming || this.statusOverride || this.statusMessage;
|
|
4500
4507
|
if (!raw)
|
|
@@ -4502,9 +4509,7 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
4502
4509
|
const cleaned = this.stripAnsi(raw).replace(/^[⏺•]\s*/, '').trim();
|
|
4503
4510
|
return cleaned || null;
|
|
4504
4511
|
})();
|
|
4505
|
-
// Activity line (only when streaming) - shows: ◐ Working… (esc to interrupt · 34s)
|
|
4506
4512
|
if (this.mode === 'streaming' && (this.activityMessage || fallbackActivity)) {
|
|
4507
|
-
// Clean spinner animation using braille dots + shimmer accent for a richer feel
|
|
4508
4513
|
const spinnerChars = spinnerFrames.braille;
|
|
4509
4514
|
const spinnerChar = spinnerChars[this.spinnerFrame % spinnerChars.length] ?? '⠋';
|
|
4510
4515
|
const starChar = this.activityStarFrames[this.activityStarFrame % this.activityStarFrames.length] ?? '✶';
|
|
@@ -4519,8 +4524,6 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
4519
4524
|
displayActivity = fallbackActivity || 'Working';
|
|
4520
4525
|
}
|
|
4521
4526
|
const needsEllipsis = !displayActivity.trimEnd().endsWith('…') && !displayActivity.trimEnd().endsWith('...');
|
|
4522
|
-
// Format: ⠋ Working… (esc to interrupt · 1m 19s · ↑1.2k tokens)
|
|
4523
|
-
// Build parts with animated elapsed time color
|
|
4524
4527
|
const elapsedColor = chalk.hex(this.elapsedColorFrames[this.elapsedColorFrame % this.elapsedColorFrames.length] ?? '#F59E0B');
|
|
4525
4528
|
const parts = ['esc to interrupt'];
|
|
4526
4529
|
if (elapsed)
|
|
@@ -4531,46 +4534,21 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
4531
4534
|
const prefix = `${spinnerDecorated} `;
|
|
4532
4535
|
const activityText = `${displayActivity.trim()}${needsEllipsis ? '…' : ''}`;
|
|
4533
4536
|
const suffix = ` ${theme.ui.muted('(')}${parts.join(theme.ui.muted(' · '))}${theme.ui.muted(')')}`;
|
|
4534
|
-
// Build the full activity line with animated color for elapsed time
|
|
4535
4537
|
const activityLine = `${prefix}${activityText}${suffix}`;
|
|
4536
|
-
// Always show full text - wrap to multiple lines if needed
|
|
4537
4538
|
const indent = ' '.repeat(this.visibleLength(prefix));
|
|
4538
4539
|
const wrapped = this.wrapOverlayLine(activityLine, maxWidth, indent);
|
|
4539
|
-
|
|
4540
|
-
}
|
|
4541
|
-
// Top divider
|
|
4542
|
-
lines.push(divider);
|
|
4543
|
-
// Input prompt line
|
|
4544
|
-
const promptIndex = lines.length;
|
|
4545
|
-
const inputLine = this.buildInputLine();
|
|
4546
|
-
// Handle multi-line input by splitting on newlines
|
|
4547
|
-
// Filter out empty lines to prevent duplicate divider appearance from leading/trailing newlines
|
|
4548
|
-
const inputLines = inputLine.split('\n').filter((line, idx, arr) => {
|
|
4549
|
-
// Keep non-empty lines, but preserve single empty line if it's intentional (e.g., between content)
|
|
4550
|
-
// Only filter leading/trailing empty lines
|
|
4551
|
-
if (line.trim() === '') {
|
|
4552
|
-
// Filter if it's the first line (leading empty) or last line (trailing empty)
|
|
4553
|
-
if (idx === 0 || idx === arr.length - 1)
|
|
4554
|
-
return false;
|
|
4555
|
-
}
|
|
4556
|
-
return true;
|
|
4557
|
-
});
|
|
4558
|
-
// Ensure at least one line for the prompt
|
|
4559
|
-
if (inputLines.length === 0) {
|
|
4560
|
-
inputLines.push(theme.primary('> '));
|
|
4540
|
+
chromeAbove.push(...wrapped);
|
|
4561
4541
|
}
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
// Inline panel (pinned scroll box for live output/menus)
|
|
4542
|
+
// Top divider (always present)
|
|
4543
|
+
chromeAbove.push(divider);
|
|
4544
|
+
// Bottom divider (always present)
|
|
4545
|
+
chromeBelow.push(divider);
|
|
4546
|
+
// Inline panel
|
|
4568
4547
|
if (this.inlinePanel.length > 0) {
|
|
4569
4548
|
for (const panelLine of this.inlinePanel) {
|
|
4570
|
-
|
|
4549
|
+
chromeBelow.push(this.truncateLine(` ${panelLine}`, maxWidth));
|
|
4571
4550
|
}
|
|
4572
|
-
|
|
4573
|
-
lines.push(divider);
|
|
4551
|
+
chromeBelow.push(divider);
|
|
4574
4552
|
}
|
|
4575
4553
|
// Slash command suggestions
|
|
4576
4554
|
if (this.suggestions.length > 0) {
|
|
@@ -4580,26 +4558,170 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
4580
4558
|
const marker = isActive ? theme.primary('▸') : theme.ui.muted(' ');
|
|
4581
4559
|
const cmdText = isActive ? theme.primary(suggestion.command) : theme.ui.muted(suggestion.command);
|
|
4582
4560
|
const descText = isActive ? suggestion.description : theme.ui.muted(suggestion.description);
|
|
4583
|
-
|
|
4561
|
+
chromeBelow.push(this.truncateLine(` ${marker} ${cmdText} — ${descText}`, maxWidth));
|
|
4584
4562
|
}
|
|
4585
4563
|
}
|
|
4586
|
-
// Compact status line
|
|
4564
|
+
// Compact status line
|
|
4587
4565
|
const compactStatus = this.buildCompactStatusLine();
|
|
4588
4566
|
if (compactStatus) {
|
|
4589
|
-
|
|
4567
|
+
chromeBelow.push(this.truncateLine(` ${compactStatus}`, maxWidth));
|
|
4590
4568
|
}
|
|
4591
|
-
// Mode toggles
|
|
4569
|
+
// Mode toggles
|
|
4592
4570
|
const toggleLine = this.buildToggleLine();
|
|
4593
4571
|
if (toggleLine) {
|
|
4594
|
-
|
|
4572
|
+
chromeBelow.push(this.truncateLine(` ${toggleLine}`, maxWidth));
|
|
4595
4573
|
}
|
|
4596
|
-
// Keyboard shortcuts
|
|
4574
|
+
// Keyboard shortcuts
|
|
4597
4575
|
const shortcutLine = this.buildShortcutLine();
|
|
4598
4576
|
if (shortcutLine) {
|
|
4599
|
-
|
|
4577
|
+
chromeBelow.push(this.truncateLine(` ${shortcutLine}`, maxWidth));
|
|
4578
|
+
}
|
|
4579
|
+
// ============ PHASE 2: Calculate available space for input ============
|
|
4580
|
+
const chromeHeight = chromeAbove.length + chromeBelow.length;
|
|
4581
|
+
const minInputLines = 1; // At least show the prompt line
|
|
4582
|
+
const maxInputLines = Math.max(minInputLines, terminalHeight - chromeHeight - 1); // -1 for safety margin
|
|
4583
|
+
// ============ PHASE 3: Build input with calculated height constraint ============
|
|
4584
|
+
const allInputLines = this.buildInputLinesWithViewport(maxInputLines);
|
|
4585
|
+
// ============ PHASE 4: Assemble final overlay ============
|
|
4586
|
+
const lines = [];
|
|
4587
|
+
lines.push(...chromeAbove);
|
|
4588
|
+
const promptIndex = lines.length; // Track where prompt starts for cursor positioning
|
|
4589
|
+
for (const line of allInputLines) {
|
|
4590
|
+
lines.push(this.truncateLine(line, maxWidth));
|
|
4600
4591
|
}
|
|
4592
|
+
lines.push(...chromeBelow);
|
|
4601
4593
|
return { lines, promptIndex };
|
|
4602
4594
|
}
|
|
4595
|
+
/**
|
|
4596
|
+
* Build input lines with viewport constraint to fit within maxLines.
|
|
4597
|
+
* Ensures cursor is always visible and shows scroll indicators when content is clipped.
|
|
4598
|
+
*/
|
|
4599
|
+
buildInputLinesWithViewport(maxLines) {
|
|
4600
|
+
const now = Date.now();
|
|
4601
|
+
const burstActive = this.pasteBurstWindowStart > 0 && now - this.pasteBurstWindowStart <= this.plainPasteWindowMs;
|
|
4602
|
+
// During paste detection, show compact indicator
|
|
4603
|
+
if (this.inPlainPaste || this.inBracketedPaste || burstActive) {
|
|
4604
|
+
const chars = this.plainPasteBuffer.length || this.pasteBuffer.length || this.pendingInsertBuffer.length || 0;
|
|
4605
|
+
if (chars > 0) {
|
|
4606
|
+
const indicator = theme.ui.muted(`[📋 pasting... ${chars} chars]`);
|
|
4607
|
+
return [this.truncateLine(`${theme.primary('> ')}${indicator}`, this.safeWidth())];
|
|
4608
|
+
}
|
|
4609
|
+
if (burstActive) {
|
|
4610
|
+
return [this.truncateLine(`${theme.primary('> ')}`, this.safeWidth())];
|
|
4611
|
+
}
|
|
4612
|
+
}
|
|
4613
|
+
const prompt = theme.primary('> ');
|
|
4614
|
+
const promptWidth = this.visibleLength(prompt);
|
|
4615
|
+
const maxWidth = this.safeWidth();
|
|
4616
|
+
const continuationIndent = ' ';
|
|
4617
|
+
const continuationWidth = continuationIndent.length;
|
|
4618
|
+
// Build all display lines from buffer
|
|
4619
|
+
const rawBuffer = this.buffer.replace(/\r/g, '\n');
|
|
4620
|
+
const normalized = this.secretMode ? '•'.repeat(rawBuffer.length) : rawBuffer;
|
|
4621
|
+
const bufferLines = normalized.split('\n');
|
|
4622
|
+
const allLines = [];
|
|
4623
|
+
let totalChars = 0;
|
|
4624
|
+
let cursorLine = 0;
|
|
4625
|
+
let cursorCol = 0;
|
|
4626
|
+
let foundCursor = false;
|
|
4627
|
+
for (let lineIndex = 0; lineIndex < bufferLines.length; lineIndex++) {
|
|
4628
|
+
const line = bufferLines[lineIndex] ?? '';
|
|
4629
|
+
const isFirstLogicalLine = lineIndex === 0;
|
|
4630
|
+
const lineStartChar = totalChars;
|
|
4631
|
+
const firstLineWidth = maxWidth - promptWidth;
|
|
4632
|
+
const contLineWidth = maxWidth - continuationWidth;
|
|
4633
|
+
let remaining = line;
|
|
4634
|
+
let isFirstDisplayLine = true;
|
|
4635
|
+
while (remaining.length > 0 || isFirstDisplayLine) {
|
|
4636
|
+
const availableWidth = (isFirstLogicalLine && isFirstDisplayLine) ? firstLineWidth : contLineWidth;
|
|
4637
|
+
const chunk = remaining.slice(0, availableWidth);
|
|
4638
|
+
remaining = remaining.slice(availableWidth);
|
|
4639
|
+
let displayLine;
|
|
4640
|
+
if (isFirstLogicalLine && isFirstDisplayLine) {
|
|
4641
|
+
displayLine = `${prompt}${chunk}`;
|
|
4642
|
+
}
|
|
4643
|
+
else {
|
|
4644
|
+
displayLine = `${continuationIndent}${chunk}`;
|
|
4645
|
+
}
|
|
4646
|
+
if (!foundCursor) {
|
|
4647
|
+
const chunkStart = lineStartChar + (line.length - remaining.length - chunk.length);
|
|
4648
|
+
const chunkEnd = chunkStart + chunk.length;
|
|
4649
|
+
if (this.cursor >= chunkStart && this.cursor <= chunkEnd) {
|
|
4650
|
+
cursorLine = allLines.length;
|
|
4651
|
+
const offsetInChunk = this.cursor - chunkStart;
|
|
4652
|
+
cursorCol = ((isFirstLogicalLine && isFirstDisplayLine) ? promptWidth : continuationWidth) + offsetInChunk;
|
|
4653
|
+
foundCursor = true;
|
|
4654
|
+
}
|
|
4655
|
+
}
|
|
4656
|
+
allLines.push(displayLine);
|
|
4657
|
+
isFirstDisplayLine = false;
|
|
4658
|
+
if (remaining.length === 0 && chunk.length === 0)
|
|
4659
|
+
break;
|
|
4660
|
+
}
|
|
4661
|
+
totalChars += line.length + 1;
|
|
4662
|
+
}
|
|
4663
|
+
// Handle cursor at end
|
|
4664
|
+
if (!foundCursor) {
|
|
4665
|
+
cursorLine = Math.max(0, allLines.length - 1);
|
|
4666
|
+
const lastLine = allLines[cursorLine] ?? '';
|
|
4667
|
+
cursorCol = this.visibleLength(lastLine);
|
|
4668
|
+
}
|
|
4669
|
+
// Add cursor highlight
|
|
4670
|
+
if (allLines.length > 0 && cursorLine < allLines.length) {
|
|
4671
|
+
const targetLine = allLines[cursorLine] ?? '';
|
|
4672
|
+
const visiblePart = this.stripAnsi(targetLine);
|
|
4673
|
+
const cursorPos = Math.min(cursorCol, visiblePart.length);
|
|
4674
|
+
const before = visiblePart.slice(0, cursorPos);
|
|
4675
|
+
const at = visiblePart.charAt(cursorPos) || ' ';
|
|
4676
|
+
const after = visiblePart.slice(cursorPos + 1);
|
|
4677
|
+
const prefix = cursorLine === 0 ? prompt : continuationIndent;
|
|
4678
|
+
const textPart = cursorLine === 0 ? before.slice(promptWidth) : before.slice(continuationWidth);
|
|
4679
|
+
allLines[cursorLine] = `${prefix}${textPart}${ESC.REVERSE}${at}${ESC.RESET}${after}`;
|
|
4680
|
+
}
|
|
4681
|
+
this.cursorVisibleColumn = cursorCol + 1;
|
|
4682
|
+
// ============ VIEWPORT LOGIC ============
|
|
4683
|
+
// If all lines fit, return them all
|
|
4684
|
+
if (allLines.length <= maxLines) {
|
|
4685
|
+
return allLines;
|
|
4686
|
+
}
|
|
4687
|
+
// Need viewport - reserve 1 line for scroll indicator if needed
|
|
4688
|
+
const viewportSize = maxLines - 1; // Reserve 1 for indicator
|
|
4689
|
+
if (viewportSize < 1) {
|
|
4690
|
+
return [allLines[cursorLine] ?? theme.primary('> ')];
|
|
4691
|
+
}
|
|
4692
|
+
// Calculate viewport to keep cursor visible, preferring to show content after cursor
|
|
4693
|
+
let viewportStart = this.inputLineViewportOffset;
|
|
4694
|
+
// Ensure cursor is in viewport
|
|
4695
|
+
if (cursorLine < viewportStart) {
|
|
4696
|
+
viewportStart = cursorLine;
|
|
4697
|
+
}
|
|
4698
|
+
else if (cursorLine >= viewportStart + viewportSize) {
|
|
4699
|
+
viewportStart = cursorLine - viewportSize + 1;
|
|
4700
|
+
}
|
|
4701
|
+
// Clamp to valid range
|
|
4702
|
+
const maxStart = Math.max(0, allLines.length - viewportSize);
|
|
4703
|
+
viewportStart = Math.max(0, Math.min(viewportStart, maxStart));
|
|
4704
|
+
this.inputLineViewportOffset = viewportStart;
|
|
4705
|
+
// Extract viewport
|
|
4706
|
+
const viewportEnd = Math.min(viewportStart + viewportSize, allLines.length);
|
|
4707
|
+
const visibleLines = allLines.slice(viewportStart, viewportEnd);
|
|
4708
|
+
// Build result with scroll indicator
|
|
4709
|
+
const result = [];
|
|
4710
|
+
const hiddenAbove = viewportStart;
|
|
4711
|
+
const hiddenBelow = allLines.length - viewportEnd;
|
|
4712
|
+
if (hiddenAbove > 0 && hiddenBelow > 0) {
|
|
4713
|
+
// Content hidden both above and below
|
|
4714
|
+
result.push(theme.ui.muted(` ↕ ${hiddenAbove} above · ${hiddenBelow} below — use arrows to scroll`));
|
|
4715
|
+
}
|
|
4716
|
+
else if (hiddenAbove > 0) {
|
|
4717
|
+
result.push(theme.ui.muted(` ↑ ${hiddenAbove} line${hiddenAbove === 1 ? '' : 's'} above`));
|
|
4718
|
+
}
|
|
4719
|
+
else if (hiddenBelow > 0) {
|
|
4720
|
+
result.push(theme.ui.muted(` ↓ ${hiddenBelow} line${hiddenBelow === 1 ? '' : 's'} below`));
|
|
4721
|
+
}
|
|
4722
|
+
result.push(...visibleLines);
|
|
4723
|
+
return result;
|
|
4724
|
+
}
|
|
4603
4725
|
/**
|
|
4604
4726
|
* Build a single compact status line with all essential info
|
|
4605
4727
|
* Format: deepseek-reasoner · ░░░░░░ 5% · agi-code · ~/GitHub
|
|
@@ -5006,103 +5128,6 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
5006
5128
|
}
|
|
5007
5129
|
return parts.join(theme.ui.muted(' '));
|
|
5008
5130
|
}
|
|
5009
|
-
buildInputLine() {
|
|
5010
|
-
// While detecting paste (or in burst detection phase), suppress buffer display
|
|
5011
|
-
const now = Date.now();
|
|
5012
|
-
const burstActive = this.pasteBurstWindowStart > 0 && now - this.pasteBurstWindowStart <= this.plainPasteWindowMs;
|
|
5013
|
-
if (this.inPlainPaste || this.inBracketedPaste || burstActive) {
|
|
5014
|
-
const chars = this.plainPasteBuffer.length || this.pasteBuffer.length || this.pendingInsertBuffer.length || 0;
|
|
5015
|
-
if (chars > 0) {
|
|
5016
|
-
const indicator = theme.ui.muted(`[📋 pasting... ${chars} chars]`);
|
|
5017
|
-
return this.truncateLine(`${theme.primary('> ')}${indicator}`, this.safeWidth());
|
|
5018
|
-
}
|
|
5019
|
-
// Even if no chars yet, show empty prompt during burst to prevent flicker
|
|
5020
|
-
if (burstActive) {
|
|
5021
|
-
return this.truncateLine(`${theme.primary('> ')}`, this.safeWidth());
|
|
5022
|
-
}
|
|
5023
|
-
}
|
|
5024
|
-
// Claude Code uses simple '>' prompt
|
|
5025
|
-
const prompt = theme.primary('> ');
|
|
5026
|
-
const promptWidth = this.visibleLength(prompt);
|
|
5027
|
-
const maxWidth = this.safeWidth();
|
|
5028
|
-
const continuationIndent = ' '; // 2 spaces for continuation lines
|
|
5029
|
-
const continuationWidth = continuationIndent.length;
|
|
5030
|
-
// Handle multi-line input - split buffer on newlines first
|
|
5031
|
-
// In secret mode, mask all characters with bullets
|
|
5032
|
-
const rawBuffer = this.buffer.replace(/\r/g, '\n');
|
|
5033
|
-
const normalized = this.secretMode ? '•'.repeat(rawBuffer.length) : rawBuffer;
|
|
5034
|
-
const bufferLines = normalized.split('\n');
|
|
5035
|
-
// Wrap each logical line to fit terminal width, expanding vertically
|
|
5036
|
-
const result = [];
|
|
5037
|
-
let totalChars = 0;
|
|
5038
|
-
let cursorLine = 0;
|
|
5039
|
-
let cursorCol = 0;
|
|
5040
|
-
let foundCursor = false;
|
|
5041
|
-
for (let lineIndex = 0; lineIndex < bufferLines.length; lineIndex++) {
|
|
5042
|
-
const line = bufferLines[lineIndex] ?? '';
|
|
5043
|
-
const isFirstLogicalLine = lineIndex === 0;
|
|
5044
|
-
const lineStartChar = totalChars;
|
|
5045
|
-
// Determine available width for this line
|
|
5046
|
-
const firstLineWidth = maxWidth - promptWidth;
|
|
5047
|
-
const contLineWidth = maxWidth - continuationWidth;
|
|
5048
|
-
// Wrap this logical line into display lines
|
|
5049
|
-
let remaining = line;
|
|
5050
|
-
let isFirstDisplayLine = true;
|
|
5051
|
-
while (remaining.length > 0 || isFirstDisplayLine) {
|
|
5052
|
-
const availableWidth = (isFirstLogicalLine && isFirstDisplayLine) ? firstLineWidth : contLineWidth;
|
|
5053
|
-
const chunk = remaining.slice(0, availableWidth);
|
|
5054
|
-
remaining = remaining.slice(availableWidth);
|
|
5055
|
-
// Build the display line
|
|
5056
|
-
let displayLine;
|
|
5057
|
-
if (isFirstLogicalLine && isFirstDisplayLine) {
|
|
5058
|
-
displayLine = `${prompt}${chunk}`;
|
|
5059
|
-
}
|
|
5060
|
-
else {
|
|
5061
|
-
displayLine = `${continuationIndent}${chunk}`;
|
|
5062
|
-
}
|
|
5063
|
-
// Track cursor position
|
|
5064
|
-
if (!foundCursor) {
|
|
5065
|
-
const chunkStart = lineStartChar + (line.length - remaining.length - chunk.length);
|
|
5066
|
-
const chunkEnd = chunkStart + chunk.length;
|
|
5067
|
-
if (this.cursor >= chunkStart && this.cursor <= chunkEnd) {
|
|
5068
|
-
cursorLine = result.length;
|
|
5069
|
-
const offsetInChunk = this.cursor - chunkStart;
|
|
5070
|
-
cursorCol = ((isFirstLogicalLine && isFirstDisplayLine) ? promptWidth : continuationWidth) + offsetInChunk;
|
|
5071
|
-
foundCursor = true;
|
|
5072
|
-
}
|
|
5073
|
-
}
|
|
5074
|
-
result.push(displayLine);
|
|
5075
|
-
isFirstDisplayLine = false;
|
|
5076
|
-
// If nothing left and this was an empty line, we already added it
|
|
5077
|
-
if (remaining.length === 0 && chunk.length === 0)
|
|
5078
|
-
break;
|
|
5079
|
-
}
|
|
5080
|
-
totalChars += line.length + 1; // +1 for the newline separator
|
|
5081
|
-
}
|
|
5082
|
-
// Handle cursor at very end
|
|
5083
|
-
if (!foundCursor) {
|
|
5084
|
-
cursorLine = Math.max(0, result.length - 1);
|
|
5085
|
-
const lastLine = result[cursorLine] ?? '';
|
|
5086
|
-
cursorCol = this.visibleLength(lastLine);
|
|
5087
|
-
}
|
|
5088
|
-
// Add cursor highlight to the appropriate position
|
|
5089
|
-
if (result.length > 0) {
|
|
5090
|
-
const targetLine = result[cursorLine] ?? '';
|
|
5091
|
-
const visiblePart = this.stripAnsi(targetLine);
|
|
5092
|
-
const cursorPos = Math.min(cursorCol, visiblePart.length);
|
|
5093
|
-
// Rebuild the line with cursor highlight
|
|
5094
|
-
const before = visiblePart.slice(0, cursorPos);
|
|
5095
|
-
const at = visiblePart.charAt(cursorPos) || ' ';
|
|
5096
|
-
const after = visiblePart.slice(cursorPos + 1);
|
|
5097
|
-
// Preserve the prompt/indent styling
|
|
5098
|
-
const prefix = cursorLine === 0 ? prompt : continuationIndent;
|
|
5099
|
-
const textPart = cursorLine === 0 ? before.slice(promptWidth) : before.slice(continuationWidth);
|
|
5100
|
-
result[cursorLine] = `${prefix}${textPart}${ESC.REVERSE}${at}${ESC.RESET}${after}`;
|
|
5101
|
-
}
|
|
5102
|
-
// Store cursor column for terminal positioning
|
|
5103
|
-
this.cursorVisibleColumn = cursorCol + 1;
|
|
5104
|
-
return result.join('\n');
|
|
5105
|
-
}
|
|
5106
5131
|
buildInputWindow(available) {
|
|
5107
5132
|
if (available <= 0) {
|
|
5108
5133
|
return { text: '', cursor: 0 };
|
|
@@ -5282,6 +5307,7 @@ export class UnifiedUIRenderer extends EventEmitter {
|
|
|
5282
5307
|
this.buffer = '';
|
|
5283
5308
|
this.cursor = 0;
|
|
5284
5309
|
this.inputRenderOffset = 0;
|
|
5310
|
+
this.inputLineViewportOffset = 0; // Reset vertical viewport
|
|
5285
5311
|
this.suggestions = [];
|
|
5286
5312
|
this.suggestionIndex = -1;
|
|
5287
5313
|
this.renderPrompt();
|