Skip to content

Commit

Permalink
fix: adjust window width calculation if 'number' or 'relativenumber' (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
stevearc committed Dec 13, 2021
1 parent e35c609 commit a0a46ed
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lua/aerial/autocommands.lua
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ M.on_enter_buffer = function()
vim.cmd("quit")
else
-- Hack to ignore winwidth
vim.api.nvim_win_set_width(0, util.get_width())
util.set_win_width(0, util.get_width(0))
end
elseif window.is_open() then
close_orphans()
Expand Down
13 changes: 12 additions & 1 deletion lua/aerial/util.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,23 @@ M.set_width = function(bufnr, width)

for _, winid in ipairs(vim.api.nvim_list_wins()) do
if vim.api.nvim_win_get_buf(winid) == bufnr then
vim.api.nvim_win_set_width(winid, width)
M.set_win_width(winid, width)
end
end
return width
end

M.set_win_width = function(winid, width)
-- adjust width if buffer has line numbers
if
vim.api.nvim_win_get_option(winid, "number")
or vim.api.nvim_win_get_option(winid, "relativenumber")
then
width = math.min(config.max_width, width + vim.api.nvim_win_get_option(winid, "numberwidth"))
end
vim.api.nvim_win_set_width(winid, width)
end

M.get_height = function(bufnr)
local ok, height = pcall(vim.api.nvim_buf_get_var, bufnr or 0, "aerial_height")
if ok then
Expand Down
1 change: 0 additions & 1 deletion lua/aerial/window.lua
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ local function create_aerial_window(bufnr, aer_bufnr, direction, existing_win)
else
vim.cmd("noau vertical rightbelow split")
end
api.nvim_win_set_width(0, util.get_width(aer_bufnr))
end
else
util.go_win_no_au(existing_win)
Expand Down

0 comments on commit a0a46ed

Please sign in to comment.