X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/b47ffe60e244c9165f40371736079320ea2d848b..9d8f4bf3dcc34ae97a8e2588f49117e5612dee2c:/nvim/lua/rmz/util/init.lua diff --git a/nvim/lua/rmz/util/init.lua b/nvim/lua/rmz/util/init.lua index 9ef8cb3..abf0c21 100644 --- a/nvim/lua/rmz/util/init.lua +++ b/nvim/lua/rmz/util/init.lua @@ -1,6 +1,8 @@ ---@class rmz.util local M = { ui = require("rmz.util.ui"), + lazy = require("rmz.util.lazy"), + lsp = require("rmz.util.lsp"), } --- Deduplicates a list. @@ -19,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