X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/9c96d4096019fc7bd164c5fb35790762edc0c8e8..9d8f4bf3dcc34ae97a8e2588f49117e5612dee2c:/nvim/lua/rmz/util/init.lua diff --git a/nvim/lua/rmz/util/init.lua b/nvim/lua/rmz/util/init.lua index 54d8f6b..abf0c21 100644 --- a/nvim/lua/rmz/util/init.lua +++ b/nvim/lua/rmz/util/init.lua @@ -21,4 +21,21 @@ function M.dedup(list) return ret end +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) + 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