summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/messages
AgeCommit message (Collapse)Author
2025-08-06[ide-mode] Support rendering in-IDE diffs using the edit tool (#5618)christine betts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-08-06[ide-mode] Add support for in-IDE diff handling in the CLI (#5603)christine betts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-07-31Highlight slash commands in history (#5323)Miguel Solorio
2025-07-30feat(ui): Update tool confirmation cancel button text (#4820)shamso-goog
Co-authored-by: Jacob Richman <[email protected]>
2025-07-25Safer Shell command Execution (#4795)matt korwel
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: N. Taylor Mullen <[email protected]>
2025-07-23Update diff colors (#4747)Miguel Solorio
Co-authored-by: Jacob Richman <[email protected]>
2025-07-20Feature custom themes logic (#2639)Ali Al Jufairi
Co-authored-by: Jacob Richman <[email protected]>
2025-07-19Make shell output consistent. (#4469)Jacob Richman
2025-07-17Zed integration (#4266)Conrad Irwin
Co-authored-by: Agus Zubiaga <[email protected]> Co-authored-by: Ben Brandt <[email protected]> Co-authored-by: mkorwel <[email protected]>
2025-07-05fix typos in diverse files (#3284)Didier Durand
Co-authored-by: Scott Densmore <[email protected]>
2025-06-29Highlight previous user input (#2507)Faizan Alam
Co-authored-by: Allen Hutchison <[email protected]>
2025-06-26chore: fix typos in comment-out (#1540)Noritaka Kobayashi
Co-authored-by: Scott Densmore <[email protected]>
2025-06-25fix: prepublish changes to package names (#1420)Brandon Keiji
2025-06-24Truncate all strings before displaying in a tool messages to avoid stack ↵Jacob Richman
overflows (#1395)
2025-06-24Do not render mcp responses as markdown (#1388)Sandy Tao
2025-06-22Jacob314/overflow notification and one MaxSizedBox bug fix (#1288)Jacob Richman
2025-06-19Fix flicker issues by ensuring all actively changing content fits in the ↵Jacob Richman
viewport (#1217)
2025-06-17code review followup for compress command (#1097)Jacob MacDonald
Followup to https://github.com/google-gemini/gemini-cli/pull/986
2025-06-14bug: Fix code colorizer (#1046)Leo
2025-06-14Add `/compress` command to force a compression of the context (#986)Jacob MacDonald
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-13Improvements to web-fetch tool (#1030)Allen Hutchison
2025-06-12remove enable editor flag (#984)Leo
2025-06-11feat: External editor settings (#882)Leo
2025-06-11add a unit test with multiple hunks for diff rendererAnas Sulaiman
2025-06-09Add Windsurf in edit tool to modify changes, if installed (#853)Eddie Santos
2025-06-09Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility ↵matt korwel
(#784)
2025-06-08enforce minimum lines shown/hidden (#860)Olcan
2025-06-08feat: Add flow to allow modifying edits during edit tool call (#808)Leo
2025-06-07refactor: rename gemini-code to gemini-cli (#822)cperry-goog
2025-06-05Allow themes to theme the UI (#769)Miguel Solorio
2025-06-02Color enhancements (#680)Miguel Solorio
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-30confirm mcp tool executions from untrusted servers (per "trust" setting) (#631)Olcan
2025-05-30disable markdown rendering of shell tool output (#625)Olcan
2025-05-30truncate (hide) tool output at the top, add some spacing, also fix shell ↵Olcan
output interval change accidentally undone in a previous commit (#619)
2025-05-28Cleanup: Remove low value StreamingContextType interface. (#585)Jacob Richman
2025-05-28Refactor: Add GeminiRespondingSpinner to make use of streamingState ↵Jacob Richman
idiomatic (#583)
2025-05-25Change tool call spinner to be different.Taylor Mullen
- This differentiates the tool calling spinner from one that matches the normal loading indiator to somethign a little more seamless.
2025-05-25Reduce excessive diff separators in CLI. (#535)DeWitt Clinton
Increases the threshold for rendering diff separators in the CLI's diff display. Previously, a separator was shown for gaps of more than one context line, leading to excessive separators in diffs with many small changes close together (Issue #534). By increasing `MAX_CONTEXT_LINES_WITHOUT_GAP` to 5, we allow for more context lines before a separator is added, significantly reducing visual clutter in such diffs. Added a test case to `DiffRenderer.test.tsx` to verify that separators are not rendered for small gaps within the new threshold.
2025-05-24Code review comment fixes and some refactors. (#525)Jacob Richman
No intentional different behavior aside for tweaks suggested from the code review of #506 Refactor: Extract console message logic to custom hook This commit refactors the console message handling from App.tsx into a new custom hook useConsoleMessages. This change improves the testability of the console message logic and declutters the main App component. Created useConsoleMessages.ts to encapsulate console message state and update logic. Updated App.tsx to utilize the new useConsoleMessages hook. Added unit tests for useConsoleMessages.ts to ensure its functionality. I deleted and started over on LoadingIndicator.test.tsx as I spent way too much time trying to fix it before just regenerating the tests as the code was easier to write tests for from scratch and the existing tests were not that good (I added them in the previous pull request).
2025-05-23feat: Modify loading indicator to support a paused state (#506)Jacob Richman
2025-05-23feat: add emphasis to tool confirmations (#502)Brandon Keiji
2025-05-22fix: forward entire tool call confirmation object through useToolScheduler ↵Brandon Keiji
(#481)
2025-05-21feat: useToolScheduler hook to manage parallel tool calls (#448)Brandon Keiji
2025-05-20feat: Improve diff rendering with gap indicatorsTaylor Mullen
- Adds a visual indicator for skipped lines in the diff view. - Updates tests to verify gap indicator rendering. - Adjusts line number padding for better alignment. Fixes https://b.corp.google.com/issues/414453107
2025-05-18feat(cli): Introduce toggleable shell mode with enhanced UITaylor Mullen
- Implements a toggleable shell mode, removing the need to prefix every command with `!`. - Users can now enter and exit shell mode by typing `!` as the first character in an empty input prompt. - The input prompt visually indicates active shell mode with a distinct color and `! ` prefix. - Shell command history items (`user_shell`) are now visually differentiated from regular user messages. - This provides a cleaner and more streamlined user experience for frequent shell interactions. Fixes https://b.corp.google.com/issues/418509745
2025-05-16fix: Ensure filename is available for diff rendering in write-fileTaylor Mullen
This commit resolves a bug where the `write-file` operation could fail to render content due to a missing filename. The fix involves: - Ensuring `fileName` is consistently passed to `DiffRenderer.tsx` through `ToolConfirmationMessage.tsx`, `ToolMessage.tsx`, and `useGeminiStream.ts`. - Modifying `edit.ts` and `write-file.ts` to include `fileName` in the `FileDiff` object. - Expanding the `FileDiff` interface in `tools.ts` to include `fileName`. Additionally, this commit enhances the diff rendering by: - Adding syntax highlighting based on file extension in `DiffRenderer.tsx`. - Adding more language mappings to `getLanguageFromExtension` in `DiffRenderer.tsx`. - Added lots of tests for all the above. Fixes https://b.corp.google.com/issues/418125982
2025-05-15Refactor: Improve UI rendering and address code review commentsTaylor Mullen
This commit addresses several code review comments primarily focused on improving the rendering and stability of the CLI UI. Key changes include: - Passing `isPending` and `availableTerminalHeight` props to `MarkdownDisplay` to enable more intelligent rendering of content, especially for pending messages and code blocks. - Adjusting height calculations in `ToolGroupMessage` and `ToolMessage` to more accurately reflect available space. - Refining the logic in `App.tsx` for measuring and utilizing terminal height, including renaming `footerRef` to `mainControlsRef` for clarity. - Ensuring consistent prop drilling for `isPending` and `availableTerminalHeight` through `HistoryItemDisplay`, `GeminiMessage`, and `GeminiMessageContent`. - In `MarkdownDisplay`, when `isPending` is true and content exceeds `availableTerminalHeight`, the code block will now be truncated with a "... generating more ..." message. If there's insufficient space even for the message, a simpler "... code is being written ..." will be shown.
2025-05-15Fix: Prevent UI tearing and improve display of long contentTaylor Mullen
This commit introduces several changes to better manage terminal height and prevent UI tearing, especially when displaying long tool outputs or when the pending history item exceeds the available terminal height. - Calculate and utilize available terminal height in `App.tsx`, `HistoryItemDisplay.tsx`, `ToolGroupMessage.tsx`, and `ToolMessage.tsx`. - Refresh the static display area in `App.tsx` when a pending history item is too large, working around an Ink bug (see https://github.com/vadimdemedes/ink/pull/717). - Truncate long tool output in `ToolMessage.tsx` and indicate the number of hidden lines. - Refactor `App.tsx` to correctly measure and account for footer height. Fixes https://b.corp.google.com/issues/414196943
2025-05-15Refactor: Replace MarkdownRenderer with MarkdownDisplay componentTaylor Mullen
- This commit refactors the Markdown rendering logic within the CLI UI. The existing `MarkdownRenderer.tsx` class-based component has been replaced with a new functional component `MarkdownDisplay.tsx`. - The `MarkdownDisplay` component is a React.memoized component for improved performance and maintains the same core Markdown parsing and rendering capabilities.