diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-08-10 20:49:54 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-08-10 20:49:54 +0530 |
| commit | 9e8abe4f466cf771a420b6c551926c5e917f7b76 (patch) | |
| tree | 0685166058b7191ad29f35b4c6cdc2e2404a29be | |
| parent | 5e7c88b9a4449ebafe78c83787342d9cc119784c (diff) | |
| download | null-browser-9e8abe4f466cf771a420b6c551926c5e917f7b76.tar.gz null-browser-9e8abe4f466cf771a420b6c551926c5e917f7b76.zip | |
Add gi key for hints to focus input elements
| -rw-r--r-- | init.lua | 8 | ||||
| -rw-r--r-- | lua/null-browser/extras/hints.lua | 5 |
2 files changed, 13 insertions, 0 deletions
@@ -78,5 +78,13 @@ hints.init() web.keymap.set('n', 'f', function() hints.start('a[href], button', hints.action.open_in_view) end) web.keymap.set('n', '<s-f>', function() hints.start('a[href], button', hints.action.open_in_new_view) end) web.keymap.set('n', 'yl', function() hints.start('a[href]', hints.action.copy_link) end) +web.keymap.set('n', 'gi', function() + local input_selectors = { + 'input:not([type="hidden"])', + 'textarea', + '[contenteditable]' + } + hints.start(table.concat(input_selectors, ', '), hints.action.focus) +end) print('ending...') diff --git a/lua/null-browser/extras/hints.lua b/lua/null-browser/extras/hints.lua index d6e32c7..d708d69 100644 --- a/lua/null-browser/extras/hints.lua +++ b/lua/null-browser/extras/hints.lua @@ -90,6 +90,11 @@ function hints.action.open_in_view() ]] end +function hints.action.focus() + web.keymap.set_mode 'i' + web.view.run_js([[ _nullbrowser.hints.currentMatch?.elem?.focus?.(); ]]) +end + function hints.action.copy_link() web.view.run_js([[_nullbrowser.hints.currentMatch.elem?.href]], { on_result = function(url) |
