marleyvim/nvim/lua/lib/lazyvim/ui.lua
2024-11-28 13:16:11 -08:00

25 lines
702 B
Lua

--https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/util/ui.lua
---@class lib.lazyvim.ui
local M = {}
-- Optimized treesitter foldexpr for Neovim >= 0.10.0
function M.foldexpr()
local buf = vim.api.nvim_get_current_buf()
if vim.b[buf].ts_folds == nil then
-- as long as we don't have a filetype, don't bother checking if treesitter
-- is available (it won't be)
if vim.bo[buf].filetype == '' then
return '0'
end
if vim.bo[buf].filetype:find('dashboard') then
vim.b[buf].ts_folds = false
else
vim.b[buf].ts_folds = pcall(vim.treesitter.get_parser, buf)
end
end
return vim.b[buf].ts_folds and vim.treesitter.foldexpr() or '0'
end
return M