This commit is contained in:
Barrett Ruth 2025-09-12 09:22:04 -05:00
parent afd4cb2165
commit 2c23da2999
2 changed files with 13 additions and 12 deletions

View file

@ -16,7 +16,6 @@ if not vim.fn.has("nvim-0.10.0") then
return M
end
local function get_plugin_path()
local plugin_path = debug.getinfo(1, "S").source:sub(2)
return vim.fn.fnamemodify(plugin_path, ":h:h:h")
@ -218,7 +217,7 @@ local function diff_problem()
local actual_output = result.stdout
window.setup_diff_layout(actual_output, expected, input)
vim.g.cp_diff_mode = true
log("entered diff mode")
end

View file

@ -21,7 +21,7 @@ function M.save_layout()
}
end
end
return {
windows = windows,
current_win = vim.api.nvim_get_current_win(),
@ -30,11 +30,13 @@ function M.save_layout()
end
function M.restore_layout(state)
if not state then return end
if not state then
return
end
vim.cmd.diffoff()
vim.cmd(state.layout)
for win, win_state in pairs(state.windows) do
if vim.api.nvim_win_is_valid(win) then
vim.api.nvim_set_current_win(win)
@ -43,7 +45,7 @@ function M.restore_layout(state)
end
end
end
if vim.api.nvim_win_is_valid(state.current_win) then
vim.api.nvim_set_current_win(state.current_win)
end
@ -52,24 +54,24 @@ end
function M.setup_diff_layout(actual_output, expected_output, input_file)
vim.cmd.diffoff()
vim.cmd.only()
local output_lines = vim.split(actual_output, "\n")
local output_buf = vim.api.nvim_create_buf(false, true)
vim.api.nvim_buf_set_lines(output_buf, 0, -1, false, output_lines)
vim.bo[output_buf].filetype = "cpoutput"
vim.cmd.edit()
vim.api.nvim_set_current_buf(output_buf)
vim.cmd.diffthis()
M.clearcol()
vim.cmd.vsplit(expected_output)
vim.cmd.diffthis()
M.clearcol()
vim.cmd(("botright split %s"):format(input_file))
M.clearcol()
vim.cmd.wincmd("k")
end
return M
return M