feat: add desktop quick open workflow (#925)

Introduce a dedicated Quick Open dialog, wire it to Cmd+P and the macOS app menu, and show file-type icons in quick-open results so file navigation matches the rest of the app.
This commit is contained in:
Jinwoo An (안진우)
2026-04-16 23:24:58 +03:00
committed by GitHub
parent 5bc52a15ad
commit 2fbfd803f7
9 changed files with 325 additions and 1 deletions
@@ -18,6 +18,7 @@ export const useKeyboardShortcuts = () => {
const currentSessionId = useSessionUIStore((s) => s.currentSessionId);
const abortCurrentOperation = sessionActions.abortCurrentOperation;;
const toggleCommandPalette = useUIStore((s) => s.toggleCommandPalette);
const setQuickOpenOpen = useUIStore((s) => s.setQuickOpenOpen);
const toggleHelpDialog = useUIStore((s) => s.toggleHelpDialog);
const toggleSidebar = useUIStore((s) => s.toggleSidebar);
const toggleRightSidebar = useUIStore((s) => s.toggleRightSidebar);
@@ -61,6 +62,12 @@ export const useKeyboardShortcuts = () => {
return;
}
if (eventMatchesShortcut(e, combo('open_quick_open'))) {
e.preventDefault();
setQuickOpenOpen(true);
return;
}
if (eventMatchesShortcut(e, combo('open_status'))) {
e.preventDefault();
void showOpenCodeStatus();
@@ -414,6 +421,7 @@ export const useKeyboardShortcuts = () => {
openNewSessionDraft,
abortCurrentOperation,
toggleCommandPalette,
setQuickOpenOpen,
toggleHelpDialog,
toggleSidebar,
toggleRightSidebar,
+7
View File
@@ -29,6 +29,7 @@ type MenuAction =
| 'about'
| 'settings'
| 'command-palette'
| 'quick-open'
| 'new-session'
| 'new-worktree-session'
| 'change-workspace'
@@ -50,6 +51,7 @@ export const useMenuActions = (
) => {
const openNewSessionDraft = useSessionUIStore((s) => s.openNewSessionDraft);
const toggleCommandPalette = useUIStore((s) => s.toggleCommandPalette);
const setQuickOpenOpen = useUIStore((s) => s.setQuickOpenOpen);
const toggleHelpDialog = useUIStore((s) => s.toggleHelpDialog);
const toggleSidebar = useUIStore((s) => s.toggleSidebar);
const setSessionSwitcherOpen = useUIStore((s) => s.setSessionSwitcherOpen);
@@ -139,6 +141,10 @@ export const useMenuActions = (
toggleCommandPalette();
break;
case 'quick-open':
setQuickOpenOpen(true);
break;
case 'new-session':
setActiveMainTab('chat');
setSessionSwitcherOpen(false);
@@ -227,6 +233,7 @@ export const useMenuActions = (
setAboutDialogOpen,
setActiveMainTab,
setSessionSwitcherOpen,
setQuickOpenOpen,
setSettingsDialogOpen,
setThemeMode,
toggleCommandPalette,