From a9e2efb82b0f6aef6249b74ec435258dcbf074b9 Mon Sep 17 00:00:00 2001 From: Francis Belanger Date: Mon, 28 Sep 2026 10:58:50 -0400 Subject: [PATCH] Revert "fix: clear input contents on submit (#497)" This reverts commit 471650b83a58653cea44638dbce6215ebc6f7dae. --- lua/opencode/ui/input_window.lua | 4 -- tests/unit/input_window_spec.lua | 80 -------------------------------- 2 files changed, 84 deletions(-) diff --git a/lua/opencode/ui/input_window.lua b/lua/opencode/ui/input_window.lua index 3bac31c8a..cc97f8312 100644 --- a/lua/opencode/ui/input_window.lua +++ b/lua/opencode/ui/input_window.lua @@ -133,10 +133,6 @@ function M.handle_submit() local input_content = table.concat(vim.api.nvim_buf_get_lines(windows.input_buf, 0, -1, false), '\n') vim.api.nvim_buf_set_lines(windows.input_buf, 0, -1, false, {}) - vim.api.nvim_exec_autocmds('TextChanged', { - buffer = windows.input_buf, - modeline = false, - }) if input_content == '' then return false diff --git a/tests/unit/input_window_spec.lua b/tests/unit/input_window_spec.lua index 24cd5396a..1d7435f5e 100644 --- a/tests/unit/input_window_spec.lua +++ b/tests/unit/input_window_spec.lua @@ -1,6 +1,5 @@ local input_window = require('opencode.ui.input_window') local state = require('opencode.state') -local stub = require('luassert.stub') describe('input_window', function() describe('shell command execution', function() @@ -359,85 +358,6 @@ describe('input_window', function() end) end) - describe('message submit clearing', function() - local input_buf, output_buf, input_win, output_win - local messaging - - before_each(function() - messaging = require('opencode.services.messaging') - - input_buf = vim.api.nvim_create_buf(false, true) - output_buf = vim.api.nvim_create_buf(false, true) - input_win = vim.api.nvim_open_win(input_buf, true, { - relative = 'editor', - width = 80, - height = 10, - row = 0, - col = 0, - }) - output_win = vim.api.nvim_open_win(output_buf, false, { - relative = 'editor', - width = 80, - height = 10, - row = 11, - col = 0, - }) - - state.ui.set_windows({ - input_buf = input_buf, - input_win = input_win, - output_buf = output_buf, - output_win = output_win, - }) - end) - - after_each(function() - pcall(vim.api.nvim_win_close, input_win, true) - pcall(vim.api.nvim_win_close, output_win, true) - pcall(vim.api.nvim_buf_delete, input_buf, { force = true }) - pcall(vim.api.nvim_buf_delete, output_buf, { force = true }) - state.ui.clear_windows() - state.ui.set_input_content(nil) - end) - - it('clears input buffer and state.input_content after submitting', function() - stub(messaging, 'send_message').invokes(function() end) - - local group = vim.api.nvim_create_augroup('test_input_window_submit', { clear = true }) - input_window.setup_autocmds(state.windows, group) - - vim.api.nvim_buf_set_lines(input_buf, 0, -1, false, { 'hello world' }) - state.ui.set_input_content({ 'hello world' }) - - input_window.handle_submit() - - assert.same({ '' }, vim.api.nvim_buf_get_lines(input_buf, 0, -1, false)) - assert.same({ '' }, state.input_content) - assert.stub(messaging.send_message).was_called_with('hello world') - - messaging.send_message:revert() - vim.api.nvim_del_augroup_by_id(group) - end) - - it('does not restore the submitted message on recover_input', function() - stub(messaging, 'send_message').invokes(function() end) - - local group = vim.api.nvim_create_augroup('test_input_window_submit_restore', { clear = true }) - input_window.setup_autocmds(state.windows, group) - - vim.api.nvim_buf_set_lines(input_buf, 0, -1, false, { 'hello world' }) - state.ui.set_input_content({ 'hello world' }) - - input_window.handle_submit() - input_window.recover_input(state.windows) - - assert.same({ '' }, vim.api.nvim_buf_get_lines(input_buf, 0, -1, false)) - - messaging.send_message:revert() - vim.api.nvim_del_augroup_by_id(group) - end) - end) - describe('auto-hide behavior', function() local input_buf, output_buf, input_win, output_win local original_config