summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/atCommandProcessor.ts
AgeCommit message (Collapse)Author
2025-08-20Fixing at command race condition (#6663)Victor May
2025-08-19Remove unnecessary promiuse usage. (#6585)Tommaso Sciortino
2025-08-17chore(compiler): Enable strict property access TS compiler flag. (#6255)Richie Foreman
Co-authored-by: Jacob Richman <[email protected]>
2025-08-06feat(core): Introduce `DeclarativeTool` and `ToolInvocation`. (#5613)joshualitt
2025-08-04feat(cli): Handle Punctuation in @ Command Parsing (#5482)Sandy Tao
2025-07-30feat: Multi-Directory Workspace Support (part1: add `--include-directories` ↵Yuki Okita
option) (#4605) Co-authored-by: Allen Hutchison <[email protected]>
2025-07-23Fix windows bugs in atCommandProcessor.ts (#4684)Tommaso Sciortino
2025-07-20feat: full implementation for .geminiignore in settings and respective tool ↵Pyush Sinha
calls (#3727)
2025-07-07@file don't respect config respectGitIgnore=false (#3382) (#3387)zfflxx
Co-authored-by: Ryan Fang <[email protected]>
2025-06-25fix: prepublish changes to package names (#1420)Brandon Keiji
2025-06-24Bug/1369 at command recursive search (#1370)Billy Biggs
2025-06-14centralize file filtering in `FileDiscoveryService` (#1039)Anas H. Sulaiman
2025-06-12Have @ pass through images and other Part objects (#990)Seth Troisi
2025-06-12Fixed @ file content not being added or sent to server (#962)Seth Troisi
2025-06-07refactor: rename gemini-code to gemini-cli (#822)cperry-goog
2025-06-04Ignore folders files (#651)Keith Ballinger
# Add .gitignore-Aware File Filtering to gemini-cli This pull request introduces .gitignore-based file filtering to the gemini-cli, ensuring that git-ignored files are automatically excluded from file-related operations and suggestions throughout the CLI. The update enhances usability, reduces noise from build artifacts and dependencies, and provides new configuration options for fine-tuning file discovery. Key Improvements .gitignore File Filtering All @ (at) commands, file completions, and core discovery tools now honor .gitignore patterns by default. Git-ignored files (such as node_modules/, dist/, .env, and .git) are excluded from results unless explicitly overridden. The behavior can be customized via a new fileFiltering section in settings.json, including options for: Turning .gitignore respect on/off. Adding custom ignore patterns. Allowing or excluding build artifacts. Configuration & Documentation Updates settings.json schema extended with fileFiltering options. Documentation updated to explain new filtering controls and usage patterns. Testing New and updated integration/unit tests for file filtering logic, configuration merging, and edge cases. Test coverage ensures .gitignore filtering works as intended across different workflows. Internal Refactoring Core file discovery logic refactored for maintainability and extensibility. Underlying tools (ls, glob, read-many-files) now support git-aware filtering out of the box. Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-02enable async tool discovery by making the registry accessor async; remove ↵Olcan
call to discoverTools that caused duplicate discovery (#691)
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-28fix(cli): Support multiple @file references in atCommandProcessor (#590)Allen Hutchison
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-20Support Images and PDFs (#447)Jacob Richman
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-13refactor: move nested debugmessage and slashcommand hooks outside of ↵Brandon Keiji
useGeminiStream (#341)
2025-05-10Enable tools to cancel active execution.Taylor Mullen
- Plumbed abort signals through to tools - Updated the shell tool to properly cancel active requests by killing the entire child process tree of the underlying shell process and then report that the shell itself was canceled. Fixes https://b.corp.google.com/issues/416829935
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-01Support escaping spaces in file paths. (#241)Jacob Richman
2025-04-30Fix the generation of globs by using the filesystem instead of a heuristic. ↵Allen Hutchison
(#227)
2025-04-30Add @ command suggestions in the UI. (#219)Allen Hutchison
2025-04-29Add @ command handling to useGeminiStream (#217)Allen Hutchison
* First integration of at commands into useGeminiStream.ts * feat: Integrate @ command for file/directory reading - Adds support for `@<path>` commands in the CLI UI to read file or directory contents using the `read_many_files` tool. - Refactors `useGeminiStream` hook to handle slash, passthrough, and @ commands before sending queries to the Gemini API. - Improves history item ID generation to prevent React duplicate key warnings. * fix: Handle additional text after @ command path - Modifies the `@` command processor to parse text following the file/directory path (e.g., `@README.md explain this`). - Includes both the fetched file content and the subsequent text in the query sent to the Gemini API. - Resolves the TODO item in `atCommandProcessor.ts`. * feat: Allow @ command anywhere in query and fix build - Update `atCommandProcessor` to correctly parse `@<path>` commands regardless of their position in the input string using regex. This enables queries like "Explain @README.md to me". - Fix build error in `useGeminiStream` by importing the missing `findSafeSplitPoint` function. * rename isPotentiallyAtCommand to isAtCommand * respond to review comments.
2025-04-29First four independent files for @ commands. (#205)Allen Hutchison