From 310763c6137bebfddad344bf5f4a7aa9a305a38a Mon Sep 17 00:00:00 2001 From: Cesar Enrique Ramirez Date: Sun, 2 Aug 2026 17:57:45 +0200 Subject: [PATCH] fix(panels): clear inherited status column --- lua/codediff/ui/explorer/render.lua | 1 + lua/codediff/ui/history/render.lua | 1 + tests/ui/explorer/explorer_window_layout_spec.lua | 8 ++++++++ tests/ui/history/history_layout_spec.lua | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/lua/codediff/ui/explorer/render.lua b/lua/codediff/ui/explorer/render.lua index 8bd6cc39..13570d9f 100644 --- a/lua/codediff/ui/explorer/render.lua +++ b/lua/codediff/ui/explorer/render.lua @@ -89,6 +89,7 @@ function M.create(status_result, git_root, tabpage, width, base_revision, target wrap = false, signcolumn = "no", foldcolumn = "0", + statuscolumn = "", spell = false, winfixwidth = true, winfixheight = true, diff --git a/lua/codediff/ui/history/render.lua b/lua/codediff/ui/history/render.lua index 7355b55e..46402ee5 100644 --- a/lua/codediff/ui/history/render.lua +++ b/lua/codediff/ui/history/render.lua @@ -131,6 +131,7 @@ function M.create(commits, git_root, tabpage, width, opts) wrap = false, signcolumn = "no", foldcolumn = "0", + statuscolumn = "", spell = false, }, }) diff --git a/tests/ui/explorer/explorer_window_layout_spec.lua b/tests/ui/explorer/explorer_window_layout_spec.lua index 7772d04b..6a8a1d3d 100644 --- a/tests/ui/explorer/explorer_window_layout_spec.lua +++ b/tests/ui/explorer/explorer_window_layout_spec.lua @@ -7,8 +7,11 @@ h.ensure_plugin_loaded() describe("Explorer window layout", function() local repo + local original_statuscolumn before_each(function() + original_statuscolumn = vim.o.statuscolumn + vim.o.statuscolumn = "%s%=%l %C " require("codediff").setup({}) repo = h.create_temp_git_repo() repo.write_file("file1.txt", { "line 1", "line 2" }) @@ -21,6 +24,7 @@ describe("Explorer window layout", function() end) after_each(function() + vim.o.statuscolumn = original_statuscolumn h.close_extra_tabs() if repo then repo.cleanup() @@ -34,6 +38,10 @@ describe("Explorer window layout", function() local explorer_win = h.find_window_by_filetype("codediff-explorer") assert.is_not_nil(explorer_win, "explorer window not found") + assert.equal("", vim.wo[explorer_win].statuscolumn, + "explorer should not inherit the user's status column") + assert.equal(0, vim.fn.getwininfo(explorer_win)[1].textoff, + "explorer rows should use the full window width") local wins = vim.api.nvim_tabpage_list_wins(0) assert.is_true(#wins >= 3, "expected at least 3 windows (explorer + 2 diff panes), got " .. #wins) diff --git a/tests/ui/history/history_layout_spec.lua b/tests/ui/history/history_layout_spec.lua index a05b16c8..c241757f 100644 --- a/tests/ui/history/history_layout_spec.lua +++ b/tests/ui/history/history_layout_spec.lua @@ -5,8 +5,11 @@ h.ensure_plugin_loaded() describe("History layout", function() local repo + local original_statuscolumn before_each(function() + original_statuscolumn = vim.o.statuscolumn + vim.o.statuscolumn = "%s%=%l %C " require("codediff").setup({}) repo = h.create_temp_git_repo() repo.write_file("file.txt", { "version 1" }) @@ -22,6 +25,7 @@ describe("History layout", function() end) after_each(function() + vim.o.statuscolumn = original_statuscolumn h.close_extra_tabs() if repo then repo.cleanup() @@ -40,6 +44,10 @@ describe("History layout", function() local history_win, history_buf = h.find_window_by_filetype("codediff-history") assert.is_not_nil(history_win) assert.is_not_nil(history_buf) + assert.equal("", vim.wo[history_win].statuscolumn, + "history should not inherit the user's status column") + assert.equal(0, vim.fn.getwininfo(history_win)[1].textoff, + "history rows should use the full window width") local content = h.get_buffer_content(history_buf) local lines = h.get_buffer_lines(history_buf)