Add autosizing whenever we open/close an edge panel, meaning we always
keep the relative width/height of the main windows
This commit is contained in:
parent
7c45912194
commit
7316bef23d
3 changed files with 65 additions and 12 deletions
|
|
@ -4,6 +4,8 @@ local oil = nil
|
||||||
local oil_window = nil
|
local oil_window = nil
|
||||||
|
|
||||||
local function toggle_oil_window()
|
local function toggle_oil_window()
|
||||||
|
assert(oil, "Oil is not loaded")
|
||||||
|
|
||||||
if oil_window and vim.api.nvim_win_is_valid(oil_window) then
|
if oil_window and vim.api.nvim_win_is_valid(oil_window) then
|
||||||
vim.api.nvim_win_close(oil_window, true)
|
vim.api.nvim_win_close(oil_window, true)
|
||||||
oil_window = nil
|
oil_window = nil
|
||||||
|
|
@ -46,10 +48,14 @@ return {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
require("utils").add_keymaps({
|
local wm = require("window_management")
|
||||||
|
utils.add_keymaps({
|
||||||
n = {
|
n = {
|
||||||
["<leader>o"] = {
|
["<leader>o"] = {
|
||||||
cmd = toggle_oil_window,
|
cmd = function()
|
||||||
|
toggle_oil_window()
|
||||||
|
wm.autosize_windows()
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,68 @@
|
||||||
|
local wm = require("window_management")
|
||||||
|
|
||||||
|
local is_trouble_window = false
|
||||||
|
|
||||||
|
local function setup_autosize_callback()
|
||||||
|
local auname = "TroubleWinEnter"
|
||||||
|
local augroup = vim.api.nvim_create_augroup(auname, { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("WinEnter", {
|
||||||
|
group = augroup,
|
||||||
|
callback = function()
|
||||||
|
if not is_trouble_window then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
is_trouble_window = false
|
||||||
|
wm.autosize_windows()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
require("trouble").setup({})
|
local trouble = require("trouble")
|
||||||
|
trouble.setup({})
|
||||||
|
|
||||||
|
setup_autosize_callback()
|
||||||
require("utils").add_keymaps({
|
require("utils").add_keymaps({
|
||||||
n = {
|
n = {
|
||||||
["<leader>x"] = {
|
["<leader>x"] = {
|
||||||
cmd = "<cmd>Trouble diagnostics toggle<cr>",
|
cmd = function()
|
||||||
|
is_trouble_window = true
|
||||||
|
trouble.toggle({
|
||||||
|
mode = "diagnostics",
|
||||||
|
focus = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
},
|
},
|
||||||
["<leader>ls"] = {
|
["<leader>ls"] = {
|
||||||
cmd = "<cmd>Trouble symbols toggle focus=false<cr>",
|
cmd = function()
|
||||||
|
is_trouble_window = true
|
||||||
|
trouble.toggle({
|
||||||
|
mode = "symbols",
|
||||||
|
focus = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
},
|
},
|
||||||
-- Stick with using the references feature fom lspsaga for now, might change later
|
|
||||||
-- ["<leader>cl"] = {
|
|
||||||
-- cmd = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
|
||||||
-- },
|
|
||||||
["<leader>ll"] = {
|
["<leader>ll"] = {
|
||||||
cmd = "<cmd>Trouble loclist toggle<cr>",
|
cmd = function()
|
||||||
|
is_trouble_window = true
|
||||||
|
trouble.toggle({
|
||||||
|
mode = "loclist",
|
||||||
|
focus = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
},
|
},
|
||||||
["<leader>lq"] = {
|
["<leader>lq"] = {
|
||||||
cmd = "<cmd>Trouble qflist toggle<cr>",
|
cmd = function()
|
||||||
|
is_trouble_window = true
|
||||||
|
trouble.toggle({
|
||||||
|
mode = "quickfix",
|
||||||
|
focus = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,14 @@ local function toggle_terminal()
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
|
local wm = require("window_management")
|
||||||
utils.add_keymaps({
|
utils.add_keymaps({
|
||||||
n = {
|
n = {
|
||||||
["<leader>h"] = {
|
["<leader>h"] = {
|
||||||
cmd = toggle_terminal
|
cmd = function()
|
||||||
|
toggle_terminal()
|
||||||
|
wm.autosize_windows()
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue