From 88641682428c2f81eaff4a65e3898a694fbd641e Mon Sep 17 00:00:00 2001 From: triethyl Date: Tue, 5 Aug 2025 22:43:51 -0400 Subject: neovim: colored git status --- pkgs/custom-neovim/config/lua/statusline.lua | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'pkgs/custom-neovim/config') diff --git a/pkgs/custom-neovim/config/lua/statusline.lua b/pkgs/custom-neovim/config/lua/statusline.lua index 5fcf7eb..72ce6ca 100644 --- a/pkgs/custom-neovim/config/lua/statusline.lua +++ b/pkgs/custom-neovim/config/lua/statusline.lua @@ -159,11 +159,27 @@ statusline_components.git_branch = function() end statusline_components.git_status = function() - if vim.b.gitsigns_status then - return string.format(' %s ', vim.b.gitsigns_status) - else + if not vim.b.gitsigns_status_dict then return '' end + + local status = {} + + local gitsigns_status = vim.b.gitsigns_status_dict + + if gitsigns_status.added > 0 then + table.insert(status, hi_pattern:format("Added", ("+%s"):format(gitsigns_status.added))) + end + + if gitsigns_status.changed > 0 then + table.insert(status, hi_pattern:format("Changed", ("+%s"):format(gitsigns_status.changed))) + end + + if gitsigns_status.removed > 0 then + table.insert(status, hi_pattern:format("Removed", ("+%s"):format(gitsigns_status.removed))) + end + + return table.concat(status, " ") end statusline_components.working_directory = function() -- cgit v1.2.3