add quick-open fuzzy file finder (Ctrl/Cmd+P)
A file picker overlay over the whole workspace, distinct from the command palette. QuickOpenController holds the file list + a subsequence fuzzy filter; the overlay loads the list via files.walk on open, shows RecentFilesService entries on an empty query, and opens the selection through a shared openWorkspaceFile helper (.md → markdown reader bus, else editor.open) that the files panel now also routes through, so recents stay in sync from every open site. Bound to ctrl+p / meta+p with `when: !palette.open` so it never collides with the palette's ctrl+p navigation; in-overlay arrows/enter/ escape reuse the palette's keymap-driven model via quickOpen.* intents. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -53,6 +53,29 @@ bindings:
|
||||
keys: escape
|
||||
when: palette.open
|
||||
|
||||
# -- Quick open (fuzzy file finder) -----------------------------------
|
||||
# ctrl+p / meta+p are free while the palette is closed; the palette
|
||||
# only claims ctrl+p for selectPrevious `when: palette.open`, so this
|
||||
# is conflict-free. Arrow/enter/escape inside the overlay are handled
|
||||
# locally by the widget.
|
||||
- intent: quickOpen.open
|
||||
keys: [ctrl+p, meta+p]
|
||||
when: "!palette.open"
|
||||
# Nav stays on arrows/ctrl+n (not ctrl+p — that's the open chord and
|
||||
# would collide while the overlay is up).
|
||||
- intent: quickOpen.selectNext
|
||||
keys: [down, ctrl+n]
|
||||
when: quickOpen.open
|
||||
- intent: quickOpen.selectPrevious
|
||||
keys: up
|
||||
when: quickOpen.open
|
||||
- intent: quickOpen.accept
|
||||
keys: enter
|
||||
when: quickOpen.open
|
||||
- intent: dismiss
|
||||
keys: escape
|
||||
when: quickOpen.open
|
||||
|
||||
# -- Text scale -------------------------------------------------------
|
||||
# On most layouts `+` is `shift+equal`; we bind both so users who
|
||||
# think of it as Ctrl+Plus and users who hit Ctrl+= both work.
|
||||
|
||||
Reference in New Issue
Block a user