From 3f5325f59ba7f8552d093fdafd9674b713f3cad9 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 20 Apr 2025 22:57:32 +0530 Subject: Add scrolling controls --- lua/null-browser/api.lua | 9 +++++++++ lua/null-browser/defaults/vi.lua | 10 +++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'lua') diff --git a/lua/null-browser/api.lua b/lua/null-browser/api.lua index ea7e0a7..170347f 100644 --- a/lua/null-browser/api.lua +++ b/lua/null-browser/api.lua @@ -274,4 +274,13 @@ function web.search.next(view_id) return __internals.search_next(view_id) end --- ``` function web.search.previous(view_id) return __internals.search_previous(view_id) end +--- TODO: Document +function web.view.scroll(deltax, deltay, view_id) return __internals.view_scroll(deltax, deltay, view_id) end + +--- TODO: Document +function web.view.scroll_to_top(view_id) return __internals.view_scroll_to_top(view_id) end + +--- TODO: Document +function web.view.scroll_to_bottom(view_id) return __internals.view_scroll_to_bottom(view_id) end + print("api loaded") diff --git a/lua/null-browser/defaults/vi.lua b/lua/null-browser/defaults/vi.lua index dee3bc5..d73ffb5 100644 --- a/lua/null-browser/defaults/vi.lua +++ b/lua/null-browser/defaults/vi.lua @@ -7,7 +7,7 @@ local M = {} local config = { menu = require 'null-browser.extras.dmenu', history = require 'null-browser.extras.history', - preprocess_url = function(url) return url end, + preprocess_url = trim, } @@ -23,6 +23,14 @@ function M.initialize() web.keymap.set('n', 'i', function() web.keymap.set_mode('i') end) web.keymap.set('i', '', function() web.keymap.set_mode('n') end) + -- Scrolling + web.keymap.set('n', 'j', function() web.view.scroll(0, 20) end) + web.keymap.set('n', 'k', function() web.view.scroll(0, -20) end) + web.keymap.set('n', '', function() web.view.scroll(0, 80) end) + web.keymap.set('n', '', function() web.view.scroll(0, -80) end) + web.keymap.set('n', 'gg', function() web.view.scroll_to_top() end) + web.keymap.set('n', '', function() web.view.scroll_to_bottom() end) + -- Open in new view web.keymap.set('n', 'o', function() print(web.get('new_view_url'), web.get('user_agent')) -- cgit v1.3.1