summaryrefslogtreecommitdiff
path: root/packages/cli/src
AgeCommit message (Collapse)Author
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-24feat: Add GEMINI.md tip to UITaylor Mullen
- Display a tip to create a GEMINI.md file if one doesn't exist. - Pass config to Tips component so it can inspect the initial GEMINI.md count.
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-23Make console message support more robust to logging in the middle of ↵Jacob Richman
rendering. (#521)
2025-05-23Add additional readline-like keybindings. (#524)DeWitt Clinton
Adds the following conventional readline-like keybindings: - `Ctrl+H`: Delete the previous character. - `Ctrl+D`: Delete the next character. Additionally, remaps the Debug Console command from Ctrl+D to Ctrl+O, which had been first introduced in PR #486.
2025-05-23🧹 FormatMiguel Solorio
2025-05-23Update packages/cli/src/ui/types.tsMiguel Solorio
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-23Update packages/cli/src/ui/hooks/slashCommandProcessor.tsMiguel Solorio
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-23Remove CLI info from footerMiguel Solorio
2025-05-23Add `/about` commandMiguel Solorio
2025-05-23feat: Modify loading indicator to support a paused state (#506)Jacob Richman
2025-05-23Fix bug updating the cursor after navigating history. (#507)Jacob Richman
2025-05-23Refactor(server): Centralize GEMINI.md discovery logic in server (#498)Allen Hutchison
2025-05-23Refactor(cli): Move memory add logic to server tool call (#493)Allen Hutchison
2025-05-23update email to gemini-cli-dev (#510)Olcan
2025-05-23allow write to ~/.gitconfig in seatbelt profiles (#509)Olcan
2025-05-23Refactor: Update streaming state logic to hide loader during confirmationTaylor Mullen
- The streaming state logic in `useGeminiStream.ts` has been updated. - Previously, the loading indicator was displayed even when the system was waiting for user confirmation on a tool call. - This change introduces a `WaitingForConfirmation` state to ensure the loading indicator is hidden during these confirmation prompts, improving the user experience.
2025-05-23feat: add emphasis to tool confirmations (#502)Brandon Keiji
2025-05-22Refactor: Streamline memoryUtils and update slash commands (#478)Allen Hutchison
2025-05-22Fix: Prevent hang in large directories by using BFS for getFolderStru… (#470)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-22Refactor: Improve console error/log display in CLI (#486)Jacob Richman
2025-05-22fix: cancel parallel tool calls mid-execution (#489)Brandon Keiji
2025-05-22fix: synchronization between executed tools and turn loops (#488)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-21Fix: Resolve CLI version reporting in /bug command (#455)Allen Hutchison
2025-05-21use pending history item for shell mode, update as output is received (#471)Olcan
2025-05-21space outputs in shell mode (#469)Olcan
2025-05-21Add globbing support to @-command file suggestions and resolution. (#462)DeWitt Clinton
Implements recursive glob-based file search for both suggestions and execution of the `@` command. - When typing `@filename`, suggestions will now include files matching `filename` in nested directories. - Suggestions are sorted by path depth (shallowest first), then directories before files, then alphabetically. - The maximum recursion depth for suggestions is set to 10. - When executing an `@filename` command, if the file is not found directly, a recursive search (using the glob tool) is performed to locate the file. This addresses the first request in issue #461 by allowing users to quickly reference deeply nested files without typing the full path. Also addresses b/416292478.
2025-05-21feat: create tool scheduler hook (#468)Brandon Keiji
2025-05-21switch to spawn for shell mode (#467)Olcan
2025-05-21fix exit code for shell mode also (#466)Olcan
2025-05-21restore placeholder change likely dropped in a merge (#464)Olcan
2025-05-21remove outdated $ echo example from help (#463)Olcan
2025-05-21Add Logger for command history (#435)Seth Troisi
2025-05-20fix(cli): Prevent request cancellation after multiple Esc pressesTaylor Mullen
- Ensures `abortControllerRef` is reset after a request is aborted or completed. - Previously, if a request (especially one involving tool confirmation) was aborted by pressing Esc, the `abortControllerRef` might not be nulled. - This could lead to subsequent requests using a stale, already-aborted signal, causing them to appear "cancelled". - The fix unconditionally sets `abortControllerRef.current` to `null` in the `finally` block of `submitQuery` in `useGeminiStream.ts`. - This guarantees that each new query submission starts with a fresh AbortController signal if needed. - Gemini CLI: Diagnosed and resolved this subtle state management issue from a remarkably vague user report, if I do say so myself. Fixes https://buganizer.corp.google.com/issues/418496499
2025-05-20fix(cli): Handle VSCode Shift+Enter in text bufferTaylor Mullen
- The text buffer now correctly interprets `\\\r` (produced by Shift+Enter in the VSCode terminal) as a newline character. - Added a corresponding test case to `text-buffer.test.ts`. Fixes https://buganizer.corp.google.com/issues/418505364
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-20feat: Allow Esc to exit shell modeTaylor Mullen
- Update InputPrompt.tsx to handle Esc key for exiting shell mode. - Modify ShellModeIndicator.tsx to reflect the new keybinding. Fixes https://buganizer.corp.google.com/issues/419087952
2025-05-20Merge InputPrompt and multiline-editor and move autocomplete logic directly ↵Jacob Richman
into InputPrompt (#453)
2025-05-20fix HOME in sandbox on cloudtops (linux) (#454)Olcan
2025-05-20Support Images and PDFs (#447)Jacob Richman
2025-05-20fix system override indicator (#450)Olcan
2025-05-20Implement additional readline-like keybindings, including alt-left arrow and ↵DeWitt Clinton
alt-right arrow. (#443) This change adds keybinding support for: - `Ctrl+B`: Moves the cursor backward one character. - `Ctrl+F`: Moves the cursor forward one character. - `Alt+Left Arrow`: Moves the cursor backward one word. - `Alt+Right Arrow`: Moves the cursor forward one word. Closes b/411469305.
2025-05-20fix(cli): Prevent truncation of first character in shell commandsTaylor Mullen
- The shell command processor was incorrectly truncating the first character of the command (e.g., 'ls' became 's') due to an erroneous `slice(1)` operation, likely introduced during a previous merge. This change removes the slice, ensuring the full command is processed. - Introduces unit tests for the shellCommandProcessor hook. - Fixes a minor grammatical issue in the display of GEMINI.md file count.
2025-05-19ui tweaks (#442)Olcan
2025-05-19feat(cli): Implement /bug command and add open dependency (#428)Allen Hutchison
2025-05-19fix: Ensure user written `!` is treated opaquely if not in shell mode\n\n- ↵Taylor Mullen
Addresses an issue where commands prefixed with `!` (e.g., `!ls`) were incorrectly handled by the shell command processor if the `!` was added after initially typing the command.\n- Ensures that such commands are correctly forwarded to the Gemini model.\n- Updates `useGeminiStream` to be aware of shell mode to properly manage streaming state.\n\nFixes https://buganizer.corp.google.com/issues/418761305
2025-05-19switch from console.warn to info item (#440)Olcan
2025-05-19warn on cd in shell mode. done robustly based on lessons from shell tool. ↵Olcan
logs to console.warn for now, and does not restore (but see comment on how to restore) (#438)