CodeEditApp / CodeEditApp/CodeEditSourceEditor

✨ Select Next/Previous Occurrence

Abierto
#300 0 comentarios 0 reacciones 1 asignado Reclamado por @austincondiff Ver en GitHub
enhancement
Lenguaje dominante
Swift
Estrellas
719
Forks
160
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Description

We should allow users to navigate between occurrences of the selected text within the currently open document using the keyboard shortcuts:
- **Select Next Occurrence**: E
- **Select Previous Occurrence**: E

This feature will leverage the existing Find in Document mechanism and displays a loop / end of document HUD when navigating between matches (see #1 for details).

### Additional Context

- When navigating through occurrences, all matches should be highlighted, with the currently selected match prominently highlighted.
- If "Wrap Around" is enabled, the loop HUD should be displayed upon reaching the end or beginning of the document, providing a visual cue that no more matches are available in that direction.
- This feature should align with the existing Find functionality.

> [!NOTE]
> We may want to leverage the functionality introduced with in-editor find and replace, and the `EmphasisManager`.

### Requirements

1. **Keyboard Shortcuts**:
- E to select the next occurrence.
- E to select the previous occurrence.

2. **Loop HUD**:
- If "Wrap Around" is enabled, display a HUD notification when the end or beginning of the document is reached, indicating no further matches are available, otherwise display a end of file HUD.

3. **Highlighting**:
- Ensure all occurrences of the selected text are highlighted.
- The currently selected occurrence should be temporarily highlighted to guide user focus using the EmphasisManager.

4. **Find in Document Mechanism Integration**:
- The implementation should utilize the existing Find in Document mechanism to maintain consistency across the app's search and navigation features.

### Related Issues

- #1

### Screenshots

https://github.com/user-attachments/assets/3810a585-0a6d-4636-acb9-fd330dd9ae26

image

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.