mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-16 05:03:26 +00:00
Fix edit diff line number alignment and whitespace preservation
- Fix line numbers showing incorrect values for edits far from file start (e.g., 1,2,3 instead of 336,337,338). Skip count was added after displaying lines instead of before. - Rewrite splitIntoTokensWithAnsi in pi-tui to preserve whitespace as separate tokens instead of discarding it. Wrapped lines now maintain proper alignment and code indentation. - Update mom README: rename title, remove em-dashes for cleaner prose
This commit is contained in:
parent
932f48b0e9
commit
a59553a881
5 changed files with 192 additions and 183 deletions
|
|
@ -82,6 +82,9 @@ function generateDiffString(oldContent: string, newContent: string, contextLines
|
|||
// Add ellipsis if we skipped lines at start
|
||||
if (skipStart > 0) {
|
||||
output.push(` ${"".padStart(lineNumWidth, " ")} ...`);
|
||||
// Update line numbers for the skipped leading context
|
||||
oldLineNum += skipStart;
|
||||
newLineNum += skipStart;
|
||||
}
|
||||
|
||||
for (const line of linesToShow) {
|
||||
|
|
@ -94,11 +97,10 @@ function generateDiffString(oldContent: string, newContent: string, contextLines
|
|||
// Add ellipsis if we skipped lines at end
|
||||
if (skipEnd > 0) {
|
||||
output.push(` ${"".padStart(lineNumWidth, " ")} ...`);
|
||||
// Update line numbers for the skipped trailing context
|
||||
oldLineNum += skipEnd;
|
||||
newLineNum += skipEnd;
|
||||
}
|
||||
|
||||
// Update line numbers for skipped lines
|
||||
oldLineNum += skipStart + skipEnd;
|
||||
newLineNum += skipStart + skipEnd;
|
||||
} else {
|
||||
// Skip these context lines entirely
|
||||
oldLineNum += raw.length;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue