mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-19 17:04:41 +00:00
Fix markdown streaming duplication by splitting newlines first
- Added string-width library for proper terminal column width calculation - Fixed wrapLine() to split by newlines before wrapping (like Text component) - Fixed Loader interval leak by stopping before container removal - Changed loader message from 'Loading...' to 'Working...'
This commit is contained in:
parent
985f955ea0
commit
c5083bb7cb
16 changed files with 429 additions and 372 deletions
12
packages/tui/src/utils.ts
Normal file
12
packages/tui/src/utils.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import stringWidth from "string-width";
|
||||
|
||||
/**
|
||||
* Calculate the visible width of a string in terminal columns.
|
||||
* This correctly handles:
|
||||
* - ANSI escape codes (ignored)
|
||||
* - Emojis and wide characters (counted as 2 columns)
|
||||
* - Combining characters (counted correctly)
|
||||
*/
|
||||
export function visibleWidth(str: string): number {
|
||||
return stringWidth(str);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue