feat(ui): call gemini --input on user submission

This commit is contained in:
Castor Gemini 2025-08-22 10:33:05 -05:00 committed by Jeff Carr
parent a204b81e82
commit d5ebd4fa2f
1 changed files with 15 additions and 6 deletions

View File

@ -63,6 +63,7 @@ import {
type IdeContext,
ideContext,
} from '@google/gemini-cli-core';
import { execFile } from 'child_process';
import {
IdeIntegrationNudge,
IdeIntegrationNudgeResult,
@ -601,6 +602,15 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
// Input handling - queue messages for processing
const handleFinalSubmit = useCallback(
(submittedValue: string) => {
const command = '/home/jcarr/go/bin/gemini';
const args = ['--input', submittedValue];
execFile(command, args, (error, stdout, stderr) => {
if (error) {
console.error(`execFile error: ${error.message}`);
return;
}
});
addMessage(submittedValue);
},
[addMessage],
@ -635,7 +645,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
pendingHistoryItems.push(...pendingGeminiHistoryItems);
const { elapsedTime, currentLoadingPhrase } =
const { elapsedTime, currentLoadingPhrase } =
useLoadingIndicator(streamingState);
const showAutoAcceptIndicator = useAutoAcceptIndicator({ config });
@ -921,7 +931,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
*/}
<Static
key={staticKey}
items={[
items={[
<Box flexDirection="column" key="header">
{!(settings.merged.hideBanner || config.getScreenReader()) && (
<Header version={version} nightly={nightly} />
@ -1003,7 +1013,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
<Box paddingY={1}>
<RadioButtonSelect
isFocused={!!confirmationRequest}
items={[
items={[
{ label: 'Yes', value: true },
{ label: 'No', value: false },
]}
@ -1132,7 +1142,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
{messageQueue.length > MAX_DISPLAYED_QUEUED_MESSAGES && (
<Box paddingLeft={2}>
<Text dimColor>
... (+
... (+
{messageQueue.length -
MAX_DISPLAYED_QUEUED_MESSAGES}{' '}
more)
@ -1247,8 +1257,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => {
Initialization Error: {initError}
</Text>
<Text color={Colors.AccentRed}>
{' '}
Please check API key and configuration.
{' '}Please check API key and configuration.
</Text>
</>
)}