diff --git a/docs/configuration.md b/docs/configuration.md index 0cd44cf..f8221b8 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -846,6 +846,7 @@ Preview: | Enter | Perform search in the same tab | Search input is focused and not empty | | Ctrl + Enter | Perform search in a new tab | Search input is focused and not empty | | Escape | Leave focus | Search input is focused | +| Up | Insert the last search query since the page was opened into the input field | Search input is focused | > [!TIP] > diff --git a/internal/assets/static/js/main.js b/internal/assets/static/js/main.js index 25d78ca..ff26caa 100644 --- a/internal/assets/static/js/main.js +++ b/internal/assets/static/js/main.js @@ -105,6 +105,7 @@ function setupSearchBoxes() { const bangsMap = {}; const kbdElement = widget.getElementsByTagName("kbd")[0]; let currentBang = null; + let lastQuery = ""; for (let j = 0; j < bangs.length; j++) { const bang = bangs[j]; @@ -141,6 +142,14 @@ function setupSearchBoxes() { window.location.href = url; } + lastQuery = query; + inputElement.value = ""; + + return; + } + + if (event.key == "ArrowUp" && lastQuery.length > 0) { + inputElement.value = lastQuery; return; } };