CodeEditApp / CodeEditApp/CodeEditSourceEditor

✨ Select Next/Previous Occurrence

未關閉
#300 0 則留言 0 個 reaction 已指派 1 人 已被 @austincondiff 認領 在 GitHub 檢視
enhancement
主要語言
Swift
星號
719
分支
160
PR 合併指標
30 天內沒有已合併 PR

描述

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

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。