CodeEditApp / CodeEditApp/CodeEditSourceEditor

✨ Select Next/Previous Occurrence

Aperta
#300 0 commenti 0 reazioni 1 assegnatario Rivendicata da @austincondiff Vedi su GitHub
enhancement
Lingua principale
Swift
Stelle
719
Fork
160
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### 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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.