feat: separate plain output flags for stdout and stderr
This commit is contained in:
parent
9d599d98bf
commit
cdfafc9d5f
2 changed files with 23 additions and 9 deletions
|
|
@ -18,7 +18,10 @@ export default class Renderer {
|
|||
private charsSinceNL = 0;
|
||||
private memOk = true;
|
||||
|
||||
constructor(private isPlain = false) {
|
||||
constructor(
|
||||
private isPlain = false,
|
||||
private isPlainErr = false,
|
||||
) {
|
||||
process.stdout.addListener("drain", () => {
|
||||
this.memOk = true;
|
||||
});
|
||||
|
|
@ -73,25 +76,33 @@ export default class Renderer {
|
|||
`${styles.dim.open}${styles.italic.open}`,
|
||||
process.stderr,
|
||||
);
|
||||
|
||||
this.write("\n", process.stderr);
|
||||
reasoningFile.write("");
|
||||
break;
|
||||
}
|
||||
case "reasoning-delta": {
|
||||
this.write(part.text, process.stderr);
|
||||
this.checkContainment(part.text, process.stderr);
|
||||
if (!this.isPlainErr)
|
||||
this.checkContainment(part.text, process.stderr);
|
||||
reasoningWriter.write(part.text);
|
||||
break;
|
||||
}
|
||||
case "reasoning-end": {
|
||||
if (!this.isPlainErr) {
|
||||
this.moveCursor(-this.lineCount - 1, process.stderr);
|
||||
this.clearScreenDown(process.stderr);
|
||||
this.resetCounts();
|
||||
} else {
|
||||
this.write("\n--- Done Thinking ---\n", process.stderr);
|
||||
}
|
||||
|
||||
if (supportsColorStderr)
|
||||
this.write(
|
||||
`${styles.italic.close}${styles.dim.close}`,
|
||||
process.stderr,
|
||||
);
|
||||
this.moveCursor(-this.lineCount - 1, process.stderr);
|
||||
this.clearScreenDown(process.stderr);
|
||||
this.resetCounts();
|
||||
|
||||
reasoningWriter.end();
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue