Commit Graph

163 Commits

Author SHA1 Message Date
Billy Biggs
2a1ad1f5d9 Update contextFileName to support an optional list of strings (#1001) 2025-06-13 09:19:08 -07:00
Miguel Solorio
f8a31f29aa Replace logo with custom ASCII (#958) 2025-06-13 07:59:45 +00:00
Leo
1ef68e0612 feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
Abhi
dd53e5c96a Show session summary on exit for ctrl+c x 2. Fix exit UI (#963) 2025-06-11 20:08:32 -04:00
Louis Jimenez
e0f4f428fc Restore Checkpoint Feature (#934) 2025-06-11 15:33:09 -04:00
Abhi
7f1252d364 feat: Display initial token usage metrics in /stats (#879) 2025-06-09 20:25:37 -04:00
Abhi
7868ef8229 feat: Introduce session context and add session duration stat for /stats command (#854) 2025-06-08 18:01:02 -04:00
Leo
9efca40dae feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
Bryan Morgan
e95a6086fc Bryanmorgan/add mcp description support (#825) 2025-06-07 18:30:56 -04:00
cperry-goog
18d6a11c04 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Tommaso Sciortino
680f4cdd61 More version simplifiction. (#810) 2025-06-07 10:54:23 -07:00
Tommaso Sciortino
76ec9122c0 clean up version lookup code (#804) 2025-06-06 16:21:20 -07:00
Jacob Richman
4262f5b0de feat(cli): respect the NO_COLOR env variable (#772) 2025-06-06 07:55:28 -07:00
matt korwel
2f51c22141 Title & Big text Updates (#781) 2025-06-05 18:14:02 -07:00
Brandon Keiji
2285bba66e refactor: remove unnecessary useRefs (#780) 2025-06-05 21:33:24 +00:00
N. Taylor Mullen
822803d9d6 Fix "npx https:...." header issue (#759) 2025-06-05 07:00:34 +00:00
Tommaso Sciortino
4192cfb092 CLI_TITLE env var for setting the CLI title (#748) 2025-06-04 10:44:50 -07:00
N. Taylor Mullen
afc30e314f feat(accessibility): Add option to disable loading phrases (#745) 2025-06-04 07:46:57 +00:00
Marat Boshernitsan
7de790fbf2 Fix several bugs in prompt history (#734)
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-03 23:01:26 -07:00
Scott Densmore
2ab7e3da71 feat(cli): Allow custom title in CLI header (#706) 2025-06-02 17:09:55 -07:00
Tolik Malibroda
0795e55f0e feat: Add --yolo mode that automatically accepts all tools executions (#695)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-02 22:05:45 +02:00
N. Taylor Mullen
c51d6cc9d3 fix: Display MCP server count in context summary (#674) 2025-06-01 22:48:48 +00:00
N. Taylor Mullen
f2a8d39f42 refactor: Centralize tool scheduling logic and simplify React hook (#670) 2025-06-01 14:16:24 -07:00
Allen Hutchison
53bf778497 feat: allow custom filename for context files (#654)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-31 12:49:28 -07:00
Daniel Young Lee
1468047081 feat: Implement delayed Ctrl+C exit prompt
This change introduces a small delay after the first Ctrl+C press, prompting the user to press Ctrl+C again to exit. This helps prevent accidental termination of the application.

- Added `exitOnCtrlC={false}` to the Ink render options in `gemini.tsx` to enable custom Ctrl+C handling.
- Implemented logic in `App.tsx` to:
    - Display "Press Ctrl+C again to exit." for 2 seconds after the first Ctrl+C.
    - Exit the application if Ctrl+C is pressed again during this period.
    - Revert to normal operation if the second Ctrl+C is not pressed within the timeout.
- Defined a constant `CTRL_C_PROMPT_DURATION_MS` for the timeout duration.
2025-05-30 20:51:07 -07:00
Tommaso Sciortino
21fba832d1 Rename server->core (#638) 2025-05-30 18:25:47 -07:00
Jacob Richman
01768d7759 feat: add --show_memory_usage flag to display memory usage in status bar (#606) 2025-05-30 15:18:01 -07:00
Brandon Keiji
fd6f6b02ea feat: add git branch name to footer (#589) 2025-05-28 16:30:05 -07:00
Jacob Richman
00805cb2cd Cleanup: Remove low value StreamingContextType interface. (#585) 2025-05-28 12:46:08 -07:00
Taylor Mullen
e297b56390 feat: Add GEMINI.md tip to UI
- 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-24 12:40:06 -07:00
Jacob Richman
b4c16d1f56 Code review comment fixes and some refactors. (#525)
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-24 00:44:17 -07:00
Jacob Richman
1c3d9d7623 Make console message support more robust to logging in the middle of rendering. (#521) 2025-05-23 22:51:47 -07:00
DeWitt Clinton
7a3a9066f9 Add additional readline-like keybindings. (#524)
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 22:13:57 -07:00
Jacob Richman
91ee02898a feat: Modify loading indicator to support a paused state (#506) 2025-05-23 10:25:17 -07:00
Jacob Richman
7eaf850489 Refactor: Improve console error/log display in CLI (#486) 2025-05-22 10:36:44 -07:00
Brandon Keiji
02eec5c8ca feat: useToolScheduler hook to manage parallel tool calls (#448) 2025-05-21 22:57:53 -07:00
Allen Hutchison
a0761f0c41 Fix: Resolve CLI version reporting in /bug command (#455) 2025-05-21 13:31:18 -07:00
Seth Troisi
cd13c5881b Add Logger for command history (#435) 2025-05-21 00:36:22 -07:00
Jacob Richman
02ab0c234c Merge InputPrompt and multiline-editor and move autocomplete logic directly into InputPrompt (#453) 2025-05-20 16:50:32 -07:00
Olcan
26add7b078 fix system override indicator (#450) 2025-05-20 12:24:20 -07:00
DeWitt Clinton
ee702c3139 Implement additional readline-like keybindings, including alt-left arrow and 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-20 10:12:07 -07:00
Taylor Mullen
6ca446bded fix(cli): Prevent truncation of first character in shell commands
- 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-20 00:23:12 -07:00
Olcan
9c72a3ae12 ui tweaks (#442) 2025-05-19 16:58:57 -07:00
Taylor Mullen
323b1298f9 fix: Ensure user written ! is treated opaquely if not in shell mode\n\n- 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-19 16:16:47 -07:00
Taylor Mullen
cd1dc7ec59 fix(cli): Disable slash commands and suggestions in shell mode
- Prevents slash commands from being triggered and suggestions from being displayed when shell mode is active. This ensures that user input is correctly interpreted as shell commands.

Fixes https://buganizer.corp.google.com/issues/418560826
2025-05-18 22:36:07 -07:00
Taylor Mullen
db93ea736b feat(cli): Add ShellModeIndicator component
This commit introduces a new ShellModeIndicator component to visually signify when shell mode is active.

- Displays "shell mode enabled (! to toggle)" in the UI.
- The AutoAcceptIndicator is now hidden when shell mode is active to prevent UI clutter.
2025-05-18 22:18:49 -07:00
Taylor Mullen
e4d978da7c feat(cli): Introduce toggleable shell mode with enhanced UI
- 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-18 01:25:50 -07:00
Taylor Mullen
0d4e0fe647 fix(cli): Remove duplicate auto-accept indicator
- The auto-accept edits indicator was appearing in two places:
  once next to the loading indicator and again in the CWD bar.
- This was introduced when the CWD bar was made always visible.
- This commit removes the duplicate indicator, leaving only the one
  in the CWD bar.

Fixes https://b.corp.google.com/issues/418498237
2025-05-18 00:31:55 -07:00
Taylor Mullen
5bddf40fd1 fix: Ensure CWD and auto-accept indicator are always visible
- This commit addresses an issue where the Current Working Directory (CWD) and the auto-accept indicator were not consistently visible, especially when tool confirmations were displayed.
- Previously, the CWD could be hidden during tool confirmation prompts, potentially leading to confusion about the context in which Gemini CLI was operating.

Fixes https://b.corp.google.com/issues/414289185
2025-05-17 22:50:06 -07:00
Taylor Mullen
aca27709df feat: Add auto-accept indicator and toggle
- This commit introduces a visual indicator in the CLI to show when auto-accept for tool confirmations is enabled. Users can now also toggle this setting on/off using Shift + Tab.
- This addresses user feedback for better visibility and control over the auto-accept feature, improving the overall user experience.
- This behavior is similar to Claude Code, providing a familiar experience for users transitioning from that environment.
- Added tests for the new auto indicator hook.

Fixes https://b.corp.google.com/issues/413740468
2025-05-17 22:27:22 -07:00