mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-07-03 22:14:39 +02:00
refactor(ui): cleanup maximize code
This commit is contained in:
parent
9ec253b9b6
commit
4a626a8137
1 changed files with 14 additions and 12 deletions
|
@ -34,8 +34,7 @@ end
|
||||||
function M.maximize()
|
function M.maximize()
|
||||||
---@type {k:string, v:any}[]?
|
---@type {k:string, v:any}[]?
|
||||||
local maximized = nil
|
local maximized = nil
|
||||||
local ret
|
local toggle = Snacks.toggle({
|
||||||
ret = Snacks.toggle({
|
|
||||||
name = "Maximize",
|
name = "Maximize",
|
||||||
get = function()
|
get = function()
|
||||||
return maximized ~= nil
|
return maximized ~= nil
|
||||||
|
@ -52,15 +51,6 @@ function M.maximize()
|
||||||
set("winminwidth", 10)
|
set("winminwidth", 10)
|
||||||
set("winminheight", 4)
|
set("winminheight", 4)
|
||||||
vim.cmd("wincmd =")
|
vim.cmd("wincmd =")
|
||||||
-- `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()
|
|
||||||
ret:set(false)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
else
|
else
|
||||||
for _, opt in ipairs(maximized) do
|
for _, opt in ipairs(maximized) do
|
||||||
vim.o[opt.k] = opt.v
|
vim.o[opt.k] = opt.v
|
||||||
|
@ -70,7 +60,19 @@ function M.maximize()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
return ret
|
|
||||||
|
-- `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
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue