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