feat(palette): unify quick open into command palette with multi-source search

Merge file picker into command palette. Single Cmd+P entry searches
files, sessions, settings pages and commands; groups re-order by best
fuzzy score per source. Sessions show branch labels; git status is
lazily fetched for all session directories on open.

Drop QuickOpenDialog and Cmd+K shortcut.
This commit is contained in:
Bohdan Triapitsyn
2026-04-30 18:37:37 +03:00
parent 57eec76a7b
commit 24533dfe32
23 changed files with 550 additions and 882 deletions
+4 -53
View File
@@ -1069,7 +1069,6 @@ export const dict: Record<I18nKey, string> = {
"helpDialog.section.panels": "Paneles",
"helpDialog.section.interface": "Interfaz",
"helpDialog.item.openCommandPalette": "Abrir paleta de comandos",
"helpDialog.item.quickOpenFile": "Abrir archivo rápido",
"helpDialog.item.showKeyboardShortcuts": "Mostrar atajos de teclado (este diálogo)",
"helpDialog.item.toggleSessionSidebar": "Mostrar u ocultar barra lateral de sesión",
"helpDialog.item.cycleAgent": "Cambiar agente (entrada de chat)",
@@ -1552,68 +1551,20 @@ export const dict: Record<I18nKey, string> = {
"chat.messageBody.shellCommand.showOutput": "Mostrar salida",
"chat.messageBody.shellCommand.copied": "Copiado",
"chat.messageBody.shellCommand.copyOutput": "Copiar salida",
"commandPalette.input.placeholder": "Escribe un comando o busca...",
"commandPalette.title": "Paleta de comandos",
"commandPalette.description": "Buscar archivos, sesiones y comandos.",
"commandPalette.input.placeholder": "Buscar archivos, sesiones, comandos...",
"commandPalette.empty.noResults": "No se encontraron resultados.",
"commandPalette.section.sessions": "Sesiones",
"commandPalette.section.view": "Ver",
"commandPalette.section.theme": "Tema",
"commandPalette.section.settings": "Configuración",
"commandPalette.section.recentSessions": "Sesiones recientes",
"commandPalette.item.quickOpen": "Abrir rápido",
"commandPalette.empty.searchingFiles": "Buscando archivos...",
"commandPalette.item.newSession": "Nueva sesión",
"commandPalette.item.newWorktreeDraft": "Nuevo borrador de worktree",
"commandPalette.item.showSessionSwitcher": "Mostrar cambiador de sesiones",
"commandPalette.item.toggleSidebar": "Mostrar u ocultar barra lateral",
"commandPalette.item.toggleRightSidebar": "Mostrar u ocultar barra lateral derecha",
"commandPalette.item.showGitRightSidebar": "Mostrar Git en barra lateral derecha",
"commandPalette.item.showFilesRightSidebar": "Mostrar archivos en barra lateral derecha",
"commandPalette.item.showContextUsage": "Mostrar uso del contexto",
"commandPalette.item.showPlan": "Mostrar plan",
"commandPalette.item.toggleTerminal": "Mostrar u ocultar terminal",
"commandPalette.item.collapseTerminal": "Colapsar terminal",
"commandPalette.item.expandTerminal": "Expandir terminal",
"commandPalette.item.keyboardShortcuts": "Atajos de teclado",
"commandPalette.item.themeLight": "Claro",
"commandPalette.item.themeDark": "Oscuro",
"commandPalette.item.themeSystem": "Sistema",
"commandPalette.item.openSettings": "Abrir configuración...",
"commandPalette.session.untitled": "Sesión sin título",
"commandPalette.settingsGroup.appearance": "Apariencia",
"commandPalette.settingsGroup.projects": "Proyectos",
"commandPalette.settingsGroup.general": "General",
"commandPalette.settingsGroup.opencode": "OpenChamber",
"commandPalette.settingsGroup.git": "Git",
"commandPalette.settingsGroup.skills": "Habilidades",
"commandPalette.settingsGroup.usage": "Uso",
"commandPalette.settingsGroup.advanced": "Avanzado",
"commandPalette.settingsPage.home": "Inicio",
"commandPalette.settingsPage.projects": "Proyectos",
"commandPalette.settingsPage.remoteInstances": "Instancias remotas",
"commandPalette.settingsPage.providers": "Proveedores",
"commandPalette.settingsPage.usage": "Uso",
"commandPalette.settingsPage.agents": "Agentes",
"commandPalette.settingsPage.commands": "Comandos",
"commandPalette.settingsPage.mcp": "MCP",
"commandPalette.settingsPage.skillsInstalled": "Habilidades instaladas",
"commandPalette.settingsPage.skillsCatalog": "Catálogo de habilidades",
"commandPalette.settingsPage.git": "Git",
"commandPalette.settingsPage.appearance": "Apariencia",
"commandPalette.settingsPage.chat": "Chat",
"commandPalette.settingsPage.shortcuts": "Atajos de teclado",
"commandPalette.settingsPage.sessions": "Sesiones",
"commandPalette.settingsPage.magicPrompts": "Prompts mágicos",
"commandPalette.settingsPage.notifications": "Notificaciones",
"commandPalette.settingsPage.voice": "Voz",
"commandPalette.settingsPage.tunnel": "Túnel remoto",
"quickOpenDialog.title": "Apertura rápida",
"quickOpenDialog.description": "Abre rápidamente un archivo del proyecto actual.",
"quickOpenDialog.input.placeholder": "Buscar archivos...",
"quickOpenDialog.empty.openProjectFirst": "Abre un proyecto primero",
"quickOpenDialog.empty.searchingFiles": "Buscando archivos...",
"quickOpenDialog.empty.noMatchingFiles": "No se encontraron archivos coincidentes",
"quickOpenDialog.empty.noMatchingRecentFiles": "No se encontraron archivos recientes",
"quickOpenDialog.group.files": "Archivos",
"quickOpenDialog.group.recentFiles": "Archivos recientes",
"openCodeStatusDialog.title": "Estado de OpenCode",
"openCodeStatusDialog.description": "Inspecciona el estado actual de OpenCode y diagnósticos.",
"openCodeStatusDialog.actions.copy": "Copiar",