aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/null-browser/api.lua33
-rw-r--r--lua/null-browser/extras/dmenu.lua2
2 files changed, 32 insertions, 3 deletions
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 = {}