Files
outline.nvim/lua/outline/folding.lua
hedy dc55a8b942 chore(fmt): Finally let's use stylua
Hoping it's as good as go-fmt
2023-11-17 09:28:33 +08:00

31 lines
691 B
Lua

local M = {}
local cfg = require('outline.config')
---@param node outline.SymbolNode|outline.FlatSymbolNode
function M.is_foldable(node)
return node.children and #node.children > 0
end
---@param depth integer
local function get_default_folded(depth)
local fold_past = cfg.o.symbol_folding.autofold_depth
if not fold_past then
return false
else
return depth >= fold_past
end
end
---@param node outline.SymbolNode|outline.FlatSymbolNode
function M.is_folded(node)
if node.folded ~= nil then
return node.folded
elseif node.hovered and cfg.o.symbol_folding.auto_unfold_hover then
return false
else
return get_default_folded(node.depth)
end
end
return M