dotfiles/nvim/lua/custom/plugins/focus.lua

48 lines
1.3 KiB
Lua
Raw Normal View History

2024-06-01 16:02:42 -07:00
-- Resize window to prioritize the focused on.
-- https://github.com/nvim-focus/focus.nvim
return {
'nvim-focus/focus.nvim',
2024-06-14 15:19:28 -07:00
event = 'VeryLazy',
2024-06-01 16:02:42 -07:00
opts = {
enable = true,
ui = {
-- Display line numbers in the focused window only.
hybridnumber = true,
2024-06-14 15:19:28 -07:00
-- Display signcolumn in the focused window only.
2024-06-01 16:02:42 -07:00
signcolumn = true,
},
},
config = function()
2024-06-14 15:19:28 -07:00
require('focus').setup {}
2024-06-14 15:19:28 -07:00
local ignore_buftypes = { 'dbui' }
2024-07-13 18:21:32 -07:00
local ignore_filetypes = { 'dbui', 'dapui_breakpoints', 'dapui_stacks', 'dapui_scopes', 'dap_repl', 'dapui_console' }
local augroup = vim.api.nvim_create_augroup('FocusDisable', { clear = true })
vim.api.nvim_create_autocmd('WinEnter', {
group = augroup,
callback = function(_)
if vim.tbl_contains(ignore_buftypes, vim.bo.buftype) then
vim.w.focus_disable = true
else
vim.w.focus_disable = false
end
end,
desc = 'Disable focus autoresize for BufType',
})
2024-06-14 15:19:28 -07:00
vim.api.nvim_create_autocmd('FileType', {
group = augroup,
callback = function(_)
if vim.tbl_contains(ignore_filetypes, vim.bo.filetype) then
vim.b.focus_disable = true
else
vim.b.focus_disable = false
end
end,
desc = 'Disable focus autoresize for FileType',
})
end,
2024-06-01 16:02:42 -07:00
}