diff --git a/lua/portal.lua b/lua/portal.lua index c1e4ebd..ee0c78e 100644 --- a/lua/portal.lua +++ b/lua/portal.lua @@ -52,7 +52,7 @@ function Portal.search(queries) end ---@param queries Portal.Query[] ----@param overrides Portal.Settings +---@param overrides? Portal.Settings function Portal.tunnel(queries, overrides) local Search = require("portal.search") local Settings = require("portal.settings") @@ -77,4 +77,18 @@ function Portal.tunnel(queries, overrides) end end +---@param queries Portal.Query[] +---@param overrides? Portal.Settings +---@return Portal.Window +function Portal.open(queries, overrides) + local Search = require("portal.search") + local Settings = require("portal.settings") + + local settings = vim.tbl_deep_extend("force", Settings.as_table(), overrides or {}) + local results = Portal.search(queries) + local windows = Search.open(results, settings.labels, settings.window_options) + + return windows +end + return Portal