diff --git a/lua/better-folds/folds.lua b/lua/better-folds/folds.lua new file mode 100644 index 0000000..ebb6693 --- /dev/null +++ b/lua/better-folds/folds.lua @@ -0,0 +1,18 @@ +local right = "" +local l = "ℓ" + +--  [9ℓ]: text_from_the_first_line  󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼󰇼 + +local M = {} + +function M.foldtext() + local foldstart, foldend = vim.v.foldstart, vim.v.foldend + local fold_length = foldend - foldstart + 1 + + local first_line = vim.fn.getline(foldstart) + local sanitized_first_line = string.gsub(first_line, "^%s*(.*)[{[]$", "%1") + + return string.format("%s [%i%s]: %s %s ", right, fold_length, l, sanitized_first_line, right) +end + +return M diff --git a/lua/better-folds/init.lua b/lua/better-folds/init.lua index eb123f4..a5bed97 100644 --- a/lua/better-folds/init.lua +++ b/lua/better-folds/init.lua @@ -1,7 +1,7 @@ local M = {} function M.setup() - vim.notify("hello") + vim.opt.foldtext = 'v:lua.require("better-folds.folds").foldtext()' end return M