From 7d8d00c5ad3523fe0c8b13dd09efe9828c73a1cd Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Wed, 5 Nov 2025 13:10:17 -0500 Subject: [PATCH] fix(ui): correct output buf --- lua/cp/setup.lua | 15 +++++++++++++++ lua/cp/ui/views.lua | 1 - 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lua/cp/setup.lua b/lua/cp/setup.lua index 8939395..d05b417 100644 --- a/lua/cp/setup.lua +++ b/lua/cp/setup.lua @@ -216,7 +216,16 @@ function M.setup_problem(problem_id, language) return end + local old_problem_id = state.get_problem_id() state.set_problem_id(problem_id) + + if old_problem_id ~= problem_id then + local io_state = state.get_io_view_state() + if io_state and io_state.output_buf and vim.api.nvim_buf_is_valid(io_state.output_buf) then + local utils = require('cp.utils') + utils.update_buffer_content(io_state.output_buf, {}, nil, nil) + end + end local config = config_module.get_config() local lang = language or (config.platforms[platform] and config.platforms[platform].default_language) @@ -369,6 +378,12 @@ function M.navigate_problem(direction, language) end end + local io_state = state.get_io_view_state() + if io_state and io_state.output_buf and vim.api.nvim_buf_is_valid(io_state.output_buf) then + local utils = require('cp.utils') + utils.update_buffer_content(io_state.output_buf, {}, nil, nil) + end + M.setup_contest(platform, contest_id, problems[new_index].id, lang) end diff --git a/lua/cp/ui/views.lua b/lua/cp/ui/views.lua index 964b8b0..7b51f29 100644 --- a/lua/cp/ui/views.lua +++ b/lua/cp/ui/views.lua @@ -736,7 +736,6 @@ function M.toggle_panel(panel_opts) end end end - state.set_io_view_state(nil) end local session_file = vim.fn.tempname()