Skip to content

Commit cfd7541

Browse files
authored
fix(cli): allow output redirection for cli commands (google-gemini#25894)
1 parent c4b38a5 commit cfd7541

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

packages/cli/src/gemini.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,8 @@ export async function main() {
358358

359359
const isDebugMode = cliConfig.isDebugMode(argv);
360360
const consolePatcher = new ConsolePatcher({
361-
stderr: true,
362-
interactive: isHeadlessMode() ? false : true,
361+
stderr: argv.isCommand ? false : true,
362+
interactive: isHeadlessMode() && !argv.isCommand ? false : true,
363363
debugMode: isDebugMode,
364364
onNewMessage: (msg) => {
365365
coreEvents.emitConsoleLog(msg.type, msg.content);
@@ -786,20 +786,16 @@ export function initializeOutputListenersAndFlush() {
786786
if (coreEvents.listenerCount(CoreEvent.ConsoleLog) === 0) {
787787
coreEvents.on(CoreEvent.ConsoleLog, (payload: ConsoleLogPayload) => {
788788
if (payload.type === 'error' || payload.type === 'warn') {
789-
writeToStderr(payload.content);
789+
writeToStderr(payload.content + '\n');
790790
} else {
791-
writeToStdout(payload.content);
791+
writeToStderr(payload.content + '\n');
792792
}
793793
});
794794
}
795795

796796
if (coreEvents.listenerCount(CoreEvent.UserFeedback) === 0) {
797797
coreEvents.on(CoreEvent.UserFeedback, (payload: UserFeedbackPayload) => {
798-
if (payload.severity === 'error' || payload.severity === 'warning') {
799-
writeToStderr(payload.message);
800-
} else {
801-
writeToStdout(payload.message);
802-
}
798+
writeToStderr(payload.message + '\n');
803799
});
804800
}
805801
}

0 commit comments

Comments
 (0)