style(toggle): types

This commit is contained in:
Folke Lemaitre 2024-07-16 23:54:23 +02:00
parent 150523b77b
commit 60b10deeb0
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040

View file

@ -6,15 +6,17 @@ local M = {}
---@field get fun():boolean ---@field get fun():boolean
---@field set fun(state:boolean) ---@field set fun(state:boolean)
---@class lazyvim.Toggle.wrap: lazyvim.Toggle
---@operator call:boolean
---@param toggle lazyvim.Toggle ---@param toggle lazyvim.Toggle
---@return lazyvim.Toggle|fun():boolean
function M.wrap(toggle) function M.wrap(toggle)
return setmetatable(toggle, { return setmetatable(toggle, {
__call = function(t) __call = function(t)
t.set(not t.get()) t.set(not t.get())
return t.get() return t.get()
end, end,
}) }) --[[@as lazyvim.Toggle.wrap]]
end end
---@param lhs string ---@param lhs string