Implement case-sensitive glob search toggle with Ctrl+I shortcut #293
+99
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds the ability to toggle between case-sensitive and case-insensitive glob search using the
Ctrl+Ikey combination, following the same convention as popular pager programs likelessandmore.Problem
Users frequently need to search for paths that differ only in case, such as distinguishing between Rust's
targetdirectory and LLVM'sTargetdirectory. The existing glob search was always case-insensitive, making it impossible to filter results precisely.Solution
Ctrl+Iin the glob search pane to switch between case-sensitive and case-insensitive matching(case-sensitive)or(case-insensitive)to indicate the current modecase = ^Ialongside existing shortcutsCtrl+Iinstead of justIto avoid interference with typing 'I' in glob patternsExample Usage
/to open glob search**/target(you can now type 'I' normally in patterns)Ctrl+Ito toggle case sensitivity (notice title change)In case-insensitive mode (default),
**/targetmatchestarget,Target, andTARGET.In case-sensitive mode,
**/targetonly matchestarget.Implementation Details
case_sensitive: boolfield toGlobPanestructglob_search()function to accept case sensitivity parameter and use appropriategix_glob::pattern::CasemodeCtrl+Iinstead of justIThe implementation uses minimal, surgical changes to preserve existing behavior while adding the requested functionality.
Fixes #292
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.