feat(keymaps): new keymap to toggle mazimize of current window leader-m or leader-wm

This commit is contained in:
Folke Lemaitre
2024-05-29 22:35:40 +02:00
parent a13457eea3
commit 3ace8277e5
3 changed files with 20 additions and 1 deletions

View File

@ -177,6 +177,8 @@ map("n", "<leader>w-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>w|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>wm", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
map("n", "<leader>m", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
-- tabs
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })

View File

@ -17,7 +17,7 @@ return {
local animate = require("mini.animate")
return {
resize = {
timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
timing = animate.gen_timing.linear({ duration = 50, unit = "total" }),
},
scroll = {
timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),

View File

@ -73,6 +73,23 @@ function M.inlay_hints(buf, value)
end
end
M._maximized = nil
function M.maximize()
if M._maximized then
vim.o.winwidth = M._maximized.width
vim.o.winheight = M._maximized.height
M._maximized = nil
vim.cmd("wincmd =")
else
M._maximized = {
width = vim.o.winwidth,
height = vim.o.winheight,
}
vim.o.winwidth = 999
vim.o.winheight = 999
end
end
setmetatable(M, {
__call = function(m, ...)
return m.option(...)