Skip to content

feat: add FFF GUI keybindings and cleanup Zed config#151

Draft
jellydn wants to merge 2 commits into
mainfrom
feat/fff-gui-and-config-cleanup
Draft

feat: add FFF GUI keybindings and cleanup Zed config#151
jellydn wants to merge 2 commits into
mainfrom
feat/fff-gui-and-config-cleanup

Conversation

@jellydn
Copy link
Copy Markdown
Owner

@jellydn jellydn commented May 21, 2026

What

  • Added FFF GUI keybindings (space f f → Files, space f g → Grep) for a fast fuzzy file finder and grep UI
  • Added tasks.json backup with FFF GUI task definitions for cli.sh to copy from Zed config
  • Removed OperatorMonoLig Nerd Font from buffer font fallbacks (no longer used)
  • Removed notification_panel left dock config (unnecessary clutter)
  • Normalized indentation in keymap.json and settings.json from mixed tabs/spaces to consistent tabs
  • Documented Tasks section in README with auto-generated content via cli.ts

Why

  • FFF GUI (https://github.com/th0jensen/fff-gpui) provides a much faster file finding and grep experience directly in Zed
  • tasks.json is needed as a backup (same pattern as settings.json / keymap.json) — cli.sh now copies all three from ~/.config/zed/
  • OperatorMonoLig font is not installed/used anymore
  • Notification panel on the left doesn't add value — cleaner to keep default
  • Inconsistent indentation made diffs noisy and harder to maintain

How

File Change
keymap.json Added space f f / space f g bindings; converted to tab indentation
settings.json Removed OperatorMonoLig, notification_panel left dock; fixed indentation
tasks.json New file — FFF GUI task definitions (fff-gpui: Files, fff-gpui: Grep)
cli.sh Added cp ~/.config/zed/tasks.json tasks.json step
cli.ts Added tasks.json reading and <!-- ALL-TASKS:START/END --> generation
README.md Synced generated timestamp; documented new Tasks section with FFF GUI markers

**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
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

⚠️ No Changeset found

Latest commit: 5f2f8c8

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1ab2e2cf-5dab-41aa-859c-d6a7a38a5913

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/fff-gui-and-config-cleanup

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread keymap.json
Comment on lines +210 to +217
// 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" }],
},
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

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.

Suggested change
// 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" }]
}
},

Comment thread README.md
Comment on lines +650 to +657
// 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" }],
},
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
// 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" }]
}
},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant