---@class rmz.util local M = { ui = require("rmz.util.ui"), lazy = require("rmz.util.lazy"), lsp = require("rmz.util.lsp"), } --- Deduplicates a list. ---@generic T ---@param list T[] ---@return T[] function M.dedup(list) local ret = {} local seen = {} for _, v in ipairs(list) do if not seen[v] then table.insert(ret, v) seen[v] = true end end 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