From fec0d51acfc967e32d1dfb25eec4e6ab2e0bcc30 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 6 Apr 2025 20:24:27 +0530 Subject: Add web.inspect with inspect.lua --- lua/null-browser/api.lua | 33 +++++++++++++++++++++++++++++++-- lua/null-browser/extras/dmenu.lua | 2 +- 2 files changed, 32 insertions(+), 3 deletions(-) (limited to 'lua') diff --git a/lua/null-browser/api.lua b/lua/null-browser/api.lua index f6ff5e6..6db0da9 100644 --- a/lua/null-browser/api.lua +++ b/lua/null-browser/api.lua @@ -1,4 +1,7 @@ -print("api loaded") +print("api load started") + +--- @type table +web = web local function shallow_copy(t) local t2 = {} @@ -6,14 +9,40 @@ local function shallow_copy(t) return t2 end +-- inspect lua tables +local inspector_loaded, inspector = pcall(require, 'inspect') +if inspector_loaded then + web.inspect = inspector.inspect +else + web.inspect = function() print('[warn] "inspect" module not loaded') end +end + -- web.keymap = web.keymap or {} -- web.tab = web.tab or {} web.event = web.event or {} -web.event.add_listener = function(events, opts) +--- Listen to events from the browser +--- +--- @class null.EventListenerOptions +--- @field callback any Callback called when that event occurs +--- +--- @param events string|table Event or events to listen to +--- @param opts null.EventListenerOptions Options +--- +--- @example +--- ```lua +--- web.event.add_listener('UrlChanged', { +--- callback = function(opts) +--- print(opts.url, opts.tab, opts.win) +--- end, +--- }) +--- ``` +function web.event.add_listener(events, opts) opts = shallow_copy(opts or {}) if type(events) == "string" then events = { events } end opts.events = events or {} return __internals.register_event(opts) end + +print("api loaded") diff --git a/lua/null-browser/extras/dmenu.lua b/lua/null-browser/extras/dmenu.lua index d08eb6a..3a82953 100644 --- a/lua/null-browser/extras/dmenu.lua +++ b/lua/null-browser/extras/dmenu.lua @@ -1,5 +1,5 @@ --- @type table -local uv = uv +uv = uv local dmenu = {} -- cgit v1.3.1