feat: add FFF GUI keybindings and cleanup Zed config#151
Conversation
**What**: Added FFF GUI file/grep keybindings, fixed indentation, removed unused font and notification panel config. **Why**: - FFF GUI provides a fast fuzzy file finder and grep UI for Zed - OperatorMonoLig font is no longer used - notification_panel left dock is unnecessary clutter - Mixed tabs/spaces made config files inconsistent **How**: - keymap.json: Added (Files) and (Grep) bindings referencing fff-gpui tasks - settings.json: Removed OperatorMonoLig from font fallbacks, removed notification_panel left dock entry - Both JSON files: Normalized to tab indentation for consistency - README.md: Synced generated timestamp and documented new keybindings
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates Zed configuration files by removing a font fallback, deleting the notification panel configuration, and adding new keybindings for the fff-gpui task. The reviewer identified that the new keybindings are scoped to the Workspace context, which may cause input lag during normal typing because the space character is intercepted; they recommended scoping these bindings to (VimControl && !menu) || EmptyPane to avoid interference.
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | ||
| { | ||
| "context": "Workspace", | ||
| "bindings": { | ||
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | ||
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }], | ||
| }, | ||
| }, |
There was a problem hiding this comment.
Using the "Workspace" context for a keybinding sequence starting with "space" is problematic in Zed. Because "space" is a character used for typing in many contexts (such as Insert mode in the editor or within the Terminal), binding a sequence like "space f f" at the workspace level will cause the editor to intercept every space character and wait for the subsequent keys to see if the sequence matches. This results in a noticeable lag when typing spaces.
Since this configuration is tailored for Vim mode, these bindings should be scoped to a context where "space" is intended to be a leader key, such as "(VimControl && !menu) || EmptyPane". This ensures the bindings work in Vim's normal/visual modes and when no editor is open, without breaking normal typing.
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | |
| { | |
| "context": "Workspace", | |
| "bindings": { | |
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | |
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }], | |
| }, | |
| }, | |
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | |
| { | |
| "context": "(VimControl && !menu) || EmptyPane", | |
| "bindings": { | |
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | |
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }] | |
| } | |
| }, |
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | ||
| { | ||
| "context": "Workspace", | ||
| "bindings": { | ||
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | ||
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }], | ||
| }, | ||
| }, |
There was a problem hiding this comment.
The "Workspace" context for "space" leader sequences will interfere with normal typing in Insert mode and the Terminal. It is recommended to use a more specific context like "(VimControl && !menu) || EmptyPane" to avoid input lag when typing spaces.
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | |
| { | |
| "context": "Workspace", | |
| "bindings": { | |
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | |
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }], | |
| }, | |
| }, | |
| // FFF GUI, refer https://github.com/th0jensen/fff-gpui#configuration | |
| { | |
| "context": "(VimControl && !menu) || EmptyPane", | |
| "bindings": { | |
| "space f f": ["task::Spawn", { "task_name": "fff-gpui: Files" }], | |
| "space f g": ["task::Spawn", { "task_name": "fff-gpui: Grep" }] | |
| } | |
| }, |
What
space f f→ Files,space f g→ Grep) for a fast fuzzy file finder and grep UIcli.shto copy from Zed configOperatorMonoLig Nerd Fontfrom buffer font fallbacks (no longer used)notification_panelleft dock config (unnecessary clutter)keymap.jsonandsettings.jsonfrom mixed tabs/spaces to consistent tabscli.tsWhy
tasks.jsonis needed as a backup (same pattern assettings.json/keymap.json) —cli.shnow copies all three from~/.config/zed/How
keymap.jsonspace f f/space f gbindings; converted to tab indentationsettings.jsonOperatorMonoLig,notification_panelleft dock; fixed indentationtasks.jsonfff-gpui: Files,fff-gpui: Grep)cli.shcp ~/.config/zed/tasks.json tasks.jsonstepcli.ts<!-- ALL-TASKS:START/END -->generationREADME.md