diff options
| author | jdhao <jdhao@hotmail.com> | 2022-09-10 22:54:52 +0800 |
|---|---|---|
| committer | jdhao <jdhao@hotmail.com> | 2022-09-10 22:55:22 +0800 |
| commit | e5f1b4d22459efa51b5c570d5960f04a361777d7 (patch) | |
| tree | 6af94be7e56237ec0285ae2398ceed52a634297a | |
| parent | eaddee0c5cbf7581a73be77c7bb95c8e88640130 (diff) | |
use gitsigns for diff
Lualine's builtin diff often disappears and is not reliable, which is really frustrating for me.
| -rw-r--r-- | lua/config/statusline.lua | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lua/config/statusline.lua b/lua/config/statusline.lua index 30600bc..bb018ce 100644 --- a/lua/config/statusline.lua +++ b/lua/config/statusline.lua @@ -74,6 +74,21 @@ local function mixed_indent() end end +local diff = function() + local git_status = vim.b.gitsigns_status_dict + if git_status == nil then + return + end + + local modify_num = git_status.changed + local remove_num = git_status.removed + local add_num = git_status.added + + local info = { added = add_num, modified = modify_num, removed = remove_num } + -- vim.pretty_print(info) + return info +end + require("lualine").setup({ options = { icons_enabled = true, @@ -87,7 +102,13 @@ require("lualine").setup({ }, sections = { lualine_a = { "mode" }, - lualine_b = { "branch", "diff" }, + lualine_b = { + "branch", + { + 'diff', + source = diff + } + }, lualine_c = { "filename", { |
