Feature Request: Built-in text/content search across files
- Lenguaje dominante
- Rust
- Estrellas
- 22.5k
- Forks
- 773
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## Feature Request
**Summary:**
GitUI currently does not provide a built-in way to search for text or content across files in a repository. Users who want to find a specific string, pattern, or piece of code must leave the GitUI interface and use an external tool (e.g. `grep`, `rg`, or their editor's search).
**Expected Behavior:**
GitUI should include a built-in file content search (similar to `grep` / `ripgrep`) that allows users to:
- Enter a search query (plain text or regex)
- See matching files and line previews directly within the TUI
- Navigate to a specific match in context
**Why This Matters:**
Code review and diff inspection workflows often require looking up where a symbol or string is used across the repository. Having to switch out of GitUI to a separate terminal search breaks the flow and reduces the tool's usefulness as a self-contained Git UI.
**Possible Approach:**
- Add a dedicated search panel (e.g. reachable via a keybinding like `/` or a dedicated shortcut)
- Internally delegate to `git grep` or an optional `ripgrep`/`grep` backend
- Display results in a scrollable list with file path, line number, and a snippet of the matching line
- Allow jumping into the diff/file view from a result
**Alternatives Considered:**
- Using `git grep` manually in a separate terminal — works but requires context switching
- Using editor search — not available when GitUI is the primary interface
**References:**
- Similar feature in other TUI Git clients (e.g. lazygit's filter/search capabilities)
Guía de contribución
Línea de trabajo
No se han identificado archivos ni pruebas; empieza examinando los puntos de entrada existentes de TUI para las combinaciones de teclas, los paneles y la vista de diff/archivos. Define el panel de búsqueda en torno al atajo `/` propuesto y evalúa `git grep` o un backend opcional de ripgrep/grep. Se considera terminado cuando los usuarios pueden consultar texto o regex, explorar rutas de archivos con vistas previas de líneas y saltar a una coincidencia en contexto.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git, rust
- Área
- cli, devtools, search
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100