macos: search overlay shows search progress

pull/9709/head
Mitchell Hashimoto 2025-11-25 20:38:14 -08:00
parent 7835ad0ea4
commit d4a2f3db71
No known key found for this signature in database
GPG Key ID: 523D5DC389D273BC
1 changed files with 10 additions and 0 deletions

View File

@ -426,6 +426,14 @@ extension Ghostty {
return .handled return .handled
} }
if let selected = searchState?.selected {
let totalText = searchState?.total.map { String($0) } ?? "?"
Text("\(selected)/\(totalText)")
.font(.caption)
.foregroundColor(.secondary)
.monospacedDigit()
}
Button(action: { Button(action: {
guard let surface = surfaceView.surface else { return } guard let surface = surfaceView.surface else { return }
let action = "navigate_search:next" let action = "navigate_search:next"
@ -814,6 +822,8 @@ extension FocusedValues {
extension Ghostty.SurfaceView { extension Ghostty.SurfaceView {
class SearchState: ObservableObject { class SearchState: ObservableObject {
@Published var needle: String = "" @Published var needle: String = ""
@Published var selected: UInt? = nil
@Published var total: UInt? = nil
init(from startSearch: Ghostty.Action.StartSearch) { init(from startSearch: Ghostty.Action.StartSearch) {
self.needle = startSearch.needle ?? "" self.needle = startSearch.needle ?? ""