From f88871bc4ed2d5e955a02ffffe84396963562ff9 Mon Sep 17 00:00:00 2001 From: FaultyBranches Date: Wed, 8 Jul 2026 18:13:05 -0500 Subject: [PATCH] fix: Formatting and addition/disable of folding visualization in the new statuscolumn --- nvim/lua/statuscolumn.lua | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/nvim/lua/statuscolumn.lua b/nvim/lua/statuscolumn.lua index a1a03c3..b8ac179 100644 --- a/nvim/lua/statuscolumn.lua +++ b/nvim/lua/statuscolumn.lua @@ -1,10 +1,36 @@ local statuscolumn = {} -statuscolumn.border = function () +statuscolumn.border = function() return '│' end -statuscolumn.numbers = function (config) +statuscolumn.folds = function() + local foldlevel = vim.fn.foldlevel(vim.v.lnum) + local foldlevel_before = vim.fn.foldlevel((vim.v.lnum - 1) >= 1 and vim.v.lnum - 1 or 1) + local foldlevel_after = vim.fn.foldlevel((vim.v.lnum + 1) <= vim.fn.line('$') and (vim.v.lnum + 1) or vim.fn.line('$')) + + local foldclosed = vim.fn.foldclosed(vim.v.lnum) + + if foldlevel == 0 then + return ' ' + end + + if foldclosed ~= -1 and foldclosed == vim.v.lnum then + return '▶' + end + + if foldlevel > foldlevel_before then + return '▽' + end + + if foldlevel > foldlevel_after then + return '╰' + end + + return '╎' +end + +statuscolumn.numbers = function() return string.format('%-3s %2s ', vim.v.lnum, vim.v.relnum) end @@ -15,6 +41,7 @@ statuscolumn.statusColumn = function() '%s', statuscolumn.numbers(), statuscolumn.border(), + -- statuscolumn.folds(), ' ', }) return column_text