---@brief [[
--- glaze.nvim floating window (based on lazy.nvim)
--- Creates centered floating window with backdrop
---@brief ]]
local M = {}
---@class GlazeFloatOptions
---@field size? { width: number, height: number }
---@field border? string
---@field title? string
---@field zindex? number
---@class GlazeFloat
---@field buf number
---@field win number
---@field opts GlazeFloatOptions
---@field win_opts table
---@field backdrop_buf? number
---@field backdrop_win? number
local Float = {}
local _id = 0
---@param opts? GlazeFloatOptions
---@return GlazeFloat
function Float.new(opts)
local self = setmetatable({}, { __index = Float })
return self:init(opts)
end
---@param opts? GlazeFloatOptions
function Float:init(opts)
require("glaze.colors").setup()
_id = _id + 1
self.id = _id
local config = require("glaze").config
self.opts = vim.tbl_deep_extend("force", {