This commit is contained in:
MarcHamamji 2023-02-14 14:53:39 +02:00
parent cffa48e7a2
commit f1063e0991
2 changed files with 8 additions and 11 deletions

View File

@ -14,13 +14,12 @@ M.shell_handler = function(command, editable)
if editable == nil then if editable == nil then
editable = false editable = false
end end
return function(code_buffer) return function(_)
if editable then if editable then
command = vim.fn.input('Command: ', command) command = vim.fn.input('Command: ', command)
end end
local current_buffer_name = vim.api.nvim_buf_get_name(code_buffer) local output_buffer = utils.create_buffer()
local output_buffer = utils.create_buffer('OUTPUT - ' .. current_buffer_name)
local output_window = utils.create_window() local output_window = utils.create_window()
vim.api.nvim_win_set_buf(output_window, output_buffer) vim.api.nvim_win_set_buf(output_window, output_buffer)

View File

@ -3,16 +3,12 @@ local M = {}
M._buffer = nil M._buffer = nil
M._window = nil M._window = nil
M.create_buffer = function(name) M.create_buffer = function()
if M._buffer and vim.api.nvim_buf_is_valid(M._buffer) then if M._buffer then
vim.api.nvim_buf_set_option(M._buffer, 'modifiable', true) vim.api.nvim_buf_delete(M._buffer, {})
vim.api.nvim_buf_set_lines(M._buffer, 0, -1, false, {})
vim.api.nvim_buf_set_option(M._buffer, 'modifiable', false)
return M._buffer
end end
local buffer = vim.api.nvim_create_buf(true, true) local buffer = vim.api.nvim_create_buf(true, true)
vim.api.nvim_buf_set_name(buffer, name)
vim.api.nvim_buf_set_option(buffer, 'modifiable', false) vim.api.nvim_buf_set_option(buffer, 'modifiable', false)
M._buffer = buffer M._buffer = buffer
@ -20,9 +16,11 @@ M.create_buffer = function(name)
end end
M.create_window = function() M.create_window = function()
if M._window and vim.api.nvim_win_is_valid(M._window) and vim.api.nvim_win_get_buf(M._window) == M._buffer then if M._window and vim.api.nvim_win_is_valid(M._window) then
vim.api.nvim_set_current_win(M._window)
return M._window return M._window
end end
vim.cmd [[ vsplit ]] vim.cmd [[ vsplit ]]
local window = vim.api.nvim_get_current_win() local window = vim.api.nvim_get_current_win()