summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/App.tsx
AgeCommit message (Collapse)Author
2025-05-15refactor: remove unused props clearItems, openThemeDialog, onSubmit (#357)Brandon Keiji
2025-05-14Run console.clear() in handleClearScreen when invoked by Ctrl-L. (#356)DeWitt Clinton
Copied from sethtroisi@'s identical improvement to /clear in change #355.
2025-05-14Add readline-like keybindings to the input prompts. (#354)DeWitt Clinton
New keybindings in the main input prompt (when auto-suggestions are not active): - `Ctrl+L`: Clears the entire screen. - `Ctrl+A`: Moves the cursor to the beginning of the current input line. - `Ctrl+E`: Moves the cursor to the end of the current input line. - `Ctrl+P`: Navigates to the previous command in the input history. - `Ctrl+N`: Navigates to the next command in the input history. In the multiline text editor (e.g., when editing a previous message): - `Ctrl+K`: Deletes text from the current cursor position to the end of the line ("kill line right").
2025-05-14Refactor: Move GEMINI.md file count to Footer (#351)Allen Hutchison
2025-05-14Improvements to suggestions & slash commands (#344)Miguel Solorio
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-14Add UI memory indicator. (#348)Allen Hutchison
Co-authored-by: Gregory Shikhman <[email protected]>
2025-05-14This commit introduces the hierarchical memory feature, allowing GEMI… (#327)Allen Hutchison
2025-05-13fix: pass startup warnings to app as prop (#342)Brandon Keiji
2025-05-13refactor: move nested debugmessage and slashcommand hooks outside of ↵Brandon Keiji
useGeminiStream (#341)
2025-05-13First step refactoring InputPrompt (#335)Jacob Richman
2025-05-13Multiline editor (#302)Jacob Richman
Co-authored-by: Taylor Mullen <[email protected]>
2025-05-13Allow users to cancel out of theme selector (#310)Miguel Solorio
2025-05-08Fix: Prevent CLI from crashing when a configured theme is not foundAmir Hardon
Previously, if a theme specified in the user's settings was not found, the CLI would crash during startup. This was particularly affecting users upgrading from older versions as the "ANSI colors only" theme was renamed to "ANSI". This commit adds error handling to catch the theme not found error during initial loading and when setting themes later. Instead of crashing, the application now logs a warning, displays an error message in the UI, and opens the theme selection dialog to allow the user to choose a valid theme.
2025-05-07Fix flicker in iterm2 (#266)Tae Hyung Kim
2025-05-07Refactor: Enhance @-command, Autocomplete, and Input Stability (#279)Allen Hutchison
2025-05-06refactor(cli): Centralize history management via useHistoryManager hook (#261)Allen Hutchison
2025-05-06fix: use flat config for react eslint plugin (#265)Brandon Keiji
2025-05-05Move Intro to Help and only display after help command.Seth Troisi
2025-05-05Have /clear clear <Static> content by remounting (#250)Seth Troisi
2025-05-02Add autocomplete for slash commandsSeth Troisi
2025-05-01Save settings to ~/.gemini/settings.json and optionally ↵Jacob Richman
/your/workspace/.gemini/settings.json (#237)
2025-04-30Moved theme to slashCommandSeth Troisi
2025-04-30Add @ command suggestions in the UI. (#219)Allen Hutchison
2025-04-29Add Intro text with list of /commandsSeth Troisi
2025-04-29Add intro with some abilities and commandsSeth Troisi
2025-04-27Allow tool groups + following content to be updateable.Taylor Mullen
- I found that when there are fast transactions that update our tool group history at times promoting a tool group into the static container can result in bleeding. As a temporary fix for this (not a react Guru) I'm increasing the # of items to be 2 as updateable if a tool group is close to the end.
2025-04-26feat: Fix flickering in iTerm + scrolling + performance issues.Taylor Mullen
- Refactors history display using Ink's <Static> component to prevent flickering and improve performance by rendering completed items statically. - Introduces ConsolePatcher component to capture and display console.log, console.warn, and console.error output within the Ink UI, addressing native handling issues. - Introduce a new content splitting mechanism to work better for static items. Basically when content gets too long we will now split content into multiple blocks for Gemini messages to ensure that we can statically cache larger pieces of history. Fixes: - https://b.corp.google.com/issues/411450097 - https://b.corp.google.com/issues/412716309
2025-04-25fix: remove extra initError (#173)Brandon Keiji
2025-04-24Add a theme preview and update the theme when highlight changes. (#151)Jacob Richman
2025-04-23feat: add CLI version number to footer (#134)Brandon Keiji
2025-04-22Add theming support.Taylor Mullen
- Added a number of common themes to our support matrix: - AtomOneDark - Dracula - VS - GitHub - GoogleCode - XCode - ... Admittedly these all were randomly picked, we could probably curate these better... - Added a new `ThemeDialog` UI that can be accessed via `/theme`. It shows your currentlyt available themes and allows you to change them freely. It does **not**: - Save the theme between sessions - Allow you to hit escape - Show a preview prior to selection. - These themes are from reacts highlight js library. Fixes https://b.corp.google.com/issues/412797985
2025-04-22Initiate the GeminiClient with a configJaana Dogan
Also address the open readability improvement comments from #104.
2025-04-21env var to set default model, display model on lower right (#110)Olcan
2025-04-21Piped input (#104)Allen Hutchison
* New method for handling stdin. Bypass Ink, and output to stdout. Makes the CLI work like a typical Unix application when called with piped input. * Fixing a few post-merge errors. * Format code. * Clean up lint and format errors.
2025-04-21Remove gemini-stream.ts (#84)Jaana Dogan
This module is no longer needed and the types can be provided from types.
2025-04-21Fix confirmations.Taylor Mullen
- This fixes what it means to get confirmations in GC. Prior to this they had just been accidentally unwired as part of all of the refactorings to turns + to server/core. - The key piece of this is that we wrap the onConfirm in the gemini stream hook in order to resubmit function responses. This isn't 100% ideal but gets the job done for now. - Fixed history not updating properly with confirmations. Fixes https://b.corp.google.com/issues/412323656
2025-04-20Make model-generated code copyable (#70)Juliette Love
2025-04-20Adds shell command allowlist (#68)Juliette Love
* Wire through passthrough commands * Add default passthrough commands * Clean up config passing to useGeminiStream
2025-04-20Simple debug mode for CLI side (#66)Juliette Love
* Adds debug mode config flag. * Wire through debug lines * Add debug mode logging example * Run format * Run format again
2025-04-19Give Gemini Code a face lift.Taylor Mullen
- This utilizes `ink-gradient` to render GEMINI CODE in amazing colors. - Added a shared color configuration for UX (should this be in config?). It's very possible that we shouldn't be talking about the specific colors and instead be mentioning "foreground"/"background"/inlineCode etc. type colors. - Updated existing color usages to utilize `Colors.*` Fixes https://b.corp.google.com/issues/411385593
2025-04-19Starting to modularize into separate cli / server packages. (#55)Evan Senter
* Starting to move a lot of code into packages/server * More of the massive refactor, builds and runs, some issues though. * Fixing outstanding issue with double messages. * Fixing a minor UI issue. * Fixing the build post-merge. * Running formatting. * Addressing comments.
2025-04-19Fix the double warning for iterm. (#51)Allen Hutchison
2025-04-19Adding in a history buffer (#38)Evan Senter
Up and down arrows traverse the command history.
2025-04-18Add apache2 SPDX headers to all source files (#48)Tyler
2025-04-18Fix remaining tslint errors (YAY).Taylor Mullen
- Also updated ci.yml to ensure that linting failures will break the build. Fully fixes https://b.corp.google.com/issues/411384603
2025-04-18Iterm refactor (#33)Allen Hutchison
* Add a warning about the flickering in iTerm. * Move the iterm warning out of App.tsx.
2025-04-18Add a warning about the flickering in iTerm. (#32)Allen Hutchison
2025-04-18Warn if `npm run start` is out of date. (#20)Evan Senter
* Adding some wiring to allow the Ink app to warn if there are local development changes that haven't been captured in the recent build of the Gemini CLI. * Adding a new useAppEffects.ts file that wores some useEffect handlers in. * Updating package-lock.json to resolve `npm ci` issues. * Updating package-lock.json and package.json to resolve `npm ci` issues.
2025-04-18Revert "Adding some wiring to allow the Ink app to warn if there are local ↵Evan Senter
development changes that haven't been captured in the recent build of the Gemini CLI." This reverts commit 1bfc62dcc2c10e962d4a67009027b7187e690d03.
2025-04-18Revert "Adding support for up / down arrows in the command history."Evan Senter
This reverts commit 3829ac635307a77a1af0141c2db7f4135c74fcf6.