mirror of
https://github.com/stevearc/aerial.nvim
synced 2024-09-16 14:34:08 +02:00
fix: don't collapse uncollapsable leaf nodes (#268)
This commit is contained in:
parent
4e7da79523
commit
c30fb2c9bd
2 changed files with 9 additions and 3 deletions
|
@ -96,7 +96,9 @@ function BufData:set_fold_level(level)
|
|||
level = math.min(99, math.max(0, level))
|
||||
self.collapse_level = level
|
||||
for _, item in ipairs(self.flat_items) do
|
||||
self:set_collapsed(item, level <= item.level)
|
||||
if self:is_collapsable(item) then
|
||||
self:set_collapsed(item, level <= item.level)
|
||||
end
|
||||
end
|
||||
return level
|
||||
end
|
||||
|
|
|
@ -182,8 +182,12 @@ M.decrease_fold_level = function(bufnr, count)
|
|||
end
|
||||
local bufdata = data.get_or_create(bufnr)
|
||||
-- If the current level is 99, start the decrement from the max level instead
|
||||
-- (+1 because the leaves can actually be folded/collapsed)
|
||||
local start = math.min(bufdata.collapse_level, bufdata.max_level + 1)
|
||||
local max_level = bufdata.max_level
|
||||
-- When folding is enabled, leaves can be folded so add 1
|
||||
if config.manage_folds(bufnr) and config.link_tree_to_folds then
|
||||
max_level = max_level + 1
|
||||
end
|
||||
local start = math.min(bufdata.collapse_level, max_level)
|
||||
M.set_collapse_level(bufnr, start - count)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue