From 8e120c40e9857e0456c4d3d826597cdb1413771e Mon Sep 17 00:00:00 2001 From: odrling Date: Sun, 18 Sep 2022 05:52:06 +0200 Subject: [PATCH] fix(signs): hunks can be nil --- lua/gitsigns/manager.lua | 5 ++++- teal/gitsigns/manager.tl | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lua/gitsigns/manager.lua b/lua/gitsigns/manager.lua index ffa9ceef..ded9b96c 100644 --- a/lua/gitsigns/manager.lua +++ b/lua/gitsigns/manager.lua @@ -58,6 +58,9 @@ local function apply_win_signs(bufnr, hunks, top, bot, clear) end + hunks = hunks or {} + + @@ -65,7 +68,7 @@ local function apply_win_signs(bufnr, hunks, top, bot, clear) signs:add(bufnr, gs_hunks.calc_signs(hunks[1], hunks[1].added.start, hunks[1].added.start)) end - for _, hunk in ipairs(hunks or {}) do + for _, hunk in ipairs(hunks) do if top <= hunk.vend and bot >= hunk.added.start then signs:add(bufnr, gs_hunks.calc_signs(hunk, top, bot)) end diff --git a/teal/gitsigns/manager.tl b/teal/gitsigns/manager.tl index bf8545d5..806ef409 100644 --- a/teal/gitsigns/manager.tl +++ b/teal/gitsigns/manager.tl @@ -57,6 +57,9 @@ local function apply_win_signs(bufnr: integer, hunks: {Hunk}, top: integer, bot: signs:remove(bufnr) -- Remove all signs end + -- hunks can be nil + hunks = hunks or {} + -- To stop the sign column width changing too much, if there are signs to be -- added but none of them are visible in the window, then make sure to add at -- least one sign. Only do this on the first call after an update when we all @@ -65,7 +68,7 @@ local function apply_win_signs(bufnr: integer, hunks: {Hunk}, top: integer, bot: signs:add(bufnr, gs_hunks.calc_signs(hunks[1], hunks[1].added.start, hunks[1].added.start)) end - for _, hunk in ipairs(hunks or {}) do + for _, hunk in ipairs(hunks) do if top <= hunk.vend and bot >= hunk.added.start then signs:add(bufnr, gs_hunks.calc_signs(hunk, top, bot)) end