diff --git a/internal/action/actions.go b/internal/action/actions.go index 79bff07d..28d0e53d 100644 --- a/internal/action/actions.go +++ b/internal/action/actions.go @@ -1072,8 +1072,20 @@ func (h *BufPane) UnhighlightSearch() bool { return true } +// ResetSearch resets the last used search term +func (h *BufPane) ResetSearch() bool { + if h.Buf.LastSearch != "" { + h.Buf.LastSearch = "" + return true + } + return false +} + // FindNext searches forwards for the last used search term func (h *BufPane) FindNext() bool { + if h.Buf.LastSearch == "" { + return false + } // If the cursor is at the start of a selection and we search we want // to search from the end of the selection in the case that // the selection is a search result in which case we wouldn't move at @@ -1100,6 +1112,9 @@ func (h *BufPane) FindNext() bool { // FindPrevious searches backwards for the last used search term func (h *BufPane) FindPrevious() bool { + if h.Buf.LastSearch == "" { + return false + } // If the cursor is at the end of a selection and we search we want // to search from the beginning of the selection in the case that // the selection is a search result in which case we wouldn't move at diff --git a/internal/action/bufpane.go b/internal/action/bufpane.go index 34808eca..14e04089 100644 --- a/internal/action/bufpane.go +++ b/internal/action/bufpane.go @@ -811,6 +811,7 @@ var BufKeyActions = map[string]BufKeyAction{ "ToggleRuler": (*BufPane).ToggleRuler, "ToggleHighlightSearch": (*BufPane).ToggleHighlightSearch, "UnhighlightSearch": (*BufPane).UnhighlightSearch, + "ResetSearch": (*BufPane).ResetSearch, "ClearStatus": (*BufPane).ClearStatus, "ShellMode": (*BufPane).ShellMode, "CommandMode": (*BufPane).CommandMode, diff --git a/runtime/help/keybindings.md b/runtime/help/keybindings.md index 17f9ab35..3198c8fb 100644 --- a/runtime/help/keybindings.md +++ b/runtime/help/keybindings.md @@ -241,6 +241,7 @@ ToggleHelp ToggleDiffGutter ToggleRuler JumpLine +ResetSearch ClearStatus ShellMode CommandMode