mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-06-30 20:44:35 +02:00
feat(snacks): use Snacks.zen.zoom()
instead of custom **maximize**
This commit is contained in:
parent
152f9d113f
commit
e389a5ada9
2 changed files with 1 additions and 45 deletions
|
@ -31,48 +31,4 @@ function M.fg(name)
|
|||
return fg and { fg = string.format("#%06x", fg) } or nil
|
||||
end
|
||||
|
||||
function M.maximize()
|
||||
---@type {k:string, v:any}[]?
|
||||
local maximized = nil
|
||||
local toggle = Snacks.toggle({
|
||||
name = "Maximize",
|
||||
get = function()
|
||||
return maximized ~= nil
|
||||
end,
|
||||
set = function(state)
|
||||
if state then
|
||||
maximized = {}
|
||||
local function set(k, v)
|
||||
table.insert(maximized, 1, { k = k, v = vim.o[k] })
|
||||
vim.o[k] = v
|
||||
end
|
||||
set("winwidth", 999)
|
||||
set("winheight", 999)
|
||||
set("winminwidth", 10)
|
||||
set("winminheight", 4)
|
||||
vim.cmd("wincmd =")
|
||||
else
|
||||
for _, opt in ipairs(maximized) do
|
||||
vim.o[opt.k] = opt.v
|
||||
end
|
||||
maximized = nil
|
||||
vim.cmd("wincmd =")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- `QuitPre` seems to be executed even if we quit a normal window, so we don't want that
|
||||
-- `VimLeavePre` might be another consideration? Not sure about differences between the 2
|
||||
vim.api.nvim_create_autocmd("ExitPre", {
|
||||
group = vim.api.nvim_create_augroup("lazyvim_restore_max_exit_pre", { clear = true }),
|
||||
desc = "Restore width/height when close Neovim while maximized",
|
||||
callback = function()
|
||||
if toggle:get() then
|
||||
toggle:set(false)
|
||||
end
|
||||
end,
|
||||
})
|
||||
return toggle
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue