Use terminal buffer instead of normal buffer

This commit is contained in:
MarcHamamji 2023-02-10 23:42:13 +02:00
parent 064847ec11
commit cffa48e7a2
2 changed files with 2 additions and 42 deletions

View File

@ -20,36 +20,13 @@ M.shell_handler = function(command, editable)
end
local current_buffer_name = vim.api.nvim_buf_get_name(code_buffer)
local output_buffer = utils.create_buffer('OUTPUT - ' .. current_buffer_name)
vim.api.nvim_create_autocmd('BufHidden', {
buffer = output_buffer,
callback = function()
vim.schedule(function()
vim.api.nvim_buf_delete(output_buffer, {})
vim.fn.jobstop(M._job_id)
M._job_id = nil
print('Terminated running process')
end)
end
})
local output_window = utils.create_window()
vim.api.nvim_win_set_buf(output_window, output_buffer)
local add_line = utils.create_add_line(output_buffer)
if M._job_id then
vim.fn.jobstop(M._job_id)
M._job_id = nil
end
M._job_id = vim.fn.jobstart(command, {
pty = true,
cwd = vim.fn.getcwd(),
on_stdout = add_line,
on_stderr = add_line
vim.fn.termopen(command, {
cwd = vim.fn.getcwd()
})
end
end

View File

@ -1,5 +1,3 @@
local baleia = require('baleia').setup {}
local M = {}
M._buffer = nil
@ -47,21 +45,6 @@ M.create_window = function()
return window
end
M.create_add_line = function(buffer)
return function(_, data)
vim.api.nvim_buf_set_option(buffer, 'modifiable', true)
local row = vim.api.nvim_buf_line_count(buffer) - 1
local col = vim.fn.len(vim.api.nvim_buf_get_lines(buffer, -2, -1, false)[1])
baleia.buf_set_text(buffer, row, col, row, col, vim.tbl_map(
function(d)
return vim.fn.trim(d, ('\x0D'))
end,
data
))
vim.api.nvim_buf_set_option(buffer, 'modifiable', false)
end
end
M.run_command = function(command, callback)
local output = {}