Commit Graph

38 Commits

Author SHA1 Message Date
Pascal Birchler a97a6cc71b Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
Ayesha Shafique f83b8a881c feat: Add reverse search capability for shell commands (#4793) 2025-08-03 19:53:24 +00:00
Sandy Tao cb2aaa9c55 feat(core): Use completionStart/End for slash command auto-completion (#5374) 2025-08-01 18:51:38 +00:00
Sandy Tao 43810c2fd4 feat(cli): Improve @ autocompletion for mid-sentence edits (#5321) 2025-07-31 23:07:12 +00:00
Yuki Okita 2d6318d9d0 feat: Multi-Directory Workspace Support (part1: add --include-directories option) (#4605)
Co-authored-by: Allen Hutchison <adh@google.com>
2025-07-30 20:38:20 +00:00
christine betts bf7da82d05 Load and use MCP server prompts as slash commands in the CLI (#4828)
Co-authored-by: harold <haroldmciver@google.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-25 20:56:33 +00:00
Tommaso Sciortino 6776bed576 Make useCompletion.test.ts windows compatible (#4766) 2025-07-25 17:32:59 +00:00
Sandy Tao f9ba079747 [Refactor] Centralizes autocompletion logic within useCompletion (#4740) 2025-07-25 04:41:35 +00:00
Abhi 01aab21093 prefactor(commands): Command Service Prefactor for Extensible Commands (#4511) 2025-07-20 20:57:34 +00:00
Pyush Sinha 612b6ba9b1 feat: full implementation for .geminiignore in settings and respective tool calls (#3727) 2025-07-20 07:55:33 +00:00
Harold Mciver 818c40897e feat(cli): allow executing commands on perfect match (#4397)
Co-authored-by: Jenna Inouye <jinouye@google.com>
2025-07-18 04:55:29 +00:00
Lee Won Jun cb6ef1ac8d Improve altName completion behavior in slash commands (#4227)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-15 23:45:10 +00:00
Sandy Tao 7c65d0fbaf Make @ command sort file without extension name (#4158) 2025-07-14 21:10:26 +00:00
Abhi 3227b5286f feature(commands) - Refactor Slash Command + Vision For the Future (#3175) 2025-07-07 20:45:44 +00:00
zfflxx c60a5d603c @file don't respect config respectGitIgnore=false (#3382) (#3387)
Co-authored-by: Ryan Fang <ryan.fang@gllue.com>
2025-07-07 05:48:39 +00:00
Seth Troisi 2e50b7b903 Improve slashCommand autoCompletion logic (#2776) 2025-07-01 22:51:43 +00:00
Brandon Keiji 5ad4a0a826 fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
Billy Biggs a4807bf092 Add setting enableRecursiveFileSearch to control @-file completion (#1290) 2025-06-22 01:23:35 +00:00
Anas H. Sulaiman f0e5d3e8a1 fix: regression in completion filtering (#1135) 2025-06-18 05:05:47 +00:00
Billy Biggs 69d436d754 Support completion of checkpoint names in /resume (#1063) 2025-06-15 11:40:39 -07:00
Anas H. Sulaiman 194e091d4a centralize file filtering in FileDiscoveryService (#1039) 2025-06-14 14:25:34 +00:00
DeWitt Clinton 69835ecb0b Ignore dot files on @-completion. (#978) 2025-06-12 17:04:15 +00:00
DeWitt Clinton abf623a1a9 Improve the performance of filename completion over large repositories. (#938) 2025-06-12 07:09:38 -07:00
cperry-goog a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Keith Ballinger 906f716d3e Ignore folders files (#651)
# 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 <ntaylormullen@google.com>
2025-06-04 04:40:46 +00:00
Scott Densmore c2511c8e70 Fix: Make file path case-insensitive in @-command (#659) 2025-05-31 16:19:14 -07:00
Tommaso Sciortino 64bd136f42 Rename server->core (#638) 2025-05-30 18:25:47 -07:00
DeWitt Clinton bcb134e49c Add globbing support to @-command file suggestions and resolution. (#462)
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-21 12:22:18 -07:00
DeWitt Clinton 4216ee1c1a Introduce a small easter egg. Woof. (#412)
Also changes auto-completion and /help to skip over slash commands that don't contain a description to avoid spoiling the surprise.
2025-05-17 21:57:27 -07:00
Taylor Mullen 7012c97710 fix: Ensure filename is available for diff rendering in write-file
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-16 10:13:13 -07:00
Miguel Solorio 92b4e1c342 Improvements to suggestions & slash commands (#344)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-14 16:01:29 -07:00
Allen Hutchison 5f2bc42ecf fix for b/414940078 (#306) 2025-05-09 15:38:19 -07:00
Allen Hutchison af3debc961 Refactor: Memoize hook callbacks, update dependencies, and fix lint errors (#268)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-06 14:48:49 -07:00
Seth Troisi 2ffaaca12c slash command altnames and support for ? 2025-05-05 22:33:22 +00:00
Seth Troisi d3255de6f9 Add autocomplete for slash commands 2025-05-02 20:58:53 +00:00
Jacob Richman 4808237923 Support escaping spaces in file paths. (#241) 2025-05-01 18:02:04 -07:00
Allen Hutchison 32daa97428 Add @ command suggestions in the UI. (#219) 2025-04-30 08:31:32 -07:00
Allen Hutchison 6097025c58 First four independent files for @ commands. (#205) 2025-04-29 08:29:09 -07:00