erosolar-cli 1.7.351 → 1.7.353
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/dist/shell/interactiveShell.js +1 -1
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +8 -4
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +120 -112
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +2 -6
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/subagents/taskRunner.d.ts.map +1 -1
- package/dist/subagents/taskRunner.js +25 -7
- package/dist/subagents/taskRunner.js.map +1 -1
- package/package.json +1 -1
|
@@ -125,8 +125,8 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
125
125
|
*/
|
|
126
126
|
disableMouseTracking(): void;
|
|
127
127
|
/**
|
|
128
|
-
* Process raw terminal data (handles bracketed paste sequences and
|
|
129
|
-
* Returns true if the data was consumed (paste sequence)
|
|
128
|
+
* Process raw terminal data (handles bracketed paste sequences, mouse events, and escape sequences)
|
|
129
|
+
* Returns true if the data was consumed (paste sequence, mouse event, etc.)
|
|
130
130
|
*/
|
|
131
131
|
processRawData(data: string): {
|
|
132
132
|
consumed: boolean;
|
|
@@ -430,8 +430,12 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
430
430
|
*/
|
|
431
431
|
private toggleScrollbackMode;
|
|
432
432
|
/**
|
|
433
|
-
* Render the scrollback buffer view
|
|
434
|
-
*
|
|
433
|
+
* Render the scrollback buffer view with enhanced visuals
|
|
434
|
+
* Features:
|
|
435
|
+
* - Visual scroll position indicator
|
|
436
|
+
* - Progress bar showing position in history
|
|
437
|
+
* - Keyboard navigation hints
|
|
438
|
+
* - Animated indicators
|
|
435
439
|
*/
|
|
436
440
|
private renderScrollbackView;
|
|
437
441
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuD3C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAWD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAGvD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAqB;IAGjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAG1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,cAAc,CAAa;IAGnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAkB;IAGrC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,2BAA2B,CAAc;IAGjD,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,iBAAiB,CAAuB;IAGhD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,oBAAoB,CAAa;IAGzC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,uBAAuB,CAAe;IAC9C,OAAO,CAAC,oBAAoB,CAA8C;gBAGxE,WAAW,GAAE,MAAM,CAAC,WAA4B,EAChD,MAAM,GAAE,mBAAwB;IAiBlC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAM7B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAM3B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,8 +173,8 @@ export class TerminalInput extends EventEmitter {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
|
-
* Process raw terminal data (handles bracketed paste sequences and
|
|
177
|
-
* Returns true if the data was consumed (paste sequence)
|
|
176
|
+
* Process raw terminal data (handles bracketed paste sequences, mouse events, and escape sequences)
|
|
177
|
+
* Returns true if the data was consumed (paste sequence, mouse event, etc.)
|
|
178
178
|
*/
|
|
179
179
|
processRawData(data) {
|
|
180
180
|
// Check for mouse events (SGR mode: \x1b[<button;x;yM or m)
|
|
@@ -190,6 +190,14 @@ export class TerminalInput extends EventEmitter {
|
|
|
190
190
|
const remaining = data.slice(mouseEventEnd);
|
|
191
191
|
return { consumed: true, passthrough: remaining };
|
|
192
192
|
}
|
|
193
|
+
// Filter out arrow key escape sequences (they're handled by keypress events)
|
|
194
|
+
// Arrow keys: \x1b[A (up), \x1b[B (down), \x1b[C (right), \x1b[D (left)
|
|
195
|
+
const arrowMatch = data.match(/\x1b\[[ABCD]/);
|
|
196
|
+
if (arrowMatch) {
|
|
197
|
+
// Arrow keys should be handled by keypress handler, strip them from passthrough
|
|
198
|
+
const filtered = data.replace(/\x1b\[[ABCD]/g, '');
|
|
199
|
+
return { consumed: filtered.length !== data.length, passthrough: filtered };
|
|
200
|
+
}
|
|
193
201
|
// Check for paste start
|
|
194
202
|
if (data.includes(ESC.PASTE_START)) {
|
|
195
203
|
this.isPasting = true;
|
|
@@ -694,129 +702,112 @@ export class TerminalInput extends EventEmitter {
|
|
|
694
702
|
*/
|
|
695
703
|
buildModeControls(cols) {
|
|
696
704
|
const width = Math.max(8, cols - 2);
|
|
697
|
-
const
|
|
698
|
-
|
|
699
|
-
|
|
705
|
+
const lines = [];
|
|
706
|
+
// === LINE 1: STATUS AND CONTEXT ===
|
|
707
|
+
const statusParts = [];
|
|
708
|
+
// Streaming indicator
|
|
700
709
|
if (this.streamingLabel) {
|
|
701
|
-
|
|
710
|
+
statusParts.push({ text: `◐ ${this.streamingLabel}`, tone: 'info' });
|
|
702
711
|
}
|
|
703
712
|
// Override status (warnings, errors)
|
|
704
713
|
if (this.overrideStatusMessage) {
|
|
705
|
-
|
|
714
|
+
statusParts.push({ text: `⚠ ${this.overrideStatusMessage}`, tone: 'warn' });
|
|
706
715
|
}
|
|
707
716
|
// Main status message
|
|
708
717
|
if (this.statusMessage) {
|
|
709
|
-
|
|
718
|
+
statusParts.push({ text: this.statusMessage, tone: this.streamingLabel ? 'muted' : 'info' });
|
|
710
719
|
}
|
|
711
|
-
// === SCROLLBACK INDICATOR ===
|
|
712
|
-
if (this.isInScrollbackMode && this.scrollbackOffset > 0) {
|
|
713
|
-
const scrollInfo = `↑${this.scrollbackOffset}`;
|
|
714
|
-
leftParts.push({ text: scrollInfo, tone: 'info' });
|
|
715
|
-
// Show scrollback help hint
|
|
716
|
-
leftParts.push({ text: `${this.formatHotkey('alt+s')}exit`, tone: 'muted' });
|
|
717
|
-
}
|
|
718
|
-
// === KEYBOARD SHORTCUTS ===
|
|
719
|
-
// Interrupt shortcut (during streaming)
|
|
720
|
-
if (this.mode === 'streaming' || this.scrollRegionActive) {
|
|
721
|
-
leftParts.push({ text: `${this.formatHotkey('esc')} stop`, tone: 'warn' });
|
|
722
|
-
}
|
|
723
|
-
// Edit mode toggle (Shift+Tab)
|
|
724
|
-
const editHotkey = this.formatHotkey('shift+tab');
|
|
725
|
-
const editIcon = this.editMode === 'display-edits' ? '✓' : '?';
|
|
726
|
-
const editLabel = this.editMode === 'display-edits' ? 'edits:auto' : 'edits:ask';
|
|
727
|
-
const editTone = this.editMode === 'display-edits' ? 'success' : 'muted';
|
|
728
|
-
leftParts.push({ text: `${editHotkey}${editIcon}${editLabel}`, tone: editTone });
|
|
729
|
-
// Verification toggle (Alt+V)
|
|
730
|
-
const verifyIcon = this.verificationEnabled ? '✓' : '○';
|
|
731
|
-
const verifyHotkey = this.formatHotkey(this.verificationHotkey || 'alt+v');
|
|
732
|
-
const verifyLabel = this.verificationEnabled ? 'verify' : 'no-verify';
|
|
733
|
-
leftParts.push({ text: `${verifyHotkey}${verifyIcon}${verifyLabel}`, tone: this.verificationEnabled ? 'success' : 'muted' });
|
|
734
|
-
// Auto-continue toggle (Alt+C)
|
|
735
|
-
const autoIcon = this.autoContinueEnabled ? '↻' : '○';
|
|
736
|
-
const continueHotkey = this.formatHotkey(this.autoContinueHotkey || 'alt+c');
|
|
737
|
-
const continueLabel = this.autoContinueEnabled ? 'auto' : 'manual';
|
|
738
|
-
leftParts.push({ text: `${continueHotkey}${autoIcon}${continueLabel}`, tone: this.autoContinueEnabled ? 'info' : 'muted' });
|
|
739
|
-
// Thinking mode toggle (if available)
|
|
740
|
-
if (this.thinkingModeLabel) {
|
|
741
|
-
const thinkingHotkey = this.formatHotkey(this.thinkingHotkey || '/thinking');
|
|
742
|
-
rightParts.push({ text: `${thinkingHotkey}◐${this.thinkingModeLabel}`, tone: 'info' });
|
|
743
|
-
}
|
|
744
|
-
// === CONTEXTUAL INFO ===
|
|
745
720
|
// Queued commands
|
|
746
721
|
if (this.queue.length > 0) {
|
|
747
|
-
|
|
748
|
-
leftParts.push({ text: `${queueIcon}${this.queue.length}queued`, tone: 'info' });
|
|
749
|
-
}
|
|
750
|
-
// Scrollback buffer size (when significant)
|
|
751
|
-
if (this.scrollbackBuffer.length > 100 && !this.isInScrollbackMode) {
|
|
752
|
-
const bufferHint = `${this.formatHotkey('alt+s')}↕${Math.floor(this.scrollbackBuffer.length / 100) * 100}+L`;
|
|
753
|
-
rightParts.push({ text: bufferHint, tone: 'muted' });
|
|
754
|
-
}
|
|
755
|
-
// Multi-line indicator
|
|
756
|
-
if (this.buffer.includes('\n')) {
|
|
757
|
-
const lineCount = this.buffer.split('\n').length;
|
|
758
|
-
rightParts.push({ text: `${lineCount}L`, tone: 'muted' });
|
|
759
|
-
}
|
|
760
|
-
// Paste indicator
|
|
761
|
-
if (this.pastePlaceholders.length > 0) {
|
|
762
|
-
const latest = this.pastePlaceholders[this.pastePlaceholders.length - 1];
|
|
763
|
-
rightParts.push({
|
|
764
|
-
text: `paste#${latest.id}+${latest.lineCount}L`,
|
|
765
|
-
tone: 'info',
|
|
766
|
-
});
|
|
722
|
+
statusParts.push({ text: `⏳${this.queue.length} queued`, tone: 'info' });
|
|
767
723
|
}
|
|
768
|
-
// Context remaining
|
|
724
|
+
// Context remaining
|
|
769
725
|
const contextRemaining = this.computeContextRemaining();
|
|
770
726
|
if (contextRemaining !== null) {
|
|
771
727
|
const tone = contextRemaining <= 10 ? 'warn' : contextRemaining <= 30 ? 'info' : 'muted';
|
|
772
728
|
const icon = contextRemaining <= 10 ? '⚠' : '⊛';
|
|
773
|
-
|
|
774
|
-
? `${icon}compact!`
|
|
775
|
-
: `${icon}${contextRemaining}%`;
|
|
776
|
-
rightParts.push({ text: label, tone });
|
|
729
|
+
statusParts.push({ text: `${icon}${contextRemaining}% ctx`, tone });
|
|
777
730
|
}
|
|
778
|
-
// Model
|
|
731
|
+
// Model info
|
|
779
732
|
if (this.modelLabel && !this.streamingLabel) {
|
|
780
|
-
|
|
781
|
-
rightParts.push({ text: shortModel, tone: 'muted' });
|
|
733
|
+
statusParts.push({ text: this.modelLabel, tone: 'muted' });
|
|
782
734
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
const merged = rightParts.length ? [...leftParts, ...rightParts] : leftParts;
|
|
786
|
-
return renderStatusLine(merged, width);
|
|
735
|
+
if (statusParts.length > 0) {
|
|
736
|
+
lines.push(renderStatusLine(statusParts, width));
|
|
787
737
|
}
|
|
788
|
-
|
|
789
|
-
const
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
738
|
+
// === LINE 2: ALL KEYBOARD SHORTCUTS ===
|
|
739
|
+
const shortcutParts = [];
|
|
740
|
+
// Interrupt (during streaming)
|
|
741
|
+
if (this.mode === 'streaming' || this.scrollRegionActive) {
|
|
742
|
+
shortcutParts.push({ text: `[Esc] stop`, tone: 'warn' });
|
|
743
|
+
}
|
|
744
|
+
// Edit mode toggle
|
|
745
|
+
const editIcon = this.editMode === 'display-edits' ? '✓' : '?';
|
|
746
|
+
shortcutParts.push({
|
|
747
|
+
text: `[Shift+Tab] edits:${this.editMode === 'display-edits' ? 'auto' : 'ask'}${editIcon}`,
|
|
748
|
+
tone: this.editMode === 'display-edits' ? 'success' : 'muted'
|
|
749
|
+
});
|
|
750
|
+
// Verification toggle
|
|
751
|
+
const verifyIcon = this.verificationEnabled ? '✓' : '○';
|
|
752
|
+
shortcutParts.push({
|
|
753
|
+
text: `[Alt+V] verify${verifyIcon}`,
|
|
754
|
+
tone: this.verificationEnabled ? 'success' : 'muted'
|
|
755
|
+
});
|
|
756
|
+
// Auto-continue toggle
|
|
757
|
+
const autoIcon = this.autoContinueEnabled ? '✓' : '○';
|
|
758
|
+
shortcutParts.push({
|
|
759
|
+
text: `[Alt+C] auto${autoIcon}`,
|
|
760
|
+
tone: this.autoContinueEnabled ? 'success' : 'muted'
|
|
761
|
+
});
|
|
762
|
+
// Thinking mode (if available)
|
|
763
|
+
if (this.thinkingModeLabel) {
|
|
764
|
+
shortcutParts.push({
|
|
765
|
+
text: `[Alt+T] ${this.thinkingModeLabel}`,
|
|
766
|
+
tone: 'info'
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
// Context clear
|
|
770
|
+
shortcutParts.push({ text: `[Alt+X] clear`, tone: 'muted' });
|
|
771
|
+
// Scroll navigation
|
|
772
|
+
shortcutParts.push({ text: `[PgUp/PgDn] scroll`, tone: 'muted' });
|
|
773
|
+
lines.push(renderStatusLine(shortcutParts, width));
|
|
774
|
+
return lines.join('\n');
|
|
794
775
|
}
|
|
795
776
|
formatHotkey(hotkey) {
|
|
796
777
|
const normalized = hotkey.trim().toLowerCase();
|
|
797
778
|
if (!normalized)
|
|
798
779
|
return hotkey;
|
|
799
780
|
const parts = normalized.split('+').filter(Boolean);
|
|
781
|
+
// Use readable key names instead of symbols for better terminal compatibility
|
|
800
782
|
const map = {
|
|
801
|
-
shift: '
|
|
802
|
-
sh: '
|
|
803
|
-
alt: '
|
|
804
|
-
option: '
|
|
805
|
-
opt: '
|
|
806
|
-
ctrl: '
|
|
807
|
-
control: '
|
|
808
|
-
cmd: '
|
|
809
|
-
meta: '
|
|
783
|
+
shift: 'Shift',
|
|
784
|
+
sh: 'Shift',
|
|
785
|
+
alt: 'Alt',
|
|
786
|
+
option: 'Alt',
|
|
787
|
+
opt: 'Alt',
|
|
788
|
+
ctrl: 'Ctrl',
|
|
789
|
+
control: 'Ctrl',
|
|
790
|
+
cmd: 'Cmd',
|
|
791
|
+
meta: 'Cmd',
|
|
792
|
+
esc: 'Esc',
|
|
793
|
+
escape: 'Esc',
|
|
794
|
+
tab: 'Tab',
|
|
795
|
+
return: 'Enter',
|
|
796
|
+
enter: 'Enter',
|
|
797
|
+
pageup: 'PgUp',
|
|
798
|
+
pagedown: 'PgDn',
|
|
799
|
+
home: 'Home',
|
|
800
|
+
end: 'End',
|
|
810
801
|
};
|
|
811
802
|
const formatted = parts
|
|
812
803
|
.map((part) => {
|
|
813
|
-
const
|
|
814
|
-
if (
|
|
815
|
-
return
|
|
816
|
-
return part.length === 1 ? part.toUpperCase() : part.toUpperCase();
|
|
804
|
+
const label = map[part];
|
|
805
|
+
if (label)
|
|
806
|
+
return label;
|
|
807
|
+
return part.length === 1 ? part.toUpperCase() : part.charAt(0).toUpperCase() + part.slice(1);
|
|
817
808
|
})
|
|
818
|
-
.join('');
|
|
819
|
-
return formatted
|
|
809
|
+
.join('+');
|
|
810
|
+
return `[${formatted}]`;
|
|
820
811
|
}
|
|
821
812
|
computeContextRemaining() {
|
|
822
813
|
if (this.contextUsage === null) {
|
|
@@ -982,7 +973,7 @@ export class TerminalInput extends EventEmitter {
|
|
|
982
973
|
* Calculate chat box height.
|
|
983
974
|
*/
|
|
984
975
|
getChatBoxHeight() {
|
|
985
|
-
return
|
|
976
|
+
return 7; // Fixed: meta + divider + input + status line + shortcuts line + buffer
|
|
986
977
|
}
|
|
987
978
|
/**
|
|
988
979
|
* @deprecated Use streamContent() instead
|
|
@@ -1772,8 +1763,12 @@ export class TerminalInput extends EventEmitter {
|
|
|
1772
1763
|
}
|
|
1773
1764
|
}
|
|
1774
1765
|
/**
|
|
1775
|
-
* Render the scrollback buffer view
|
|
1776
|
-
*
|
|
1766
|
+
* Render the scrollback buffer view with enhanced visuals
|
|
1767
|
+
* Features:
|
|
1768
|
+
* - Visual scroll position indicator
|
|
1769
|
+
* - Progress bar showing position in history
|
|
1770
|
+
* - Keyboard navigation hints
|
|
1771
|
+
* - Animated indicators
|
|
1777
1772
|
*/
|
|
1778
1773
|
renderScrollbackView() {
|
|
1779
1774
|
const { rows, cols } = this.getSize();
|
|
@@ -1783,32 +1778,45 @@ export class TerminalInput extends EventEmitter {
|
|
|
1783
1778
|
try {
|
|
1784
1779
|
this.write(ESC.SAVE);
|
|
1785
1780
|
this.write(ESC.HIDE);
|
|
1786
|
-
//
|
|
1787
|
-
|
|
1781
|
+
// Clear content area
|
|
1782
|
+
for (let i = 1; i <= contentHeight; i++) {
|
|
1783
|
+
this.write(ESC.TO(i, 1));
|
|
1784
|
+
this.write(ESC.CLEAR_LINE);
|
|
1785
|
+
}
|
|
1788
1786
|
// Calculate which lines to show
|
|
1789
1787
|
const totalLines = this.scrollbackBuffer.length;
|
|
1790
1788
|
const startIdx = Math.max(0, totalLines - this.scrollbackOffset - contentHeight);
|
|
1791
1789
|
const endIdx = Math.max(0, totalLines - this.scrollbackOffset);
|
|
1792
1790
|
const visibleLines = this.scrollbackBuffer.slice(startIdx, endIdx);
|
|
1793
|
-
//
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1791
|
+
// Build header bar with navigation hints
|
|
1792
|
+
const headerInfo = this.buildScrollbackHeader(cols, totalLines, startIdx, endIdx);
|
|
1793
|
+
this.write(ESC.TO(1, 1));
|
|
1794
|
+
this.write(headerInfo);
|
|
1795
|
+
// Render visible lines with line numbers and visual guides
|
|
1796
|
+
const lineNumWidth = String(totalLines).length + 1;
|
|
1797
|
+
const contentStart = 2; // Start after header
|
|
1798
|
+
for (let i = 0; i < Math.min(visibleLines.length, contentHeight - 1); i++) {
|
|
1799
|
+
const line = visibleLines[i] ?? '';
|
|
1800
|
+
const lineNum = startIdx + i + 1;
|
|
1801
|
+
this.write(ESC.TO(contentStart + i, 1));
|
|
1802
|
+
// Line number gutter
|
|
1803
|
+
const numStr = String(lineNum).padStart(lineNumWidth, ' ');
|
|
1804
|
+
this.write(theme.ui.muted(`${numStr} │ `));
|
|
1805
|
+
// Content with truncation
|
|
1806
|
+
const gutterWidth = lineNumWidth + 4;
|
|
1807
|
+
const maxLen = cols - gutterWidth - 2;
|
|
1808
|
+
const displayLine = line.length > maxLen ? line.slice(0, maxLen - 3) + '...' : line;
|
|
1809
|
+
this.write(displayLine);
|
|
1804
1810
|
}
|
|
1811
|
+
// Add visual scroll track on the right edge
|
|
1812
|
+
this.renderScrollTrack(cols, contentHeight, totalLines, startIdx, endIdx);
|
|
1805
1813
|
this.write(ESC.RESTORE);
|
|
1806
1814
|
this.write(ESC.SHOW);
|
|
1807
1815
|
}
|
|
1808
1816
|
finally {
|
|
1809
1817
|
writeLock.unlock();
|
|
1810
1818
|
}
|
|
1811
|
-
// Re-render chat box
|
|
1819
|
+
// Re-render chat box
|
|
1812
1820
|
this.forceRender();
|
|
1813
1821
|
}
|
|
1814
1822
|
/**
|